<?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>Jonathan Cremin</title>
	<atom:link href="http://crem.in/feed/" rel="self" type="application/rss+xml" />
	<link>http://crem.in</link>
	<description>Not&#160;designed&#160;for&#160;Internet&#160;Explorer</description>
	<lastBuildDate>Thu, 28 Jan 2010 14:34:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP caching and APC</title>
		<link>http://crem.in/2009/10/09/php-caching-and-apc/</link>
		<comments>http://crem.in/2009/10/09/php-caching-and-apc/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 20:34:21 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://crem.in/?p=305</guid>
		<description><![CDATA[A friend asked me recently about the caching options available to him with PHP on a linux stack. While he had looked into memcached and seen the difference it can make, he had overlooked APC.
APC, or Alternative PHP Cache, not only allows for faster pages through opcode caching, but also since v3.0.0, allows for users [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>A friend asked me recently about the caching options available to him with PHP on a linux stack. While he had looked into memcached and seen the difference it can make, he had overlooked APC.</p>
<p>APC, or Alternative PHP Cache, not only allows for faster pages through opcode caching, but also since v3.0.0, allows for users to store any kind of data in memory for access between and across all requests. See my example below for a better idea on how to use it.</p>
<pre><code>/* The first argument is the unique key which
 you will use to store some data later.
For globally cached data, the URL could make a good key,
and you could append the user id for user specific data.
The second argument is set to true or false depending
on whether APC finds data at the location,
if we don't find it, we know we need
to (re)generate it. */

$html = apc_fetch("unique_key_url", $success);
if(!$success)
{
	$html = big_and_slow_function();

	/*here the first argument is the key again,
	followed by the data to store and
	finally the time to live period in seconds */

	apc_add("unique_key_url", $html, 180);
}
echo $html;
</code></pre>
<p>Using a mechanism like this, you can see massive decreases in page load times. The friend I mentioned earlier brought his front page load time down from a number of seconds to low milliseconds.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/10/09/php-caching-and-apc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP and stdClass</title>
		<link>http://crem.in/2009/06/28/php-and-stdclass/</link>
		<comments>http://crem.in/2009/06/28/php-and-stdclass/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 23:44:09 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://crem.in/?p=279</guid>
		<description><![CDATA[The built in class stdClass can be instantiated manually for creating generic objects which you can then set member variables for, this is useful for passing objects to other functions or methods which expect to take an object as an argument. An even more likely usage is casting an array to an object which takes [...]


Related posts:<ol><li><a href='http://crem.in/2009/02/06/php-tips-1-foreach/' rel='bookmark' title='Permanent Link: PHP Tips #1: foreach'>PHP Tips #1: foreach</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The built in class stdClass can be instantiated manually for creating generic objects which you can then set member variables for, this is useful for passing objects to other functions or methods which expect to take an object as an argument. An even more likely usage is casting an array to an object which takes each value in the array and adds it as a member variable with the name based on the key in the array.</p>
<p><code>&lt;?php<br />
$obj = (object) array("foo" => "bar")<br />
echo $obj->foo; // outputs "bar"<br />
?&gt;<br />
</code></p>
<p>One place you might get caught out here is trying to directly access numerically indexed values on the object, this breaks PHP&#8217;s naming convention and does not work correctly even with escaping.</p>
<p><code>&lt;?php<br />
$obj = (object) array("foo"=>"bar","foobar");<br />
echo $obj->foo; //outputs "bar"<br />
echo $obj->{0}; //$x->0 would cause a syntax error, this simply causes a notice for being unable to find the variable.<br />
</code></p>


<p>Related posts:<ol><li><a href='http://crem.in/2009/02/06/php-tips-1-foreach/' rel='bookmark' title='Permanent Link: PHP Tips #1: foreach'>PHP Tips #1: foreach</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/06/28/php-and-stdclass/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTTP Auth with PHP</title>
		<link>http://crem.in/2009/06/27/http-auth-with-php/</link>
		<comments>http://crem.in/2009/06/27/http-auth-with-php/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 17:37:23 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://crem.in/?p=150</guid>
		<description><![CDATA[HTTP Auth has a number of practical uses even in complex PHP backed systems. A prime example, and the reason I had looked into it, is web service and API authentication. In this case it is much simpler for the client to provide the details in this manner rather than perform an extra request to [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>HTTP Auth has a number of practical uses even in complex PHP backed systems. A prime example, and the reason I had looked into it, is web service and API authentication. In this case it is much simpler for the client to provide the details in this manner rather than perform an extra request to grab an authorisation token. A basic example lifted from the PHP manual is below.</p>
<pre><code>&lt;?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
&nbsp;&nbsp;&nbsp;&nbsp;header('WWW-Authenticate: Basic realm="My Realm"');
&nbsp;&nbsp;&nbsp;&nbsp;header('HTTP/1.0 401 Unauthorized');
&nbsp;&nbsp;&nbsp;&nbsp;echo 'Text to send if user hits Cancel button';
&nbsp;&nbsp;&nbsp;&nbsp;exit;
} else {
&nbsp;&nbsp;&nbsp;&nbsp;echo "&lt;p&gt;Hello {$_SERVER['PHP_AUTH_USER']}.&lt;/p&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;echo "&lt;p&gt;You entered {$_SERVER['PHP_AUTH_PW']} as your password.&lt;/p&gt;";
}
?&gt;</code></pre>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/06/27/http-auth-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Web Text Widget</title>
		<link>http://crem.in/2009/06/17/three-web-text-widget/</link>
		<comments>http://crem.in/2009/06/17/three-web-text-widget/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:25:37 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[three]]></category>
		<category><![CDATA[webtext]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://jonathancremin.com/?p=273</guid>
		<description><![CDATA[In a follow up from my recent release of an API to Three mobile&#8217;s new web texts, I decided
to make an accessible interface for myself.
Being a Mac user, the quickest way to make this happen was through the dashboard. It&#8217;s terribly basic right now, with only two hours or so put into it so far, [...]


Related posts:<ol><li><a href='http://crem.in/2009/06/15/aib-and-three-webtext-php5-apis/' rel='bookmark' title='Permanent Link: AIB and Three Webtext PHP5 APIs'>AIB and Three Webtext PHP5 APIs</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In a follow up from my recent <a href="http://jonathancremin.com/2009/06/15/aib-and-three-webtext-php5-apis/">release of an API</a> to <a href="http://webtext.three.ie">Three mobile&#8217;s new web texts</a>, I decided<br />
to make an accessible interface for myself.</p>
<p>Being a Mac user, the quickest way to make this happen was through the dashboard. It&#8217;s terribly basic right now, with only two hours or so put into it so far, but it&#8217;s very usable.</p>
<p>You can get it from <a href="/releases">my releases</a> directory.</p>


<p>Related posts:<ol><li><a href='http://crem.in/2009/06/15/aib-and-three-webtext-php5-apis/' rel='bookmark' title='Permanent Link: AIB and Three Webtext PHP5 APIs'>AIB and Three Webtext PHP5 APIs</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/06/17/three-web-text-widget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AIB and Three Webtext PHP5 APIs</title>
		<link>http://crem.in/2009/06/15/aib-and-three-webtext-php5-apis/</link>
		<comments>http://crem.in/2009/06/15/aib-and-three-webtext-php5-apis/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 00:37:38 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[aib]]></category>
		<category><![CDATA[three]]></category>
		<category><![CDATA[webtext]]></category>

		<guid isPermaLink="false">http://jonathancremin.com/?p=241</guid>
		<description><![CDATA[Over the last day I&#8217;ve put together two PHP5 API classes (loosely termed, it&#8217;s screen scraping at heart) for online services I use, AIB online banking and Three&#8217;s newly launched webtexts. I&#8217;m releasing both under the LGPL license and you can find them in my open source releases directory.
Update: I&#8217;ve ported the Three API to [...]


Related posts:<ol><li><a href='http://crem.in/2009/06/17/three-web-text-widget/' rel='bookmark' title='Permanent Link: Three Web Text Widget'>Three Web Text Widget</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Over the last day I&#8217;ve put together two PHP5 API classes (loosely termed, it&#8217;s screen scraping at heart) for online services I use, AIB online banking and Three&#8217;s newly launched webtexts. I&#8217;m releasing both under the LGPL license and you can find them in my <a href="http://crem.in/releases">open source releases</a> directory.</p>
<p><em>Update: I&#8217;ve ported the Three API to Perl and added it to the three releases directory</em></p>


<p>Related posts:<ol><li><a href='http://crem.in/2009/06/17/three-web-text-widget/' rel='bookmark' title='Permanent Link: Three Web Text Widget'>Three Web Text Widget</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/06/15/aib-and-three-webtext-php5-apis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Tips #1: foreach</title>
		<link>http://crem.in/2009/02/06/php-tips-1-foreach/</link>
		<comments>http://crem.in/2009/02/06/php-tips-1-foreach/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 17:41:38 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php tips]]></category>

		<guid isPermaLink="false">http://jonathancremin.com/?p=215</guid>
		<description><![CDATA[I love foreach loops for their simplicity and readability, but they&#8217;re a bit quirky when it comes to PHP. Here&#8217;s a couple of tips I&#8217;ve picked up.
The following are functionally the same:
&#60;?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) {
&#160;&#160;&#160;&#160;echo "Key: $key; Value: $value\n";
}
foreach ($arr as $key => $value) {
&#160;&#160;&#160;&#160;echo "Key: $key; Value: $value\n";
}
?&#62;

Ever [...]


Related posts:<ol><li><a href='http://crem.in/2009/06/28/php-and-stdclass/' rel='bookmark' title='Permanent Link: PHP and stdClass'>PHP and stdClass</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I love foreach loops for their simplicity and readability, but they&#8217;re a bit quirky when it comes to PHP. Here&#8217;s a couple of tips I&#8217;ve picked up.</p>
<h3>The following are functionally the same:</h3>
<p><code>&lt;?php<br />
$arr = array("one", "two", "three");<br />
reset($arr);<br />
while (list($key, $value) = each($arr)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo "Key: $key; Value: $value<br />\n";<br />
}<br />
foreach ($arr as $key => $value) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo "Key: $key; Value: $value<br />\n";<br />
}<br />
?&gt;<br />
</code></p>
<h3>Ever want to drive straight into a foreach without checking that the array has elements?</h3>
<p><code>&lt;?php<br />
$non_array = null;<br />
foreach ((array) $non_array as $key => $value) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo "Key: $key; Value: $value<br />\n";<br />
}<br />
?&gt;<br />
</code></p>


<p>Related posts:<ol><li><a href='http://crem.in/2009/06/28/php-and-stdclass/' rel='bookmark' title='Permanent Link: PHP and stdClass'>PHP and stdClass</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/02/06/php-tips-1-foreach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crackulous Irony</title>
		<link>http://crem.in/2009/02/01/crackulous-irony/</link>
		<comments>http://crem.in/2009/02/01/crackulous-irony/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 15:29:43 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[localhostr]]></category>
		<category><![CDATA[crackulous]]></category>
		<category><![CDATA[dmca]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[irony]]></category>
		<category><![CDATA[leak]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://jonathancremin.com/?p=203</guid>
		<description><![CDATA[I just received this email and found it to be the picture of irony. To get you up to speed (I&#8217;d never heard of it either), &#8220;Crackulous&#8221; is an iPhone app that allows people to crack other apps for use on jailbroken iPhones. In short, it&#8217;s an app for pirating iPhone apps.

The copyrighted iPhone application [...]


Related posts:<ol><li><a href='http://crem.in/2008/06/10/iphone-3g/' rel='bookmark' title='Permanent Link: iPhone 3G'>iPhone 3G</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I just received this email and found it to be the picture of irony. To get you up to speed (I&#8217;d never heard of it either), &#8220;Crackulous&#8221; is an iPhone app that allows people to crack other apps for use on jailbroken iPhones. In short, it&#8217;s an app for pirating iPhone apps.</p>
<div class="quote">
<p>The copyrighted iPhone application Crackulous is hosted on the Localhostr servers at the URL mentioned below. In this instance, said materials are works of the mind and are thus copyrighted as per the Copyright Berne Convention of 1988. Additionally, a copyright notice is displayed to the user both upon obtaining said file, when they start the application for the first time, and in the about screen.</p>
<p><a href="http://localhostr.com/files/1f2de4/crackulous_rev71.zip">http://localhostr.com/files/1f2de4/crackulous_rev71.zip</a></p>
<p>My name is Elad Shahar, and I am the lead coder and technical director for the project known as &#8220;Crackulous,&#8221; and henceforth ask &#8211; as per the Digital Millennium Copyright Act Title II: Online Copyright Infringement Liability Limitation Act of 1999 signed into law by President Clinton on October 28th of 1998 &#8211; that you please take steps to expeditiously remove or disable access to mentioned materials.</p>
<p>I, Elad Shahar have a good faith belief that use of the copyrighted materials described above on the infringing web pages is not authorized by my registered copyright and by the law. I swear, under penalty of perjury, that the information in the notification is accurate and that I am the copyright owner of an exclusive right that is infringed.</p>
<p>Elad Shahar<br />
[Contact details redacted]
</p></div>
<p>The file named above <a href="http://www.funkyspacemonkey.com/crackulous-cancelled">contains the source code</a> for &#8220;Crackulous&#8221;. It seems Mr. Shahar AKA SaladFork is ok with his app being used to breach the copyrights of others. The source code is available all over file hosting sites and he&#8217;s probably now sending out DMCAs en masse because a public beta of the app has <a href="http://hackulo.us/forums/index.php?showtopic=12255">just been released</a>. </p>


<p>Related posts:<ol><li><a href='http://crem.in/2008/06/10/iphone-3g/' rel='bookmark' title='Permanent Link: iPhone 3G'>iPhone 3G</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2009/02/01/crackulous-irony/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Reasons I use Kohana over Codeigniter</title>
		<link>http://crem.in/2008/12/01/5-reasons-i-use-kohana-over-codeigniter/</link>
		<comments>http://crem.in/2008/12/01/5-reasons-i-use-kohana-over-codeigniter/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 10:08:53 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jonathancremin.com/?p=172</guid>
		<description><![CDATA[I orginally discovered Codeigniter about 18 months ago and I was delighted to find a PHP framework that behaved largely intuitively to me. As I got used to its quirks and adapted it to better suit me, I happened across a forked project called Kohana. Having built a number of applications with Kohana, I have [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I orginally discovered <a href="http://codeigniter.com">Codeigniter</a> about 18 months ago and I was delighted to find a PHP framework that behaved largely intuitively to me. As I got used to its quirks and adapted it to better suit me, I happened across a forked project called Kohana. Having built a number of applications with <a href="http://kohanaphp.com">Kohana</a>, I have yet to feel the need to modify its default behaviour in any significant way. It just fits well with me.</p>
<p>These features are my favourite benefits of using Kohana over Codeigniter:</p>
<ol>
<li>Seperation of system files and static content by default. No extra work is needed to seperate your application files from the framework system files</li>
<li>Static classes for helpers instead of functions, allowing logical grouping of utility functions.</li>
<li>Does not break $_GET variables. I don&#8217;t care what the CI proponents say, breaking $_GET is unacceptable.</li>
<li>The session driver can optionally use native sessions. An application on it&#8217;s own secure enviroment doesn&#8217;t need to worry about native session security like you do on shared servers.</li>
<li>Supports only PHP5+; PHP4 is dead, and PHP6 is not too far off, it&#8217;s time to cast off the dead weight.</li>
</ol>
<p>There&#8217;s plenty more things I like better in Kohana, but the 5 above will have to do for now.</p>
<p>Codeigniter does have one advantage, better documentation, but as Kohana matures so should its documentation.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2008/12/01/5-reasons-i-use-kohana-over-codeigniter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>localhostr uploadr</title>
		<link>http://crem.in/2008/09/29/localhostr-uploadr/</link>
		<comments>http://crem.in/2008/09/29/localhostr-uploadr/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 21:54:28 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[localhostr]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mike]]></category>
		<category><![CDATA[simon360]]></category>
		<category><![CDATA[uploadr]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://crem.in/?p=141</guid>
		<description><![CDATA[Back in June simon360 released his dashboard widget for uploading files to localhostr. Earlier this month Mike released a windows desktop app which does much the same. Both of them use mail&#8217;s awesome design. They have teamed up and launched a single site that you can get them both from, localhostruploadr.


Related posts:localhostr update



Related posts:<ol><li><a href='http://crem.in/2008/01/19/localhostr-update/' rel='bookmark' title='Permanent Link: localhostr update'>localhostr update</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Back in June <a href="http://simon360.com">simon360</a> released his dashboard widget for uploading files to localhostr. Earlier this month <a href="http://mjpa.co.uk">Mike</a> released a windows desktop app which does much the same. Both of them use <a href="http://mail.minthoster.com/">mail&#8217;s</a> awesome design. They have teamed up and launched a single site that you can get them both from, <a href="http://localhostruploadr.com">localhostruploadr</a>.</p>


<p>Related posts:<ol><li><a href='http://crem.in/2008/01/19/localhostr-update/' rel='bookmark' title='Permanent Link: localhostr update'>localhostr update</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2008/09/29/localhostr-uploadr/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Read Only Samba Shares on OS X Leopard</title>
		<link>http://crem.in/2008/08/28/read-only-samba-shares-on-os-x-leopard/</link>
		<comments>http://crem.in/2008/08/28/read-only-samba-shares-on-os-x-leopard/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 12:05:15 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[fat32]]></category>
		<category><![CDATA[lan]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[read only]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[shares]]></category>

		<guid isPermaLink="false">http://crem.in/?p=76</guid>
		<description><![CDATA[Currently on my iMac I have a couple of external disks attached that I want to share to the rest of my house. The problem though is that when sharing through Samba I can&#8217;t make the shares read only, OS X pretends to accept the permissions change in preferences &#62; sharing, but just changes it [...]


Related posts:<ol><li><a href='http://crem.in/2008/08/01/reloading-apache-from-within-php/' rel='bookmark' title='Permanent Link: Reloading Apache from within PHP'>Reloading Apache from within PHP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Currently on my iMac I have a couple of external disks attached that I want to share to the rest of my house. The problem though is that when sharing through Samba I can&#8217;t make the shares read only, OS X pretends to accept the permissions change in preferences &gt; sharing, but just changes it right back. After a little bit of poking I&#8217;ve got read only shares working.</p>
<p>Open a terminal and replacing {sharename} with the name of the share you set up in Preferences, type:<br />
<code>sudo nano /var/samba/shares/{sharename}</code></p>
<p>Now append the following line to the end of the file and hit ctrl-o to save.<br />
<code>read only = yes</code></p>
<p>Finally, reload the Samba config files using this:<br />
<code>sudo /usr/sbin/smbd reload</code></p>


<p>Related posts:<ol><li><a href='http://crem.in/2008/08/01/reloading-apache-from-within-php/' rel='bookmark' title='Permanent Link: Reloading Apache from within PHP'>Reloading Apache from within PHP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://crem.in/2008/08/28/read-only-samba-shares-on-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->