<?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>The Aust Gate</title>
	<atom:link href="http://austgate.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://austgate.co.uk</link>
	<description>Open Knowledge and Literature</description>
	<lastBuildDate>Sun, 25 Jul 2010 15:19:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Weeknotes: Talks, Open Correspondence, XMPP</title>
		<link>http://austgate.co.uk/2010/07/weeknotes-talks-open-correspondence-xmpp/</link>
		<comments>http://austgate.co.uk/2010/07/weeknotes-talks-open-correspondence-xmpp/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 15:19:13 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[weeknotes]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=191</guid>
		<description><![CDATA[I gave a talk at the Oxford Geek Nights about Open Correspondence and letters. At some point I really ought to learn how to give talks. Anyhow Russell Davies was the main speakers and he showed how you could make physical objects from data derived from social networks. (He has a marvellously sane post about [...]]]></description>
			<content:encoded><![CDATA[<p>I gave a talk at the Oxford Geek Nights about <a title="Open correspondence site" href="http://opencorrespondence.org" target="_blank">Open Correspondence</a> and letters. At some point I really ought to learn how to give talks. Anyhow <a title="russell davies' blog" href="http://russelldavies.typepad.com/" target="_blank">Russell Davies</a> was the main speakers and he showed how you could make physical objects from data derived from social networks. (He has a marvellously sane <a title="Russell Davies on Raoul Moat facebook page " href="http://russelldavies.typepad.com/planning/2010/07/this-is-facebook-this-is-the-internet.html" target="_blank">post about the Raoul Moat facebook page</a>.) Anyhow its gathered some people who are interested in contributing. Now I&#8217;ve finished the book, I&#8217;ve got more time to make changes to the codebase which urgently needs it. Finishing off stuff really. Then making the real changes.</p>
<p>Accounts has been slightly on hold since the wages needed to be run and I didn&#8217;t see that accounts or operations would be happy with fugures potentially changing.</p>
<p>The main project has been setting up a notification service to set up the service layer correctly. I&#8217;ve finally got the server working so I&#8217;m just building a framework. I thought of porting parts of <a title="Djabberd server" href="http://danga.com/djabberd/" target="_blank">djabberd</a> projects into PHP but I&#8217;m just  looking at parts of it but XMPP is certainly a useful tool in getting machines to speak to each other and to develop event driven services.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/07/weeknotes-talks-open-correspondence-xmpp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding a space for NoSQL</title>
		<link>http://austgate.co.uk/2010/07/187/</link>
		<comments>http://austgate.co.uk/2010/07/187/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:11:26 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[redis]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=187</guid>
		<description><![CDATA[ReadWriteWeb have a post on NoSQL (again?) by Audrey Watters which is a brief overview of the area.  The original post points the Heroku blog, where Adam Wiggins outlines the uses of NoSQL. I&#8217;m not an expert by any means but use Redis on a daily basis with the Rediska PHP library. I remember having [...]]]></description>
			<content:encoded><![CDATA[<p><a title="ReadWriteWeb on NoSQL" href="http://www.readwriteweb.com/cloud/2010/07/cassandra-predicting-the-futur.php" target="_blank">ReadWriteWeb</a> have a post on NoSQL (again?) by Audrey Watters which is a brief overview of the area.  The original post points the Heroku blog, where Adam Wiggins <a title="Heroku blog on NoSQL" href="http://blog.heroku.com/archives/2010/7/20/nosql/" target="_blank">outlines the uses of NoSQL</a>. I&#8217;m not an expert by any means but use Redis on a daily basis with the  Rediska PHP library. I remember having an argument with the IT director when I originally proposed using Redis but I&#8217;m glad that the gamble has paid off. The caching system that uses is now far more productive than the earlier version.</p>
<p>Our base is database is MySQL which I like a fair amount for what we do with it but all I needed do was to cache some data. The scripts write a fair amount of data to the cache and then there is one read process to read the entire list before updating the main database. At least I know that the data has some sort of security. It is not a panacea or similar cure all but it does have a place in development for certain jobs.</p>
<p>Best tool and all that?</p>
<p>I can understand why <a title="Cassandra, Twitter and NoSQL" href="http://engineering.twitter.com/2010/07/cassandra-at-twitter-today.html" target="_blank">Twitter are not using Cassandra</a> in the main service but are still using it for other projects.  For now. Systems and priorities change and perhaps it will happen in some way.</p>
<p>Despite its meteoric rise, NoSQL is not the answer to everything. It does have a useful place though.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/07/187/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBC&#8217;s use of Semantic Web technology in World Cup</title>
		<link>http://austgate.co.uk/2010/07/bbcs-use-of-semantic-web-technology-in-world-cup/</link>
		<comments>http://austgate.co.uk/2010/07/bbcs-use-of-semantic-web-technology-in-world-cup/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 19:27:31 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[Open Knowledge]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[rdf]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=185</guid>
		<description><![CDATA[Just caught this story on ReadWrite Web about the BBC website&#8217;s use of semantic web technology during the World Cup.  Jem Rayfield explains more on the BBC Internet blog about the use of technology. I&#8217;ve still got a fair amount of reading to do but this is the sort of project that makes me rethink [...]]]></description>
			<content:encoded><![CDATA[<p>Just caught this story on ReadWrite Web about the<a title="ReadWriteWeb on BBC's Semantic Web" href="http://www.readwriteweb.com/archives/bbc_world_cup_website_semantic_technology.php" target="_blank"> BBC website&#8217;s use of semantic web technology</a> during the World Cup.  Jem Rayfield explains more on the <a title="Jem Rayfield talking about the BBc use of semantic web on BBC Sport site" href="http://www.bbc.co.uk/blogs/bbcinternet/2010/07/bbc_world_cup_2010_dynamic_sem.html" target="_blank">BBC Internet </a>blog about the use of technology.</p>
<p>I&#8217;ve still got a fair amount of reading to do but this is the sort of  project that makes me rethink the Open Letters project and how it could  be used by other sites. It has also given me food for thought for work as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/07/bbcs-use-of-semantic-web-technology-in-world-cup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: documentation, prototyping and cats</title>
		<link>http://austgate.co.uk/2010/07/weeknotes-documentation-prototyping/</link>
		<comments>http://austgate.co.uk/2010/07/weeknotes-documentation-prototyping/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 15:31:20 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[Open Knowledge]]></category>
		<category><![CDATA[weeknotes]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=181</guid>
		<description><![CDATA[I&#8217;ve spent most of the week either trying to persuade colleagues that rewrites are needed to existing services. I&#8217;ve also finally managed to get the initial promise of working from home so hopefully I&#8217;ll be able to get the rewrite started on the &#8220;quiet&#8221; days away from the office. (Although the cat can drive me [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent most of the week either trying to persuade colleagues that rewrites are needed to existing services. I&#8217;ve also finally managed to get the initial promise of working from home so hopefully I&#8217;ll be able to get the rewrite started on the &#8220;quiet&#8221; days away from the office. (Although the cat can drive me nuts before she goes to sleep at 10am).</p>
<p>Still working on the accounts project which keeps unravelling a series of underlying problems. Most of them we know about but they appear in all sorts of odd places.</p>
<p>Assuming the world doesn&#8217;t fall on my head next time I&#8217;m in the office, I&#8217;m going to try and spend the day at home on a &#8220;Fedex&#8221; day. I&#8217;m taking the notion from an issue of Wired where they were talking about different ways of working and Atlassian mentioned &#8220;Fedex&#8221; days where you spend a day building a prototype. What I&#8217;d really like to get prototyped is the service bus / queuing system. So fingers crossed.</p>
<p>The impetus came from updating the disaster recovery documentation and writing the first department of the service status documentation (which I wrote after getting the last bit of debugging finished). I know that documentation is not everybody&#8217;s favourite thing but I find it useful in rethinking the system and making sure it fits together.</p>
<p>I&#8217;ve made time to rewrite the load function for Open Letters. I&#8217;ve got the document building the letters in XML and written a rough upload script. Next task is to rewrite the main.py script, test the XML loading and then finished tidying up the initial document.</p>
<p>I&#8217;m also looking forward to Textcamp so it&#8217;ll be great to get the load finished (as it normalises the function) and get on with doing a presentation for the camp.</p>
<p>I&#8217;m also coming to end of writing my book on children&#8217;s fantasy. Whilst not technical in an IT sense, I&#8217;m thinking of the next project on the New Weird and how to use IT to visualise influences and timelines. The one that worries me is archiving necessary web pages for the research which I need to look towards as I&#8217;m not sure whether it is technically illegal.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/07/weeknotes-documentation-prototyping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: maintenance, and Dickens</title>
		<link>http://austgate.co.uk/2010/07/weeknotes-maintenance-and-dickens/</link>
		<comments>http://austgate.co.uk/2010/07/weeknotes-maintenance-and-dickens/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:02:02 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[weeknotes]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=178</guid>
		<description><![CDATA[It seems to be maintenance season again. Still carry on with the accounts systems and doing some work to those systems for most of the week. It is a slow job but I would rather spend time getting it right rather than rush something ut and spend the next year patching it because we rushed [...]]]></description>
			<content:encoded><![CDATA[<p>It seems to be maintenance season again.</p>
<p>Still carry on with the accounts systems and doing some work to those systems for most of the week. It is a slow job but I would rather spend time getting it right rather than rush something ut and spend the next year patching it because we rushed it rather than a need changed.</p>
<p>The rest of the week is spent either developing some new functionality for the admin department or thinking about revamping the existing services. Most of them are fine but a lick of paint and some further optimisation to take care of unanticipated needs wouldn&#8217;t go amiss. I suspect that maintenance isn&#8217;t high on most developer&#8217;s agendas but in a moving and growing company, some systems begin to be left behind when their use either changes or the company outgrows the service. The challenge is trying to minimise user frustration whilst getting the new version out and finished. Mm, time to work on the &#8216;soft skills&#8217; of people methinks.</p>
<p>In the meanwhile, I&#8217;ve created an XML file of letters of Dickens and now am just changing the loading script for Open Correspondence so that there is a normalised way of loading the data into the database. The fact that everything was predicated on one file was annoying me so I made the time to change it. The next thing is to dive back into<a title="TEI lite specifications" href="http://www.tei-c.org/Guidelines/Customization/Lite/" target="_blank"> TEI lite</a> and rework the file so that it fits into an already definted schema. (I don&#8217;t see there being any point in this case in trying to create something new as it should be unnecessary.)</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/07/weeknotes-maintenance-and-dickens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: All quiet on the accounting front</title>
		<link>http://austgate.co.uk/2010/06/weeknotes-all-quiet-on-the-accounting-front/</link>
		<comments>http://austgate.co.uk/2010/06/weeknotes-all-quiet-on-the-accounting-front/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 13:48:12 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[weeknotes]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[open_literature]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=174</guid>
		<description><![CDATA[It&#8217;s been a week of relative frustration with priorities suddenly being shifted and the infrastructure road map looking more and more unclear. The soap server is largely debugged and ready for more extensive testing on the server and the back end has now been rewritten to capture more data. I cannot help feeling that it [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a week of relative frustration with priorities suddenly being shifted and the infrastructure road map looking more and more unclear.</p>
<p>The soap server is largely debugged and ready for more extensive testing on the server and the back end has now been rewritten to capture more data. I cannot help feeling that it will change once more services go online to scale more efficiently but right now I don&#8217;t have the expertise to do it. I&#8217;ll get there.</p>
<p>On a different tack, I&#8217;m back on the accounting project that I was on several months ago and making some headway in that. Its grown since I was last involved in it but nothing that a decent set of specs and roadmaps cannot solve in terms of making it manageable.</p>
<p>I&#8217;ve been thinking about my next book project which is on the New Weird and genre over the last 15 years and wondering how to use dbpedia&#8217;s <a title="dbpedia ontology influencedBy term" href="http://dbpedia.org/ontology/influencedBy" target="_blank">influencedBy</a> and <a title="dbpedia's influence term" href="http://dbpedia.org/ontology/influence" target="_blank">influence</a> terms in terms of showing how writers influence each other over a century. I&#8217;m tempted to put the data into a large rdf sheet and then use javascript or PHP to transform it into JSON to see if you can use the Simile timeline software usefully or if I need to find / write something more appropriate. It does have to wait for me to finish the current book.</p>
<p>I forgot to link to the <a title="Open Correspondence post on OKF blog" href="http://blog.okfn.org/2010/06/16/open-correspondence/" target="_blank">Open Correspondence blog post</a> on the Open Knowledge Foundation&#8217;s blog which was posted a few days ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/06/weeknotes-all-quiet-on-the-accounting-front/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: PHP, SOAP, and Open Letters</title>
		<link>http://austgate.co.uk/2010/06/weeknotes-php-soap-and-open-letters/</link>
		<comments>http://austgate.co.uk/2010/06/weeknotes-php-soap-and-open-letters/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 10:15:22 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[weeknotes]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=171</guid>
		<description><![CDATA[It has been a fairly quiet week with the boss away. I&#8217;ve managed to complete a service to upload details from spreadsheets sent via email. I&#8217;ve also managed to complete a SOAP service in PHP to listen for status updates and just doing the final tests to it now. Once its up it can be [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a fairly quiet week with the boss away. I&#8217;ve managed to complete a service to upload details from spreadsheets sent via email.</p>
<p>I&#8217;ve also managed to complete a SOAP service in PHP to listen for status updates and just doing the final tests to it now. Once its up it can be repurposed for other companies. One of the things that I think  will come up is how to store XML files most efficiently as MySQL 5 appears to be tied to uploading files rather than just taking POST strings. I&#8217;m thinking of using something like <a title="Oracle Berkeley DB XML" href="http://www.oracle.com/database/berkeley-db/xml/index.html" target="_blank">Oracle&#8217;s BDB XML</a> database (though the license appears to preclude our uses) or <a title="eXist sourceforge page" href="http://exist.sourceforge.net/index.html" target="_blank">eXist</a> but that is something to come back to much later.</p>
<p>I&#8217;ve been thinking about the Open Correspondence site and the best way to allow it to be extended by other people. I think that the best way forward to create an internal XML format which the load command can use and anybody can use to create their own files and databases. Its along the lines of the stuff I partially did some work on in the Open Shakespeare project.</p>
<p>Given the boss is away, time for finishing more things off next week. I&#8217;ve also created a <a title="Trac website" href="http://trac.edgewall.org" target="_blank">Trac</a> instance for internal purposes but I think it&#8217;ll help on that bane if developing live &#8211; documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/06/weeknotes-php-soap-and-open-letters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: Data, service buses and trac</title>
		<link>http://austgate.co.uk/2010/06/weeknotes-data-service-buses-and-trac/</link>
		<comments>http://austgate.co.uk/2010/06/weeknotes-data-service-buses-and-trac/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 15:53:01 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[weeknotes]]></category>
		<category><![CDATA[open_correspondence]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=168</guid>
		<description><![CDATA[I&#8217;ve succumbed and I&#8217;ve got a microslot at the next Oxford Geek Nights where I&#8217;m talking about the Open Correspondence website. I&#8217;ve downloaded the rest of the Gutenberg copies of the Dickens letters but just need an evening to make some headway with transforming them. I spent a fair amout of this week trying to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve succumbed and I&#8217;ve got a microslot at the next <a title="Oxford Geek Nights" href="http://oxford.geeknights.net/2010/jul-21st/" target="_blank">Oxford Geek Nights</a> where I&#8217;m talking about the Open Correspondence website. I&#8217;ve downloaded the rest of the<a title="project gutenberg" href="http://gutenberg.org" target="_blank"> Gutenberg</a> copies of the Dickens letters but just need an evening to make some headway with transforming them.</p>
<p>I spent a fair amout of this week trying to get a status update server built using SOAP and PHP which has been an &#8216;interesting&#8217; task but seems to have finally got there. Having done some debugging at home on Friday, I&#8217;ve got to test the whole thing on Monday on the test server.</p>
<p>I&#8217;ve also  been debugging the csv uploads into the database and refactoring the code so that there is more re-use of similar objects. On top of that I started the documentation for the services and realised that I&#8217;d written most of the upload service for invoices as well. Bonus&#8230; So all I need do really is to spend a couple of days finishing  things of at work so that the first versions of the services can go out.</p>
<p>Whilst doing all of that though, I realised that the queueing system that I was working on was only part of a solution to get all of our services working together. Instead of just queuing, I need to start thinking more along the lines of an <a title="Wikipedia on Enterprise Service Bus" href="http://en.wikipedia.org/wiki/Enterprise_service_bus" target="_blank">enterprise service bus</a>. So that&#8217;ll keep me busy then for a couple of weeks. My notebook has various notes and doodles, much to my boss&#8217;s enjoyment who thinks its all old-fashioned.</p>
<p>I&#8217;ve also started putting together a <a title="Trac website" href="http://trac.edgewall.org" target="_blank">Trac</a> instance for work to see if it scales and helps with ticketing and information acorss our department&#8217;s groups. It&#8217;ll probably be sidelined for this week whilst I try and get everything put together again with regards to the data uploads.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/06/weeknotes-data-service-buses-and-trac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: Redis, PHP, mail and SOAP</title>
		<link>http://austgate.co.uk/2010/06/weeknotes-redis-php-mail-and-soap/</link>
		<comments>http://austgate.co.uk/2010/06/weeknotes-redis-php-mail-and-soap/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 11:05:18 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=164</guid>
		<description><![CDATA[I&#8217;ve spent some time writing a queueing library using Redis as a backend. I started with the notion that it would need to be a FIFO queue but didn&#8217;t want to only use the in-built parts of PHP as a stack using array_pop or array_push. Whilst it might be faster, it doesn&#8217;t allow for queue [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent some time writing a queueing library using Redis as a backend. I started with the notion that it would need to be a FIFO queue but didn&#8217;t want to only use the in-built parts of PHP as a stack using array_pop or array_push. Whilst it might be faster, it doesn&#8217;t allow for queue storage if the worker / router calling the queue does not run until a certain time so I looked at Redis. I  drew some inspiration from <a title="MEMQ blog post" href="http://abhinavsingh.com/blog/2010/02/memq-fast-queue-implementation-using-memcached-and-php-only/" target="_blank">MEMQ</a>, a queue implementation using memcached. I wrote a quick set of functions to handle connection, enqueuing and dequeueing with the ever present Rediska as the underlying Redis connection library. I&#8217;m tempted to revisit this and to write my own connection to remove the reliance on Rediska. What I did learn was how to increase and decrease the number of items that could be dequeued. For some stupid reason, I&#8217;d got into my head that it would either by one or all items.</p>
<p>However if you think about the LLEN command, you can pop as many items as you want, drop them into an array and iterate across them. I need to try this but you could feasibly call items from the middle of the array by changing the start and end points in LLEN. Normally I&#8217;d do something like  &lt;list name&gt; LLEN 0, -1 for all items or &lt;list name&gt; LLEN 0, 2 for the first two but if you change 0 to something else where you know there are 30 items but only want 5 from position 20 then you could pop in LLEN 20, 5 to achieve the result. It is not really germaine to the queueing that I&#8217;ve been looking at (for system updates where I need everything or just the first item) but could be a useful adaptation for somebody else.</p>
<p>The main challenge this week has been reading Excel attachments from email. PHP&#8217;s <a title="PHP's imap functions" href="http://php.net/manual/en/book.imap.php" target="_blank">imap</a> library  allows you to read the structure of an email but is curiously reticent in retrieving data if you have mime parts. I spent ethe best part of a day and a half getting a script to iterate over an incoming email, filter the parts so that it just explored the attachments mime type and then retrive any attachments either from a flat structure or iterating over each part before calling imap_fetchbody(). So far the fix appears to work and has allowed me to create a prototype mail service for receiving email data. It seems odd that in the era of web services that financial data is still sent by insecure methods but we must accomodate.</p>
<p>I&#8217;ve also been looking at PHP&#8217;s<a title="PHP's soap functions" href="http://php.net/manual/en/book.soap.php" target="_blank"> SOAP</a> library to create a status update service which will probably utilise <a title="Wikipedia on Service Orientated Architecture" href="http://en.wikipedia.org/wiki/Service-oriented_architecture" target="_blank">Service Orientated Architecture</a> to create a stable, scalable service. Initially I created a <a title="W3 on WSDL" href="http://www.w3.org/TR/wsdl" target="_blank">WSDL</a> file using the <a title="Eclipse ide" href="http://www.eclipse.org/" target="_blank">Eclipse IDE</a> but that threw all sorts of issues and ended up using Zend&#8217;s WSDL generator tool running across the existing server. Must look into this but there might be a conflict in versions of WSDL as well as first time learning curve. I&#8217;m hoping to get the first version of the service up this week.</p>
<p>I suspect that this week is going to complete the commission and service status services as well as possibly doing some documentation as it is beginning to pile up.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/06/weeknotes-redis-php-mail-and-soap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknotes: Pylons, Python and printing</title>
		<link>http://austgate.co.uk/2010/05/weeknotes-pylons-python-and-printing/</link>
		<comments>http://austgate.co.uk/2010/05/weeknotes-pylons-python-and-printing/#comments</comments>
		<pubDate>Sun, 30 May 2010 10:22:41 +0000</pubDate>
		<dc:creator>iain_emsley</dc:creator>
				<category><![CDATA[Open Knowledge]]></category>
		<category><![CDATA[open_correspondence]]></category>
		<category><![CDATA[open_literature]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://austgate.co.uk/?p=157</guid>
		<description><![CDATA[I&#8217;ve been doing some more work to the Open Correspondence website (which is now functional  thanks to Rufus Pollock&#8217;s help). In part I&#8217;ve been cleaning up the urls for the data controller (which is still coming along) and trying to tie the views in together. Being happier with Apache and PHP I spent some time [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing some more work to the Open Correspondence website (which is now functional  thanks to Rufus Pollock&#8217;s help). In part I&#8217;ve been cleaning up the urls for the data controller (which is still coming along) and trying to tie the views in together. Being happier with Apache and PHP I spent some time looking for how to rewrite the urls until I came across <a title="Andre Kollel on Pylons" href="http://blog.andrekolell.de/2009/04/26/the-pylons-web-framework/" target="_blank">Andre Kollel&#8217;s blog post</a> about the internal workings of the middleware in the <a title="Pylons framework" href="http://pylonshq.com/" target="_blank">Pylons framework</a>.  The more I do on the project, the more I learn about both Python and Pylons.</p>
<p>One of the next things to do is to reformat the dates into human readable format. I had thought of using Python&#8217;s <a title="python's date time module" href="http://docs.python.org/library/datetime.html" target="_blank">datetime</a> strftime to reformat the date from its current ISO format (YYYY-MM-DD) into day, month year. Unfortunately, the method states &#8221; years before 1900 cannot be used.&#8221; A slight cramp in the plan. However there is an <a title="Andrew Dalke's Activestate date recipe" href="http://code.activestate.com/recipes/306860-proleptic-gregorian-dates-and-strftime-before-1900/" target="_blank">Activestate recipe</a> by Andrew Dalke which might do the trick or at least point me in the right direction. It is one of the things to be tidied up at some point.</p>
<p>It is a good feeling to have the site running now. The next task is to write the tests and then  to refactor the code. It is very PHPish and needs to be made more Pythonic. I&#8217;ve got an idea for trying to create a dendrogram around the textReferred element and to discover the letters and correspondents around the books that Dickens was writing. One of the tings is to continue loading the other volumes of Dickens&#8217;s letters into the site. So version 0.2 is a little way off but the light at the end of the tunnel is not a train this time.</p>
<p>Workwise has been a little hectic. I must make some time to write a method to allow our admin team to resubmit applications. Like so many things it is a balance between a five minute job and the two hour ones that need to be done. The major job for the week though was getting the automated printing working.</p>
<p>One of the jobs that admin do is to go through each client and create the packs for them. Using HTMLtools, I&#8217;ve managed to compile the html into PDF and then convert the PDF into a PostScript file for a printer. I&#8217;ve managed to use the <a title="Line Printer Remote protocol wikipedia page" href="http://en.wikipedia.org/wiki/Line_Printer_Remote" target="_blank">Line Printer Remote</a> protocol to send the job to the printer. It is a simple enough command:</p>
<p>lpr -S &lt;ip address/name of printer&gt;  -P &lt;name of print job&gt; (-o &lt;optional -o 1 sets file to binary&gt;) &lt;name of file&gt;</p>
<p>Windows doesn&#8217;t appear to support the full protocol but enough to be useful. The -o switch appears to only define whether the file is binary or not rather than specifying the paper type and so on. Annoying but it can be got around.</p>
<p>Anyhow it got me thinking about other ways of using commands to explore how texts can be converted and changed into useful objects. It brings me back to the use of psbook for printing but how to make it useful for an average user who does not necessarily want to run various commands. Having had a conversation with my friend Darren Nash ,editorial director of Orbit books,  about the future of publishing; he opined that small presses would come to the fore. I think, certainly in genre that this is correct. It would be interesting to see how existing tools could be used towards these ends rather than constantly re-invent the wheel.</p>
<p>Now that the first version of letters is out the way, time to go over other projects. I&#8217;ve got a yen to try and create something from Milton&#8217;s <a title="Wikipedia on the Areopagitica" href="http://en.wikipedia.org/wiki/Areopagitica" target="_blank">Areopagitica</a>, appropriate I think as it is a cry for free presses.</p>
]]></content:encoded>
			<wfw:commentRss>http://austgate.co.uk/2010/05/weeknotes-pylons-python-and-printing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
