<?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>Glen Scott - Keeping it simple &#187; open source</title>
	<atom:link href="http://www.glenscott.co.uk/blog/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.glenscott.co.uk/blog</link>
	<description>Thoughts on software development and other geeky pursuits.</description>
	<lastBuildDate>Fri, 10 Feb 2012 17:23:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SimpleCrypt PHP class for simple cryptography</title>
		<link>http://www.glenscott.co.uk/blog/2012/02/09/simplecrypt-php-class-for-simple-cryptography/</link>
		<comments>http://www.glenscott.co.uk/blog/2012/02/09/simplecrypt-php-class-for-simple-cryptography/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 09:33:50 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/blog/?p=743</guid>
		<description><![CDATA[I have just pushed a simple class called SimpleCrypt to GitHub: https://github.com/glenscott/simple-crypt This is an OO wrapper around the most common mcrypt functions. An example of use: If you find it useful, please let me know!]]></description>
			<content:encoded><![CDATA[<p>I have just pushed a simple class called <code>SimpleCrypt</code> to GitHub:</p>
<p><a href="https://github.com/glenscott/simple-crypt">https://github.com/glenscott/simple-crypt</a></p>
<p>This is an OO wrapper around the most common mcrypt functions.  An example of use:</p>
<pre class="brush: php; title: ; notranslate">
require_once 'SimpleCrypt.php';

// show the algorithms available for use
print_r( SimpleCrypt::get_available_algorithms() );

// encrypt a string using Triple DES (CBC mode)
$crypt = new SimpleCrypt( 'tripledes', 'mysecretkey' );
$encrypted_data = $crypt-&gt;encrypt_data( 'stringtoencrypt' );
echo &quot;Encrypted data: &quot; . bin2hex( $encrypted_data ) . &quot;\n&quot;;
echo &quot;Decrypted data: &quot; . $crypt-&gt;decrypt_data( $encrypted_data ) . &quot;\n&quot;;
</pre>
<p>If you find it useful, please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2012/02/09/simplecrypt-php-class-for-simple-cryptography/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting started with MongoDB and PHP on Mac OS X</title>
		<link>http://www.glenscott.co.uk/blog/2011/10/06/getting-started-with-mongodb-and-php-on-mac-os-x/</link>
		<comments>http://www.glenscott.co.uk/blog/2011/10/06/getting-started-with-mongodb-and-php-on-mac-os-x/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:16:18 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/blog/?p=633</guid>
		<description><![CDATA[Introduction MongoDB is a document-orientated database written with scalability and high-performance in mind. It is one of a growing number of NoSQL systems &#8211; a database that does not rely on SQL or relational theory at all. Getting a MongoDB server working with PHP on Mac OS X is relatively straightforward, and this tutorial shows [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/sooey/5745780202/" title="NYã¿ã‚„ã’ã®Mongo goodsè²°ã£ãŸï¼ by junojp, on Flickr"><img src="http://farm3.static.flickr.com/2707/5745780202_154a6256c0.jpg" width="500" height="500" alt="NYã¿ã‚„ã’ã®Mongo goodsè²°ã£ãŸï¼"></a></p>
<h2>Introduction</h2>
<p><a href="http://www.mongodb.org/">MongoDB</a> is a document-orientated database written with scalability and high-performance in mind.  It is one of a growing number of NoSQL systems &#8211; a database that does not rely on SQL or relational theory at all.</p>
<p>Getting a MongoDB server working with PHP on Mac OS X is relatively straightforward, and this tutorial shows you how.</p>
<h2>Installing the MongoDB Server</h2>
<p>The first step requires you to download and install the actual MongoDB system.  The example shown below downloads v2.0.0 64 bit binaries for OS X.  For other binaries, please check out the <a href="http://www.mongodb.org/downloads">MongoDB Downloads</a> page.</p>
<pre class="brush: bash; title: ; notranslate">
cd /tmp
curl -O http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.0.tgz
tar zxvf mongodb-osx-x86_64-2.0.0.tgz
sudo mv mongodb-osx-x86_64-2.0.0 /usr/local/mongodb
mkdir /usr/local/mongodb/data
</pre>
<h2>Configuring the MongoDB server</h2>
<p>We need to create a small configuration file so that MongoDB knows where its data files reside.  Create the file <code>/usr/local/mongodb/mongod.conf</code> and add the following line:</p>
<pre class="brush: bash; title: ; notranslate">
dbpath = /usr/local/mongodb/data
</pre>
<h2>Starting MongoDB</h2>
<p>To manually start the MongoDB server, use the following command:</p>
<pre class="brush: bash; title: ; notranslate">
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongod.conf
</pre>
<p>This will start the server and will by default log all output to STDOUT.</p>
<h2>Installing the MongoDB PHP Extension</h2>
<p>Installing the PHP extension is simple:</p>
<pre class="brush: bash; title: ; notranslate">
sudo pecl install mongo
</pre>
<p>Once this has completed, add the following line to your <code>/etc/php.ini</code> file:</p>
<pre class="brush: bash; title: ; notranslate">
extension=mongo.so
</pre>
<p>Restart apache using <code>sudo apachectl restart</code>, and the extension should be available.  This can be verified with the <code>phpinfo</code> call:</p>
<p><img src="/images/mongo-php.png" width="600" height="372" alt="MongoDB extension for PHP" /></p>
<h2>Example PHP script</h2>
<p>To test your setup, the following simple script can be used to create a new collection and add two new records:</p>
<pre class="brush: php; title: ; notranslate">
    &lt;?php

    // connect
    $m = new Mongo();

    // select a database
    $db = $m-&gt;comedy;

    // select a collection (analogous to a relational database's table)
    $collection = $db-&gt;cartoons;

    // add a record
    $obj = array( &quot;title&quot; =&gt; &quot;Calvin and Hobbes&quot;, &quot;author&quot; =&gt; &quot;Bill Watterson&quot; );
    $collection-&gt;insert($obj);

    // add another record, with a different &quot;shape&quot;
    $obj = array( &quot;title&quot; =&gt; &quot;XKCD&quot;, &quot;online&quot; =&gt; true );
    $collection-&gt;insert($obj);

    // find everything in the collection
    $cursor = $collection-&gt;find();

    // iterate through the results
    foreach ($cursor as $obj) {
        echo $obj[&quot;title&quot;] . &quot;\n&quot;;
    }

    ?&gt;
</pre>
<p>The script should output the following:</p>
<pre>
Calvin and Hobbes
XKCD
</pre>
<p>And that&#8217;s it!  You now have a working MongoDB setup on Mac OS X.</p>
<p>For more information on the PHP extension for MongoDB, please see the following pages in the PHP Manual:</p>
<p><a href="http://php.net/manual/en/book.mongo.php">PHP: Mongo &#8211; Manual</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2011/10/06/getting-started-with-mongodb-and-php-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X Lion PHP upgrade &#8211; php.ini and Suhosin</title>
		<link>http://www.glenscott.co.uk/blog/2011/07/29/mac-os-x-lion-php-upgrade-php-ini-and-suhosin/</link>
		<comments>http://www.glenscott.co.uk/blog/2011/07/29/mac-os-x-lion-php-upgrade-php-ini-and-suhosin/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 10:58:57 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/blog/?p=517</guid>
		<description><![CDATA[If you have upgraded from Snow Leopard to the new OS X Lion, you will notice PHP has also been upgraded &#8211; from 5.2 to 5.3. A couple of points that I noticed post-install. Firstly, my existing /etc/php.ini file was moved to /etc/php.ini-5.2-previous. Restoring this was trivial: sudo cp /etc/php.ini-5.2-previous /etc/php.ini However, I noticed that [...]]]></description>
			<content:encoded><![CDATA[<p>If you have upgraded from Snow Leopard to the new OS X Lion, you will notice PHP has also been upgraded &#8211; from 5.2 to 5.3.</p>
<p>A couple of points that I noticed post-install.  Firstly, my existing <code>/etc/php.ini</code> file was moved to <code>/etc/php.ini-5.2-previous</code>.  Restoring this was trivial:</p>
<p><code>sudo cp /etc/php.ini-5.2-previous /etc/php.ini<br />
</code></p>
<p>However, I noticed that extensions previously installed under <code>/usr/lib/php/extensions/no-debug-non-zts-20090626/</code> had been removed.  So, if you have extensions that you wish to still use with 5.3, they will need to be re-built.</p>
<p>I also noticed that Apple have included the Suhosin patch and extension.  Suhosin is part of the <a href="http://www.hardened-php.net/">Hardened-PHP</a> project which aims to protect PHP applications against buffer-overflow and format string vulnerabilities.  In theory, this functionality should be transparent to your application &#8211; no configuration or code changes are required.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2011/07/29/mac-os-x-lion-php-upgrade-php-ini-and-suhosin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install mcrypt PHP extension on OS X Snow Leopard</title>
		<link>http://www.glenscott.co.uk/blog/2011/02/03/install-mcrypt-php-extension-on-os-x-snow-leopard/</link>
		<comments>http://www.glenscott.co.uk/blog/2011/02/03/install-mcrypt-php-extension-on-os-x-snow-leopard/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 23:08:22 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/blog/?p=508</guid>
		<description><![CDATA[Please note: The following instructions apply to Mac OS X 10.6 (Snow Leopard). I have an updated guide for how to install mcrypt on 10.7 (Lion). mcrypt is a useful extension to PHP if you would like to support a wide range of encryption algorithms within your code. This guide explains how you can enable [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/ev0luti0nary/5269693629/" title="Lock away the evil... by Ev0luti0nary, on Flickr"><img src="http://farm6.static.flickr.com/5128/5269693629_897ed25803.jpg" width="500" height="332" alt="Lock away the evil..."></a></p>
<p><em>Please note:  The following instructions apply to Mac OS X 10.6 (Snow Leopard).  I have an updated guide for how to <a href="http://www.glenscott.co.uk/blog/2011/08/29/install-mcrypt-php-extension-on-mac-os-x-lion/">install mcrypt on 10.7 (Lion)</a>.</em></p>
<p><a href="http://mcrypt.sourceforge.net/">mcrypt</a> is a useful extension to PHP if you would like to support a wide range of encryption algorithms within your code.</p>
<p>This guide explains how you can enable install mcrypt, along with the PHP extension, on Mac OS X 10.6.</p>
<h3>Xcode</h3>
<p>The Xcode package installs the necessary versions of tools like autoconf which is needed during the PHP extension compilation process. Make sure you have at least Xcode v3.2 installed; the install package is available on the Snow Leopard install DVD under the â€œOptional Installsâ€ folder.</p>
<h3>libmcrypt</h3>
<p><a href="http://www.sourceforge.net/projects/mcrypt">libmcrypt</a> is the library that provides the encryption functions.  We need to install this before building the PHP extension.</p>
<ul>
<li>Open up Terminal.app</li>
<li><code>export CFLAGS="-arch x86_64"</code></li>
<li>Download <a href="http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/">libmcrypt from sourceforge</a></li>
<li>Unpack the archive somewhere</li>
<li><code>cd libmcrypt</code></li>
<li><code>./configure --disable-shared</code></li>
<li><code>make</code></li>
<li><code>sudo make install</code></li>
</ul>
<h3>PHP Extension</h3>
<p>Once we have libmcrypt installed, we can build the PHP extension.</p>
<ul>
<li><a href="http://museum.php.net/php5/php-5.3.4.tar.gz">Download PHP 5.3.4 source (tar gz format)</a></li>
<li>Unpack the archive and <code>cd php-5.3.4/ext/mcrypt/</code></li>
<li>phpize</li>
</ul>
<p>You should see output similar to the following:</p>
<pre>
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
</pre>
<ul>
<li><code>./configure</code></li>
<li><code>make</code></li>
<li><code>sudo make install</code></li>
</ul>
<p>On successful install, you will see the following message:</p>
<pre>
Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20090626/
</pre>
<p>To enable the module, include the following line in your <code>/etc/php.ini</code> file:</p>
<pre>
extension = mcrypt.so
</pre>
<p>Finally, restart your Apache server:</p>
<pre>
sudo apachectl restart
</pre>
<p>And that&#8217;s it:  you should now be able to utilise the functions, as detailed in the <a href="http://uk3.php.net/mcrypt">PHP mcrypt documentation</a>.</p>
<p><a href="/images/mcrypt-106.png"><img src="/images/mcrypt-106-m.png" alt="mcrypt php extension"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2011/02/03/install-mcrypt-php-extension-on-os-x-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Normalize URL&#8217;s with PHP</title>
		<link>http://www.glenscott.co.uk/blog/2011/01/09/normalize-urls-with-php/</link>
		<comments>http://www.glenscott.co.uk/blog/2011/01/09/normalize-urls-with-php/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 18:29:40 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/blog/?p=497</guid>
		<description><![CDATA[I&#8217;ve posted to GitHub a PHP class that I&#8217;ve written which can handle URL normalization, as specified by RFC 3986. https://github.com/glenscott/url-normalizer Specifically, the following normalization steps are performed: Normalize case Decode unreserved characters Remove dot segments An example of use:]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted to GitHub a PHP class that I&#8217;ve written which can handle URL normalization, as specified by <a href="http://www.apps.ietf.org/rfc/rfc3986.html">RFC 3986</a>.</p>
<p><a href="https://github.com/glenscott/url-normalizer">https://github.com/glenscott/url-normalizer</a></p>
<p>Specifically, the following normalization steps are performed:</p>
<ol>
<li>Normalize case</li>
<li>Decode unreserved characters</li>
<li>Remove dot segments</li>
</ol>
<p>An example of use:</p>
<pre class="brush: php; title: ; notranslate">
require_once 'URLNormalizer.php';

$url = 'eXAMPLE://a/./b/../b/%63/%7bfoo%7d';
$un = new URLNormalizer();
$un-&gt;setUrl( $url );
echo $un-&gt;normalize();

// result: &quot;example://a/b/c/%7Bfoo%7D&quot;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2011/01/09/normalize-urls-with-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shared memory fix for PostgreSQL Mac installation</title>
		<link>http://www.glenscott.co.uk/blog/2008/12/24/shared-memory-fix-for-postgresql-mac-installation/</link>
		<comments>http://www.glenscott.co.uk/blog/2008/12/24/shared-memory-fix-for-postgresql-mac-installation/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 11:00:33 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[shm]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/?p=280</guid>
		<description><![CDATA[EnterpriseDB have kindly created a one-click installer for PostgreSQL, but unfortunately it doesn&#8217;t work out-of-the-box, at least not on my MacBook Pro. The problem is down to the amount of shared memory that is configured in OS X; by default it is 4Mb, and PostgreSQL requires 32Mb: The error message suggests looking at the README [...]]]></description>
			<content:encoded><![CDATA[<p>EnterpriseDB have kindly created a <a href="http://www.enterprisedb.com/products/pgdownload.do#osx">one-click installer for PostgreSQL</a>, but unfortunately it doesn&#8217;t work out-of-the-box, at least not on my MacBook Pro.  The problem is down to the amount of shared memory that is configured in OS X;  by default it is 4Mb, and PostgreSQL requires 32Mb:</p>
<p><img src="http://www.glenscott.co.uk/images/postgres-shared-memory-error.png" alt="Postgres installer error" /></p>
<p>The error message suggests looking at the README file, which actually doesn&#8217;t exist.  Luckily, there&#8217;s a simple fix;  to increase the shared memory to the required 32Mb, create or edit the <code>/etc/sysctl.conf</code> file and include the following lines:</p>
<pre>
kern.sysv.shmall=8192
kern.sysv.shmseg=64
kern.sysv.shmmni=256
kern.sysv.shmmin=1
kern.sysv.shmmax=33554432
</pre>
<p>Reboot your machine for the settings to take effect, and re-launch the PostgreSQL installer which should now work as normal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2008/12/24/shared-memory-fix-for-postgresql-mac-installation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sun and MySQL continue uneasy relationship</title>
		<link>http://www.glenscott.co.uk/blog/2008/12/03/sun-and-mysql-continue-uneasy-relationship/</link>
		<comments>http://www.glenscott.co.uk/blog/2008/12/03/sun-and-mysql-continue-uneasy-relationship/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 09:34:12 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/?p=262</guid>
		<description><![CDATA[As well as moving away from a completely open model, Sun&#8217;s MySQL has bigger issues: Sun has announced the official release of MySQL 5.1, a new version of the popular open source database software. Although Sun has declared that this version is ready for widespread adoption in production environments, MySQL creator Michael Widenius says that [...]]]></description>
			<content:encoded><![CDATA[<p>As well as <a href="http://www.glenscott.co.uk/2008/04/17/mysql-open-source-mostly/">moving away from a completely open model</a>, Sun&#8217;s MySQL has bigger issues:</p>
<blockquote><p>
Sun has announced the official release of MySQL 5.1, a new version of the popular open source database software. Although Sun has declared that this version is ready for widespread adoption in production environments, MySQL creator Michael Widenius says that it has &#8220;fatal bugs&#8221; that seriously undermine the quality of the release. </p></blockquote>
<p><a href="http://arstechnica.com/news.ars/post/20081201-mysql-creator-version-5-1-released-with-fatal-bugs.html">MySQL creator: version 5.1 released with &#8220;fatal bugs&#8221;<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2008/12/03/sun-and-mysql-continue-uneasy-relationship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: London Perl Workshop</title>
		<link>http://www.glenscott.co.uk/blog/2008/11/30/review-london-perl-workshop/</link>
		<comments>http://www.glenscott.co.uk/blog/2008/11/30/review-london-perl-workshop/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 21:31:17 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/?p=253</guid>
		<description><![CDATA[Spent an interesting morning in the company of many Perl mongers at the London Perl Workshop. Although I don&#8217;t use Perl as my primary language any more, it was was interesting to learn about the current movements of its London-based community. The talks I attended were: The Complete History of the Perle Mongers of Olde [...]]]></description>
			<content:encoded><![CDATA[<p>Spent an interesting morning in the company of many Perl mongers at the London Perl Workshop.  Although I don&#8217;t use Perl as my primary language any more, it was was interesting to learn about the current movements of its <a href="http://london.pm.org/">London-based community</a>.  The talks I attended were:</p>
<ul>
<li>The Complete History of the Perle Mongers of Olde London Towne  &#8211; Dave Cross</li>
<li>DBIx::Class for (advanced) beginnersâ€Ž &#8211; Leo Lapworth</li>
<li>closures for fun and maybe profitâ€Ž &#8211; David Cantrell</li>
<li>Catalyst, DBIx::Class and PostgreSQL -â€Ž Matt Trout</li>
<li>â€ŽIntroduction to Moose &#8211; Mike Whitaker</li>
</ul>
<p>In particular, DBIx::Class caught my eye as a nice way of abstracting database details behind more friendly object methods.  Although, as the <a href="http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class.pm#CONTRIBUTORS">list of contributors</a> shows, this is a highly complex problem to solve and achieving a &#8220;one size fits all&#8221; solution may be unrealistic.</p>
<p>Matt Trout&#8217;s talk was a little disappointing.  Although I admired his passion and enthusiasm, there was far too much crammed in the 40 minute talk.  Just concentrating on one aspect of the development process would been more useful.  However, saying that, he did enough to convince me that I need to revisit PostgreSQL at some point in the future.</p>
<p>My colleague Mike Whitaker talked about the &#8220;postmodern object system&#8221;, <a href="http://www.iinteractive.com/moose/">Moose</a>.  There was lots of questions by the end of the talk, which was a good sign that the introduction had achieved its aim.</p>
<p>Overall, a good experience and a reminder that the Perl community is very much alive and well.</p>
<ul>
<li><a href="http://conferences.yapceurope.org/lpw2008/">London Perl Workshop</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2008/11/30/review-london-perl-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real World Lisp</title>
		<link>http://www.glenscott.co.uk/blog/2008/11/26/real-world-lisp/</link>
		<comments>http://www.glenscott.co.uk/blog/2008/11/26/real-world-lisp/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:42:26 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[lisp]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/?p=251</guid>
		<description><![CDATA[Prompted by a question posed by one of my colleagues today, &#8220;has anyone ever used Lisp?&#8221;, I surprisingly found myself being the only person that had. I played around with it many years ago after being inspired by Eric S. Raymond&#8217;s seminal article, &#8220;How to Become A Hacker&#8221; in which he explained that &#8220;getting&#8221; Lisp [...]]]></description>
			<content:encoded><![CDATA[<p>Prompted by a question posed by one of my colleagues today, &#8220;has anyone ever used Lisp?&#8221;, I surprisingly found myself being the only person that had.</p>
<p>I played around with it many years ago after being inspired by Eric S. Raymond&#8217;s seminal article, <a href="http://www.catb.org/~esr/faqs/hacker-howto.html">&#8220;How to Become A Hacker&#8221;</a> in which he explained that &#8220;getting&#8221; Lisp is equalivent to finding programming nirvana.  </p>
<p>Whilst I didn&#8217;t quite reach those levels, I found that using Lisp was a great learning experience.  Despite it being half a century old, it is still a relevant language today;  the online <em>Practical Common Lisp</em> book contains examples of a spam filter, an ID3 tag parser and other real-world examples.</p>
<p>The following two links are for the curious who might wish to try it out:</p>
<ul>
<li><a href="http://www.newartisans.com/software/readylisp.html">Ready Lisp: Common Lisp for Mac OS X</a></li>
<li><a href="http://www.gigamonkeys.com/book/">Practical Common Lisp</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2008/11/26/real-world-lisp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrowserPlus to become Open Source</title>
		<link>http://www.glenscott.co.uk/blog/2008/11/20/browserplus-to-become-open-source/</link>
		<comments>http://www.glenscott.co.uk/blog/2008/11/20/browserplus-to-become-open-source/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 08:56:04 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[browserplus]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.glenscott.co.uk/?p=238</guid>
		<description><![CDATA[The new BrowserPlus framework &#8211; a way of extending your browser capabilities &#8211; will become open source next year, which seems a sensible way to increase its adoption: The big idea here is that we&#8217;ll have the whole platform open sourced by mid-next year, and as soon as possible we&#8217;ll have many of the services [...]]]></description>
			<content:encoded><![CDATA[<p>The new BrowserPlus framework &#8211; a way of extending your browser capabilities &#8211; will become open source next year, which seems a sensible way to increase its adoption:</p>
<blockquote><p>The big idea here is that we&#8217;ll have the whole platform open sourced by mid-next year, and as soon as possible we&#8217;ll have many of the services we&#8217;ve written open sourced, as well as the APIs needed to write new services. Our goal is to empower the community to contribute actual patches and new services &#8211; code to compliment the feedback.</p></blockquote>
<ul>
<li><a href="http://developer.yahoo.net/forum/index.php?showtopic=377">Yahoo! will open source BrowserPlus! &#8211; YDN Forums</a></li>
<li><a href="http://browserplus.yahoo.com/">BrowserPlus&trade;</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.glenscott.co.uk/blog/2008/11/20/browserplus-to-become-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

