<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Arctus Blog</title>
    <link>http://blog.arctus.co.uk</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Getting Microsoft Office SharePoint Server 2007 to search inside PDF files</title>
      <description>&lt;p&gt;It is possible to get &lt;span class="caps"&gt;MOSS 2007&lt;/span&gt; to search inside your &lt;span class="caps"&gt;PDF&lt;/span&gt; documents. This solution has not been tested (by us) on &lt;span class="caps"&gt;WSS3&lt;/span&gt;, so we&amp;#8217;d be interested to hear back from anybody who tries.&lt;/p&gt;


	&lt;h3&gt;Acrobat reader&lt;/h3&gt;


	&lt;p&gt;Previously, searching &lt;span class="caps"&gt;PDF&lt;/span&gt; documents with Index Server required an IFilter plugin from Adobe. The most recent version of the IFilter is 6.0, and it is now several years old.&lt;/p&gt;


	&lt;p&gt;Adobe have taken a different approach now, and bundled the IFilter as part of the &lt;span class="caps"&gt;PDF&lt;/span&gt; reader application. This means that you need to download and install Adobe Acrobat Reader on your SharePoint server.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.adobe.com/products/reader/"&gt;http://www.adobe.com/products/reader/&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;SharePoint configuration&lt;/h3&gt;


	&lt;p&gt;There is very little configuration to be done inside SharePoint itself, aside from configuring the search service to index files with the extension .pdf.&lt;/p&gt;


	&lt;p&gt;You do this in SharePoint 3.0 Central Administration (see the Microsoft Office Server folder in the Start Menu on the server).&lt;/p&gt;


	&lt;p&gt;You should open the search configuration screen in the Shared Services section. Click File Types, and in the File Types list click Add New. You should enter pdf and click OK.&lt;/p&gt;


	&lt;h3&gt;Registry Changes&lt;/h3&gt;


	&lt;p&gt;There are two registry keys that you need to change. These will register the Adobe &lt;span class="caps"&gt;PDF&lt;/span&gt; IFilter with the Office Search service.&lt;/p&gt;


The values that need to be changed are:
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;HKEY_LOCAL_MACHINE
SOFTWARE\
  Microsoft\
    Office Server\
      12.0\
        Search\
          Setup\
            ContentIndexCommon\
              Filters\
                Extension\
                  .pdf

HKEY_LOCAL_MACHINE
SOFTWARE\
  Microsoft\
    Shared Tools\
      Web Server Extensions\
        12.0\
          Search\
            Setup\
              ContentIndexCommon\
                Filters\
                  Extension\
                    .pdf&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Both values should be changed to:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;{E8978DA6-047F-4E3D-9C78-CDBE46041603}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;h3&gt;Add the Adobe Program Directory to the System Path&lt;/h3&gt;


	&lt;p&gt;So that the search service can find the &lt;span class="caps"&gt;DLL&lt;/span&gt; which provides the IFilter service, you must add the Adobe Acrobat Reader program directory to the system path.&lt;/p&gt;


	&lt;p&gt;Right click My Computer &amp;gt; Properties
Click Advanced &amp;gt; Environment Variables&lt;/p&gt;


	&lt;p&gt;In the lower part of the window, scroll down to find the variable Path. Double click on it, and at the end of the &amp;#8216;Variable value&amp;#8217; add ;C:\Program Files\Adobe\Reader 8.0\Reader&lt;/p&gt;


	&lt;p&gt;Note the semi-colon &amp;#8211; that separates this path from the one before it. Note also that if you installed to a non-default location that you must change this value accordingly.&lt;/p&gt;


	&lt;h3&gt;Restart the Office Search service&lt;/h3&gt;


	&lt;p&gt;To register your changes, you should restart the Office Search service. Open a command shell (Start -&amp;gt; Run -&amp;gt; cmd [press enter]) and type the following commands:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;sc stop osearch [press enter]
sc start osearch [press enter]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;h3&gt;Finally&lt;/h3&gt;


	&lt;p&gt;If you already have &lt;span class="caps"&gt;PDF&lt;/span&gt; documents in SharePoint that you want to be included in the search, you must Reset all crawled content in Search Settings and then, in Content sources and crawl settings, start a new Full Crawl. These screens are in the SharePoint Central Configuration application&amp;#8217;s Shared Services that we used in step 2.&lt;/p&gt;</description>
      <pubDate>Thu, 06 Dec 2007 11:40:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:612fbea1-5771-4858-805d-9f7b49599559</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/12/06/getting-microsoft-office-sharepoint-server-2007-to-search-inside-pdf-files</link>
      <category>Microsoft Windows</category>
    </item>
    <item>
      <title>MySQL DDL Commands</title>
      <description>&lt;p&gt;At Arctus we like to automate the management of our database systems. We especially like to write tools that can compare and upgrade schemas. To do this, we need to access the Data Definition Language (DDL) that created the objects in the first place. In Oracle there is a dedicated &lt;span class="caps"&gt;DDL&lt;/span&gt; package for this very job and in &lt;span class="caps"&gt;SQL&lt;/span&gt; Server we have the &lt;span class="caps"&gt;SYS&lt;/span&gt; tables (and the new &lt;span class="caps"&gt;INFORMATION&lt;/span&gt;_SCHEMA views).&lt;/p&gt;


	&lt;p&gt;MySQL does it a slightly different way, and the following commands are extremely useful:&lt;/p&gt;


	&lt;table&gt;
		&lt;tr&gt;
			&lt;td&gt; SHOW &lt;span class="caps"&gt;TABLES&lt;/span&gt;; &lt;/td&gt;
			&lt;td&gt; Lists all tables by name &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; SHOW &lt;span class="caps"&gt;TABLE STATUS&lt;/span&gt;; &lt;/td&gt;
			&lt;td&gt; Lists all tables with additional information &amp;#8211; date created, number of rows etc. &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; SHOW &lt;span class="caps"&gt;CREATE TABLE&lt;/span&gt; table_name &lt;/td&gt;
			&lt;td&gt; Shows the &lt;span class="caps"&gt;DDL&lt;/span&gt; used to create the table &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; SHOW &lt;span class="caps"&gt;COLUMNS FROM&lt;/span&gt; table_name &lt;/td&gt;
			&lt;td&gt; Lists the columns for a given table in a results set, with type information and other metadata &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




	&lt;p&gt;Finally, like &lt;span class="caps"&gt;SQL&lt;/span&gt; Server, there is a way of renaming a table:&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;RENAME TABLE&lt;/span&gt; current_name TO new_name;&lt;/p&gt;


	&lt;p&gt;If (like us) you occasionally have to deal with MySQL but it is not your primary database, we hope you find this little list of commands useful.&lt;/p&gt;</description>
      <pubDate>Fri, 09 Nov 2007 08:09:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:14e378d8-b843-463f-b688-8c2507bbf52e</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/11/09/mysql-ddl-commands</link>
      <category>Linux</category>
    </item>
    <item>
      <title>Apple pricing, UK vs. Stateside</title>
      <description>&lt;p&gt;In a recent post (&lt;a href="http://blog.arctus.co.uk/articles/2007/10/30/adobe-creative-suite-3-pricing-is-seriously-unfair-to-uk-buyers"&gt;adobe creative suite 3 pricing is seriously unfair to uk buyers&lt;/a&gt;) we noted that Adobe &lt;span class="caps"&gt;CS 3&lt;/span&gt; Web Premium was significantly more expensive for UK buyers than those in the States.&lt;/p&gt;


	&lt;p&gt;Historically, this used to also be true for apple equipment. Today, however, things seem better. We&amp;#8217;ve just done a full price comparison and on average, UK prices are 10% more than US prices.&lt;/p&gt;


	&lt;h3&gt;Prices&lt;/h3&gt;


&lt;div style="font-size:80%;"&gt;

	&lt;table&gt;
		&lt;tr&gt;
			&lt;th&gt;Range/Model &lt;/th&gt;
			&lt;th&gt;GB ex &lt;/th&gt;
			&lt;th&gt;GB inc &lt;/th&gt;
			&lt;th&gt;US ($) &lt;/th&gt;
			&lt;th&gt;US (&#163;) &lt;/th&gt;
			&lt;th&gt;US (&#163;,&amp;nbsp;inc) &lt;/th&gt;
			&lt;th&gt;Difference &lt;/th&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; Mac&amp;nbsp;mini &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 1.83GHz:&amp;nbsp;Combo&amp;nbsp;Drive&amp;nbsp;&amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &#163;339.57 &lt;/td&gt;
			&lt;td&gt; &#163;399.00 &lt;/td&gt;
			&lt;td&gt; $599.00 &lt;/td&gt;
			&lt;td&gt; &#163;299.50 &lt;/td&gt;
			&lt;td&gt; &#163;351.91 &lt;/td&gt;
			&lt;td&gt; 13.4% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 2.0GHz:&amp;nbsp;Super&amp;nbsp;Drive &lt;/td&gt;
			&lt;td&gt; &#163;424.68 &lt;/td&gt;
			&lt;td&gt; &#163;499.00 &lt;/td&gt;
			&lt;td&gt; $799.00 &lt;/td&gt;
			&lt;td&gt; &#163;399.50 &lt;/td&gt;
			&lt;td&gt; &#163;469.41 &lt;/td&gt;
			&lt;td&gt; 6.3% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; MacBook &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 13-inch:&amp;nbsp;White&amp;nbsp;2.0GHz &lt;/td&gt;
			&lt;td&gt; &#163;594.89 &lt;/td&gt;
			&lt;td&gt; &#163;699.00 &lt;/td&gt;
			&lt;td&gt; $1,099.00 &lt;/td&gt;
			&lt;td&gt; &#163;549.50 &lt;/td&gt;
			&lt;td&gt; &#163;645.66 &lt;/td&gt;
			&lt;td&gt; 8.3% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 13-inch:&amp;nbsp;White&amp;nbsp;2.2GHz &lt;/td&gt;
			&lt;td&gt; &#163;705.53 &lt;/td&gt;
			&lt;td&gt; &#163;829.00 &lt;/td&gt;
			&lt;td&gt; $1,299.00 &lt;/td&gt;
			&lt;td&gt; &#163;649.50 &lt;/td&gt;
			&lt;td&gt; &#163;763.16 &lt;/td&gt;
			&lt;td&gt; 8.6% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 13-inch:&amp;nbsp;Black&amp;nbsp;2.2GHz &lt;/td&gt;
			&lt;td&gt; &#163;807.66 &lt;/td&gt;
			&lt;td&gt; &#163;949.00 &lt;/td&gt;
			&lt;td&gt; $1,499.00 &lt;/td&gt;
			&lt;td&gt; &#163;749.50 &lt;/td&gt;
			&lt;td&gt; &#163;880.66 &lt;/td&gt;
			&lt;td&gt; 7.8% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; Imac &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 20-inch:&amp;nbsp;2.0GHz &lt;/td&gt;
			&lt;td&gt; &#163;680.00 &lt;/td&gt;
			&lt;td&gt; &#163;799.00 &lt;/td&gt;
			&lt;td&gt; $1,199.00 &lt;/td&gt;
			&lt;td&gt; &#163;599.50 &lt;/td&gt;
			&lt;td&gt; &#163;704.41 &lt;/td&gt;
			&lt;td&gt; 13.4% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 20-inch:&amp;nbsp;2.4GHz &lt;/td&gt;
			&lt;td&gt; &#163;807.66 &lt;/td&gt;
			&lt;td&gt; &#163;949.00 &lt;/td&gt;
			&lt;td&gt; $1,499.00 &lt;/td&gt;
			&lt;td&gt; &#163;749.50 &lt;/td&gt;
			&lt;td&gt; &#163;880.66 &lt;/td&gt;
			&lt;td&gt; 7.8% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 24-inch:&amp;nbsp;2.4GHz &lt;/td&gt;
			&lt;td&gt; &#163;977.87 &lt;/td&gt;
			&lt;td&gt; &#163;1,149.00 &lt;/td&gt;
			&lt;td&gt; $1,799.00 &lt;/td&gt;
			&lt;td&gt; &#163;899.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,056.91 &lt;/td&gt;
			&lt;td&gt; 8.7% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 24-inch:&amp;nbsp;2.8GHz &lt;/td&gt;
			&lt;td&gt; &#163;1,241.70 &lt;/td&gt;
			&lt;td&gt; &#163;1,459.00 &lt;/td&gt;
			&lt;td&gt; $2,299.00 &lt;/td&gt;
			&lt;td&gt; &#163;1,149.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,350.66 &lt;/td&gt;
			&lt;td&gt; 8.0% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; MacBook&amp;nbsp;Pro &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 15-inch:&amp;nbsp;2.2GHz &lt;/td&gt;
			&lt;td&gt; &#163;1,105.53 &lt;/td&gt;
			&lt;td&gt; &#163;1,299.00 &lt;/td&gt;
			&lt;td&gt; $1,999.00 &lt;/td&gt;
			&lt;td&gt; &#163;999.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,174.41 &lt;/td&gt;
			&lt;td&gt; 10.6% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 15-inch:&amp;nbsp;2.4GHz &lt;/td&gt;
			&lt;td&gt; &#163;1,360.85 &lt;/td&gt;
			&lt;td&gt; &#163;1,599.00 &lt;/td&gt;
			&lt;td&gt; $2,499.00 &lt;/td&gt;
			&lt;td&gt; &#163;1,249.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,468.16 &lt;/td&gt;
			&lt;td&gt; 8.9% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; 17-inch:&amp;nbsp;2.4GHz &lt;/td&gt;
			&lt;td&gt; &#163;1,531.06 &lt;/td&gt;
			&lt;td&gt; &#163;1,799.00 &lt;/td&gt;
			&lt;td&gt; $2,799.00 &lt;/td&gt;
			&lt;td&gt; &#163;1,399.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,644.41 &lt;/td&gt;
			&lt;td&gt; 9.4% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; Mac&amp;nbsp;Pro &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; Base&amp;nbsp;model &lt;/td&gt;
			&lt;td&gt; &#163;1,445.96 &lt;/td&gt;
			&lt;td&gt; &#163;1,699.00 &lt;/td&gt;
			&lt;td&gt; $2,499.00 &lt;/td&gt;
			&lt;td&gt; &#163;1,249.50 &lt;/td&gt;
			&lt;td&gt; &#163;1,468.16 &lt;/td&gt;
			&lt;td&gt; 15.7% &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




&lt;/div&gt;

	&lt;h3&gt;Our Thoughts&lt;/h3&gt;


	&lt;p&gt;The current Mac range represents value for money and offers something unique when compared to other PCs.&lt;/p&gt;


	&lt;p&gt;The weak point in the range is probably the Mac Book Pro, which has a lower screen resolution than comparable HP business notebooks, and if you are going to run Windows or Linux HP might actually serve you better (see for example their &lt;a href="http://h10010.www1.hp.com/wwpc/us/en/sm/WF25a/321957-321957-64295-321838-3329741-3355678.html"&gt;8150p&lt;/a&gt; notebook, sporting a 1680&amp;#215;1050 &lt;span class="caps"&gt;WSXGA&lt;/span&gt;+ display and genrally higher specification than the Mac Book).&lt;/p&gt;


	&lt;p&gt;The iMac is currently Apple&amp;#8217;s strongest PC, ofering a truly impressive build with reasonable specification.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 12:32:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f398d7d2-8647-4a13-93d3-d6c0c896f551</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/11/02/apple-pricing-uk-vs-stateside</link>
      <category>Apple</category>
    </item>
    <item>
      <title>Problem storing large amounts of data in a MySQL database</title>
      <description>&lt;p&gt;MySQL isn&amp;#8217;t a database server that we use an awful lot at Arctus, but because it is so hugely popular it must be our number 1 priority when it comes to supporting it for our Rails applications.&lt;/p&gt;


	&lt;p&gt;We were concerned when two of our current applications, a web mail client and a document management system, sometimes failed to save data to the database for no apparent reason. We suspected that it was caused by too much data (because shorter messages/documents worked), but the error message we were getting gave absolutely no clues &amp;#8211; &amp;#8220;MySQL server has gone away&amp;#8221; is all it offered.&lt;/p&gt;


	&lt;p&gt;We first suspected that our &lt;span class="caps"&gt;TEXT&lt;/span&gt; field wasn&amp;#8217;t able to hold the amount of data we were passing in, but &lt;span class="caps"&gt;LONGTEXT&lt;/span&gt; didn&amp;#8217;t work either. We quickly tracked the problem down to a run-time setting called max_allowed_packet. This is an absolute limit on any individual command&amp;#8217;s length, and we had exceeded the build in default.&lt;/p&gt;


	&lt;p&gt;We located my.ini, added max_allowed_packed=16M and restarted the server. Now everything is working fine.&lt;/p&gt;


	&lt;p&gt;We know that this is quite a trivial problem to overcome, but we are documenting it here because the current top few Google hits aren&amp;#8217;t as useful as they might be for that particular error.&lt;/p&gt;


	&lt;p&gt;See http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html for more details.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 16:24:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:1298b075-de18-4b26-b808-385e9062cda5</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/11/01/problem-storing-large-amounts-of-data-in-a-mysql-database</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Adobe Creative Suite 3 pricing is seriously unfair to UK buyers</title>
      <description>&lt;p&gt;Interested in buying the latest version of Adobe Creative Suite 3? If you are in the UK you will pay &lt;strong&gt;50%&lt;/strong&gt; more than if you are in America. That&amp;#8217;s &lt;strong&gt;before&lt;/strong&gt; you add V.A.T.&lt;/p&gt;


	&lt;p&gt;In America, you pay $1600 for the &lt;span class="caps"&gt;FULL&lt;/span&gt; version of &lt;span class="caps"&gt;CS3&lt;/span&gt; Web Premium.&lt;/p&gt;


	&lt;p&gt;In the UK, you pay &#163;1200 for the &lt;span class="caps"&gt;FULL&lt;/span&gt; version. That&amp;#8217;s $2400. If you pay &lt;span class="caps"&gt;VAT&lt;/span&gt;, the final price is &#163;1400, or $2800.&lt;/p&gt;


	&lt;p&gt;This massive gulf is completely unjustified. We&amp;#8217;ll write to Adobe and ask them why it is so. If we get a response, we&amp;#8217;ll post it here.&lt;/p&gt;


	&lt;p&gt;As an aside, I&amp;#8217;ll give Inkscape an honourable mention &amp;#8211; it is shaping up to be a rather fine replacement for Illustrator. In fact, we now use Inkscape for nearly all of our basic vector work. Best of all, it is Free and Open. Visit http://www.inkscape.org to download it!&lt;/p&gt;


	&lt;p&gt;With the &lt;span class="caps"&gt;GIMP&lt;/span&gt; team now focused on bringing significant UI improvements, maybe the web developer&amp;#8217;s need for Adobe tools will diminish significantly in the not-too-distant future.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Oct 2007 12:50:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:9ed04dc0-ce98-4e4e-a2d3-b42b16d526ae</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/10/30/adobe-creative-suite-3-pricing-is-seriously-unfair-to-uk-buyers</link>
      <category>Information</category>
    </item>
    <item>
      <title>DocBox Beta 1</title>
      <description>&lt;p&gt;We have released beta 1 of DocBox, our tag based document management system.&lt;/p&gt;


	&lt;p&gt;This is a very minor release, and fixes the problem we had with FastCGI and Rails using 100% of the &lt;span class="caps"&gt;CPU&lt;/span&gt;. Functionality of the application remains unchanged.&lt;/p&gt;


	&lt;p&gt;The installer can be downloaded at the &lt;a href="http://www.arctus.co.uk/docbox"&gt;DocBox product page&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;FastCGI problem&lt;/h3&gt;

	&lt;p&gt;The problem is that FastCGI continuously spawns ruby processes, which use 100% of the &lt;span class="caps"&gt;CPU&lt;/span&gt;. Mod_fastcgi produces very little useful logging information, and although we could see that Ruby was being invoked, we had no real idea as to where the problem lay.&lt;/p&gt;


	&lt;p&gt;Initially, we suspected that a conflicting version of Rails was the culprit. Our first release of DocBox coincided with the release of Rails 1.2.4, and it just so happened that the first system to show this problem was the first system on which we had installed Ruby&amp;#8217;s OneClick package and Rails 1.2.4. Since then we&amp;#8217;ve seen the problem happen elsewhere and we can&amp;#8217;t find a common link.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ll write a detailed analysis of our installer soon, but the major component is an almost full copy of win32 ruby (minus the docs and gem cache). We updated Ruby and all of the gems, repackaged the installer and still the same problem affected at least three of our test systems.&lt;/p&gt;


	&lt;p&gt;Our final resolution was to remove Apache and use Mongrel as a win32 service. This works well for small-scale installations but won&amp;#8217;t scale without some extra work.&lt;/p&gt;


	&lt;p&gt;Hopefully we&amp;#8217;ll resolve the FastCGI problem one day, but we&amp;#8217;ll also look at other options.&lt;/p&gt;


	&lt;p&gt;In the meantime, please let us know what you think to DocBox!&lt;/p&gt;</description>
      <pubDate>Thu, 18 Oct 2007 10:05:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:c3ae0067-ed6b-4b77-9048-3133f8f52e07</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/10/18/docbox-beta-1</link>
      <category>DocBox</category>
    </item>
    <item>
      <title>Introducting DocBox: Our open source document management system</title>
      <description>&lt;p&gt;We would like to (quietly) announce that we have just released the first beta of our new document management system. This system is currently called DocBox.&lt;/p&gt;


&lt;h3&gt;What is DocBox?&lt;/h3&gt;

	&lt;p&gt;DocBox is a tag-based document management system, written in Ruby on Rails. It&amp;#8217;s like del.icio.us, but for your documents. Because your documents are private, you run DocBox on your own server or workstation, not on our website.&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ve started using it internally alongside our existing folders-based .NET solution (WebShare). We&amp;#8217;ll still continue to develop and sell WebShare, but we&amp;#8217;re really enjoying the speed and agility of DocBox.&lt;/p&gt;


	&lt;p&gt;It features a clean, modern interface, and a java-based bridge between the web site and your desktop.&lt;/p&gt;


	&lt;p&gt;While many features are yet to be added, and many bugs need to be ironed out, we&amp;#8217;ve decided that it is time to let you see how it&amp;#8217;s shaping up.&lt;/p&gt;


	&lt;p&gt;To download a copy, please visit the &lt;a href="http://www.arctus.co.uk/docbox"&gt;DocBox product page&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Cost&lt;/h3&gt;

	&lt;p&gt;We are going to release DocBox under the terms of the &lt;span class="caps"&gt;GPL&lt;/span&gt;, version 3. This effectively makes it free, but commercial customers will be asked to pay for downloading the software. For this they will receive support and service agreements. If they do not wish to pay, they may still use the software but will receive no quality assurance or support.&lt;/p&gt;


	&lt;p&gt;Initially, we anticpate charging no more than &#163;500 for a workgroup license, and &#163;80 for a small-office/home-office version. Non-profit orginsations, schools and personal use will be free.&lt;/p&gt;


&lt;h3&gt;One-click Installer&lt;/h3&gt;

	&lt;p&gt;One of the exciting things about DocBox is that it installs everything from a single executable, and runs as a stand-alone service on your Microsoft Windows server or workstation. Many companies who have evaluated Rails for their own products will be keen to know that a zero configuration installer for Rails is possible, and with DocBox we prove it is so. Get in touch if you&amp;#8217;d like us to help you package your Rails application!&lt;/p&gt;


&lt;h3&gt;The Future&lt;/h3&gt;

	&lt;p&gt;We are currently working on: Templates, Security &amp;#38; Permissions, Improved Tag Browsing for release sometime towards the middle of November.&lt;/p&gt;


	&lt;p&gt;Beyond that, we plan to add a full web-service api for automation and integration, workflow and advanced notifications.&lt;/p&gt;</description>
      <pubDate>Tue, 09 Oct 2007 08:32:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:07d4c0c0-d4ab-4412-b73a-8d3287e44997</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/10/09/introducting-docbox-our-open-source-document-management-system</link>
      <category>Information</category>
      <category>DocBox</category>
    </item>
    <item>
      <title>Finding an unused network port for server applications with Ruby</title>
      <description>&lt;p&gt;When delpoying web applications that run their own web-servers, it is quite likely that the port you want (normally port 80) will be in use. At the very least, it is only good manners to check first.&lt;/p&gt;


	&lt;p&gt;Here&amp;#8217;s a quick Ruby script that will loop through an array of port numbers and return the first one that is free:&lt;/p&gt;


&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;require &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;socket&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;

&lt;span style="color:#080; font-weight:bold"&gt;def&lt;/span&gt; &lt;span style="color:#06B; font-weight:bold"&gt;find_unused_port&lt;/span&gt;

  ports = [&lt;span style="color:#00D; font-weight:bold"&gt;80&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8000&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8080&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8800&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8088&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8001&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8002&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8003&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8004&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8005&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8006&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8007&lt;/span&gt;, &lt;span style="color:#00D; font-weight:bold"&gt;8008&lt;/span&gt;]
  port = &lt;span style="color:#00D; font-weight:bold"&gt;0&lt;/span&gt;

  ports.each &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt; |p|

    &lt;span style="color:#080; font-weight:bold"&gt;begin&lt;/span&gt;

      port = p
      &lt;span style="color:#036; font-weight:bold"&gt;TCPServer&lt;/span&gt;.new(&lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;localhost&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;, port) &lt;span style="color:#080; font-weight:bold"&gt;rescue&lt;/span&gt; port = &lt;span style="color:#00D; font-weight:bold"&gt;0&lt;/span&gt;
      &lt;span style="color:#080; font-weight:bold"&gt;if&lt;/span&gt; (port &amp;gt; &lt;span style="color:#00D; font-weight:bold"&gt;0&lt;/span&gt;) &lt;span style="color:#080; font-weight:bold"&gt;then&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;break&lt;/span&gt;; &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

  &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

  port

&lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

puts find_unused_port.to_s&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;


	&lt;p&gt;It is Ruby because my own applications include a packaged version of the Ruby interpreter. This affords me a great deal of power, being able to execute .rb scripts as part of the install process. You can do similar things in other languages, or, if you don&amp;#8217;t mind processing large amounts of text, using the command &lt;code&gt;netstat -a -n&lt;/code&gt;, and parsing all that are &amp;#8220;LISTENING&amp;#8221;.&lt;/p&gt;</description>
      <pubDate>Thu, 04 Oct 2007 05:05:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:88e50711-06b2-41a6-b3a9-70fe1702afd9</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/10/04/finding-an-unused-network-port-for-server-applications-with-ruby</link>
      <category>Ruby</category>
    </item>
    <item>
      <title>Debugging in NUnit with Visual Studio 2005</title>
      <description>&lt;p&gt;You already know that the debugger is one of the best tools in the entire Visual Studio package. You might not be aware that it is possible to debug your source code when it is running in NUnit (and other code-hosting applications).&lt;/p&gt;


	&lt;p&gt;To debug your project, follow these simple instructions:&lt;/p&gt;


	&lt;p&gt;Make sure that Visual Studio 2005 and NUnit are both loaded and that you have opened your project in each.&lt;/p&gt;


	&lt;p&gt;In Visual Studio, select &amp;#8220;Attach to Process&amp;#8221; on the Debug menu. Because NUnit is running, you will see nunit.exe in the list of processes. Double click on it.&lt;/p&gt;


	&lt;p&gt;That&amp;#8217;s literally it! Now you can set break-points in your test code (and any code that your test code references), and step through it just as you would if it were running in Visual Studio.&lt;/p&gt;


	&lt;p&gt;There is one thing to note: when you are compiling and testing in regular and small steps, you might find that things get &amp;#8216;out of sync&amp;#8217;. The first you know about it is likely that Visual Studio tells you that it &amp;#8220;can&amp;#8217;t find the code for the current location&amp;#8221; (sorry, the exact error message slips my memory right now, and I can&amp;#8217;t recreate it).&lt;/p&gt;


	&lt;p&gt;When this happens, close NUnit. If you have the options available, I also suggest running a &amp;#8216;Clean Solution&amp;#8217; and &amp;#8216;Rebuild Solution&amp;#8217; before re-loading NUnit. That always fixes the problem, at least for a while.&lt;/p&gt;</description>
      <pubDate>Mon, 01 Oct 2007 12:09:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:04f3ab5b-1d99-42b1-952b-d3bf8765d88c</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/10/01/debugging-in-nunit-with-visual-studio-2005</link>
      <category>.NET</category>
    </item>
    <item>
      <title>Subversion Hosting at CodeSpaces.com</title>
      <description>&lt;p&gt;If you are interested in trying out Subversion for your team, or are looking for a reliable and cost-effective Subversion host, I recommend you try &lt;a href="http://www.codespaces.com"&gt;CodeSpaces.com&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Apart from Subversion hosting, CodeSpaces is also a Trac-like project management system, built on top of the marvellous &lt;a href="http://www.extjs.com"&gt;Ext-js&lt;/a&gt; toolkit. If nothing else, it&amp;#8217;s a great example of what Ext-js can do.&lt;/p&gt;


	&lt;p&gt;A single user, single repository account is free, and provides an ideal way to try before you buy. The cost of a multi-user plan seems most reasonable.&lt;/p&gt;


	&lt;p&gt;Arctus are not affiliated with CodeSpaces in any way, we just like their service.&lt;/p&gt;</description>
      <pubDate>Thu, 27 Sep 2007 05:03:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:c85065aa-a5cf-466f-99eb-efe2050c7aac</guid>
      <author>adrian@arctus.co.uk (Adrian O'Connor)</author>
      <link>http://blog.arctus.co.uk/articles/2007/09/27/subversion-hosting-at-codespaces-com</link>
      <category>Subversion</category>
      <category>Hosting</category>
    </item>
  </channel>
</rss>
