<?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"
	>

<channel>
	<title>Graceful Exits &#187; enterprise</title>
	<atom:link href="http://www.jpstacey.info/blog/category/enterprise/www.jpstacey.info/blog/category/enterprise/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jpstacey.info/blog</link>
	<description>Garbage collection, in a very real sense</description>
	<pubDate>Tue, 30 Sep 2008 20:10:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Activism and alumnivism at the third Drupal for NGOs</title>
		<link>http://www.jpstacey.info/blog/2008/09/30/activism-and-alumnivism-at-the-third-drupal-for-ngos/</link>
		<comments>http://www.jpstacey.info/blog/2008/09/30/activism-and-alumnivism-at-the-third-drupal-for-ngos/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 20:05:47 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[conferences]]></category>

		<category><![CDATA[discussion]]></category>

		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[algiusmi]]></category>

		<category><![CDATA[civicrm]]></category>

		<category><![CDATA[comicrelief]]></category>

		<category><![CDATA[d4ngos]]></category>

		<category><![CDATA[drupal]]></category>

		<category><![CDATA[drupal4ngos]]></category>

		<category><![CDATA[drupalforngos]]></category>

		<category><![CDATA[gcap]]></category>

		<category><![CDATA[inmyname]]></category>

		<category><![CDATA[robpurdie]]></category>

		<category><![CDATA[whitebandaction]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=295</guid>
		<description><![CDATA[I left shortly after everyone went to the pub, but I imagine there were more red noses later.]]></description>
			<content:encoded><![CDATA[<p>The considerably more hirsute than previously <a href="http://importantprojects.co.uk/" >Rob Purdie</a> put together yet another great <a href="http://drupal.org.uk/event/drupal-ngos-september-2008/26-aug-2008" >Drupal for NGOs meet-up</a> yesterday in London. <a href="http://makemineatriple.com/" >Bryan</a> and I hared over from Oxfordshire, getting there only fifteen minutes late, but people were still making their way through the beer and nibbles very thoughtfully provided by our hosts.</p>
<p><a href="http://www.comicrelief.com/" >Comic Relief</a>&#8217;s offices weren&#8217;t quite what you&#8217;d expect&#8212;a smart floor in a posh block, right by a certain security service&#8217;s s3krit headquarters&#8212;but definitely <em>very</em> Comic Relief, as you can see from the distinctly nose-coloured cast in the <a href="http://www.flickr.com/groups/805514@N20/pool/" >photos of the event</a>. Rob managed to keep breaking the ice all evening, with such ruses as encouraging a <a href="http://www.flickr.com/photos/robpurdie/2900719277/in/pool-805514@N20" >group photo of everyone with angry faces</a>.</p>
<p>The two main talks were as informative as ever, although there was definitely a different feel to them. Whereas previous &#8220;big-hitter&#8221; NGO projects showed Drupal in an &#8220;enterprise&#8221; environment (make of the words in quotes what you will), the slightly more close-ended projects, presented by the majority of the development team involved in them, warmed the group as a whole up more: there was more discussion in the round and sharing of&#8212;or at least hinting at&#8212;solutions to common problems. Oliver MacColl, Brett and Ben Dodd presented the  <a href="http://www.whitebandaction.org/" >inmyname.com / White Band Action</a>, and Francesco Moretto discussed the implementation of CiviCRM and Drupal that lay behind the recent online relaunch of <abbr title="Università degli Studi di Milano / University of Milan" ><a href="http://www.unimi.it/" >UNIMI&#8217;s</a></abbr> alumnus society, <a href="http://www.algiusmi.it/">ALGIUSMI</a>.</p>
<p>You can&#8217;t get the likes of <a href="http://amnesty.org/" >Amnesty International</a> or <a href="http://www.greenpeace.org.uk/" >Greenpeace</a> to talk at every meeting, so it was nice to see the event&#8217;s structure capable of embracing projects that were no less impressive by not having a big name behind them. It bodes well for the future, too, as smaller-scale Drupalers should feel emboldened to come forwards and share their experiences with everyone else.</p>
<p>If you weren&#8217;t there, there&#8217;s now <a href="http://drupal.org.uk/uk-irc-channel-now-added-bot" >an IRC channel devoted to the UK Drupal scene</a>, where a fair few of the <abbr title="Drupal for NGOs, and now I've worked out why I keep saying 'Django' when I mean 'Drupal' these days, and vice versa" >D4NGOs</abbr> crowd hang out: do pop in and say hi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/09/30/activism-and-alumnivism-at-the-third-drupal-for-ngos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Background HTTP fetching and cacheing in ASP/VBScript</title>
		<link>http://www.jpstacey.info/blog/2008/09/22/background-http-fetching-and-cacheing-in-aspvbscript/</link>
		<comments>http://www.jpstacey.info/blog/2008/09/22/background-http-fetching-and-cacheing-in-aspvbscript/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 19:25:07 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[quickies]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[.net]]></category>

		<category><![CDATA[application]]></category>

		<category><![CDATA[asp]]></category>

		<category><![CDATA[aspx]]></category>

		<category><![CDATA[cache]]></category>

		<category><![CDATA[dotnet]]></category>

		<category><![CDATA[http]]></category>

		<category><![CDATA[msxml2]]></category>

		<category><![CDATA[serverxmlhttp]]></category>

		<category><![CDATA[vbscript]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=162</guid>
		<description><![CDATA[Getting ASP to embrace Web 1.1 is as easy, and as pretty, as you'd imagine.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve recently had to integrate code with a large ASP application, which provided me with certain opinion-forming revelations about how the other half live. Part of this integration required us to write some ASP, an unexpected and un-wished-for surprise in itself. We had to generate livery in our own application&#8212;to make webpages from both sites consistent&#8212;and expose it to ASP via a HTTP call over the wire. The ASP application could then cache it, to avoid the extra per-page overhead of a HTTP call plus dynamic generation.</p>
<p>I provide below some reasonably solid HTTP fetching and cacheing in ASP/VBScript. I hesitate to add &#8220;because almost everything I found on the web was rubbish&#8221; because that would show hubris in the face of me having just had to sanitize the code, quite likely introducing typos along the way. These code samples also come with no warranty and no likelihood of me answering awkward questions about them. To invoke the fetcher/cacher, put the following in your currently executed VBScript file:</p>
<blockquote class="code"><p>
&lt;% Dim strUrl, strUrlKey, objWinHttp<br />
strUrlKey = &#8220;top_menus&#8221; %&gt;<br />
&lt;!&#8211; #include file=&#8221;fetch.inc&#8221; &#8211;&gt;<br />
. . .<br />
&lt;% strUrlKey = &#8220;side_menus&#8221; %&gt;<br />
&lt;!&#8211; #include file=&#8221;fetch.inc&#8221; &#8211;&gt;<br />
. . .<br />
&lt;% strUrlKey = &#8220;footer&#8221; %&gt;<br />
&lt;!&#8211; #include file=&#8221;fetch.inc&#8221; &#8211;&gt;
</p></blockquote>
<p>Some notes on this below, but here is the actual fetcher/cacher to put in <code>fetch.inc</code> and bring it in with the above:</p>
<blockquote class="code"><p>
&lt;%<br />
&#8216; @description remote calls to get livery<br />
&#8216;<br />
&#8216; @param strUrl might need to be Dim-defined in wrapping file<br />
&#8216; @param strUrlKey must be Dim-defined and set to a particular<br />
&#8216;&nbsp;&nbsp;&nbsp;livery identifier in wrapping file  - also appends it to the URL<br />
&#8216;&nbsp;&nbsp;&nbsp;query string that it gets<br />
&#8216; @returns HTML on standard output<br />
<br />
strUrl = &#8220;http://example.com/?livery=&#8221; &#038; strUrlKey<br />
<br />
&#8216; Cache timeout is 60 minutes<br />
&#8216; Application(foo) fails gracefully if key foo does not exist<br />
If DateDiff(&#8221;n&#8221;, Application(strUrl &#038; &#8220;.LastModified&#8221;), Now()) >= 60 Then<br />
&nbsp;&nbsp;&#8217; If cache expired, get the page<br />
&nbsp;&nbsp;Set objWinHttp = CreateObject(&#8221;Msxml2.ServerXMLHTTP&#8221;)<br />
&nbsp;&nbsp;&#8217; Turn error handling on<br />
&nbsp;&nbsp;On Error Resume Next<br />
<br />
&nbsp;&nbsp;&#8217; Timeouts will now be handled<br />
&nbsp;&nbsp;objWinHttp.open &#8220;GET&#8221;, strUrl, False<br />
&nbsp;&nbsp;objWinHttp.send<br />
<br />
&nbsp;&nbsp;&#8217; If no error, trust content<br />
&nbsp;&nbsp;If Err.number = 0 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#8217; Lock the application scope and insert page and cache date<br />
&nbsp;&nbsp;&nbsp;&nbsp;Application.Lock()<br />
&nbsp;&nbsp;&nbsp;&nbsp;Application(strUrlKey) = objWinHttp.responseText<br />
&nbsp;&nbsp;&nbsp;&nbsp;Application(strUrlKey &#038; &#8220;.LastModified&#8221;) = Now()<br />
&nbsp;&nbsp;&nbsp;&nbsp;Application.UnLock()<br />
&nbsp;&nbsp;End If<br />
<br />
&nbsp;&nbsp;&#8217; Turn error handling off<br />
&nbsp;&nbsp;On Error Goto 0<br />
<br />
End If<br />
<br />
&#8216; Regardless, read from the application<br />
Response.Write(Application(strUrlKey))<br />
<br />
&#8216; Tear down object<br />
Set objWinHttp = Nothing<br />
%></p></blockquote>
<p>The <code>Dim</code> statements before the <code>&lt;!--include--&gt;</code> make it all a real pain in the arse. Some server configurations will arbitrarily interpret and run ASP files without <code>Dim</code>s; some won&#8217;t. And you can only ever <code>Dim</code> a variable once in a particular variable scope, or everything dies horribly; you have to keep track of whether or not a variable has already been declared, pretty much <em>by eye</em>.</p>
<p>Depending on your server, you might also not have access to the particular DLL that provides <code>Msxml2.ServerXMLHTTP</code>. If that&#8217;s the case, then there are other possible ways of making the HTTP call out there on the web: it&#8217;s just that the Graceful Exits bouncer isn&#8217;t letting them through the door.</p>
<p>Now, if you&#8217;ll excuse me, I need a shower.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/09/22/background-http-fetching-and-cacheing-in-aspvbscript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UK government demonstrates lack of comprehension of web standards</title>
		<link>http://www.jpstacey.info/blog/2008/09/10/uk-government-demonstrates-lack-of-comprehension-of-web-standards/</link>
		<comments>http://www.jpstacey.info/blog/2008/09/10/uk-government-demonstrates-lack-of-comprehension-of-web-standards/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 13:20:20 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[culture]]></category>

		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[intent]]></category>

		<category><![CDATA[standards]]></category>

		<category><![CDATA[coi]]></category>

		<category><![CDATA[consultation]]></category>

		<category><![CDATA[cross-browser]]></category>

		<category><![CDATA[fail]]></category>

		<category><![CDATA[government]]></category>

		<category><![CDATA[guidelines]]></category>

		<category><![CDATA[it]]></category>

		<category><![CDATA[proposal]]></category>

		<category><![CDATA[top-down]]></category>

		<category><![CDATA[uk]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=205</guid>
		<description><![CDATA[Top-down-first governmental web guidelines unsurprisingly full of FAIL.]]></description>
			<content:encoded><![CDATA[<p>The UK government’s Central Office of Information (COI) has produced a <a href="http://www.coi.gov.uk/guidance.php?page=200" >draft report on governmental departments&#8217; adherence to browser standards</a> and asked for feedback. Depressingly, the report is not available in a web friendly format even though there&#8217;s no real reason for it to be only released as Word and PDF.</p>
<p>You can read <a href="http://www.webstandards.org/2008/09/08/uk-government-draft-browser-guidance-is-daft-browser-guidance/" >a breakdown of the worst bits on The Web Standards Project</a>, but here&#8217;s the feedback I just emailed <a href="mailto:webguidelines@coi.gsi.gov.uk" >webguidelines@coi.gsi.gov.uk</a>:</p>
<blockquote><p>
Hi,</p>
<p>I appreciate the COI&#8217;s desire to provide roadmaps for cross-browser support, but I&#8217;m otherwise dismayed at the recent publication&#8217;s back-to-front emphasis regarding browser standards support. It feels like the publication has been put together by people who are remote from the current thinking on web standards and how best to both promote them and take advantage of them.</p>
<p>As a web developer I&#8217;ve had a reasonable amount of experience in developing sites cross-browser, and generally the quickest and cheapest site creation (and the least patronising or inconveniencing to the eventual end users) is effected by developing first on the most standards-compliant browser available, regardless of its user base. Then, once the site is stable and well-built according to the standards (which are there for reasons other than semantic fussiness), one can use *freely* *available* frameworks to compensate for browsers which do not follow the standards (which may be more popular). It involves more effort at the start in exchange for a much smoother site construction later on.</p>
<p>Let me repeat that: building sites according to web standards, then accommodating bad browser behaviour, is CHEAPER, QUICKER and MORE ROBUST than what you implicitly propose i.e. building with bad-but-popular browsers in mind, and then looking at shoe-horning in browser-specific fixes for the others.</p>
<p>If you inconvenience the users of good browsers because there aren&#8217;t many of them, you are taking us back to the bad old days of 1990s browsing. I haven&#8217;t seen the phrase &#8220;We advise you to upgrade your browser version&#8221; (which I take verbatim from p4 of your report) on any site I respect and trust for almost ten years. Ask any decent web developer: it&#8217;s no longer necessary, and frankly it reveals far more about the mindset of the site designers than about the state of web technology.</p>
<p>Like the proposal&#8217;s guidelines, its consultation is happening the wrong way round, and highlights a top-down mentality behind composing such documents. Sharp, savvy developers recruited from any of the vibrant UK web conferences&#8212;dConstruct, OpenTech, Barcamps&#8212;would have been glad to have helped the COI out before this fundamental missing of the point was published, were they to have been asked. It would certainly have saved both COI and the web community at large a lot of heat, friction and wasted effort.</p>
<p>Yours faithfully,</p>
<p>J-P Stacey</p>
<p>PS: I was originally going to send this via your website&#8217;s feedback form. After having read your proposals for building good sites I decided to email it instead, just in case.
</p></blockquote>
<p>You&#8217;ve got a month to comment yourself, if you&#8217;re a UK or European developer. Feel free to use the above template, only I&#8217;d recommend changing the name at the bottom.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/09/10/uk-government-demonstrates-lack-of-comprehension-of-web-standards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emacs as an anagram of &#8220;ECMA-S&#8221;</title>
		<link>http://www.jpstacey.info/blog/2008/05/11/emacs-as-an-anagram-of-ecma-s/</link>
		<comments>http://www.jpstacey.info/blog/2008/05/11/emacs-as-an-anagram-of-ecma-s/#comments</comments>
		<pubDate>Sun, 11 May 2008 17:51:31 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[futurology]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[browser]]></category>

		<category><![CDATA[ecmascript]]></category>

		<category><![CDATA[emacs]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[ide]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[rants]]></category>

		<category><![CDATA[ria]]></category>

		<category><![CDATA[steve]]></category>

		<category><![CDATA[yegge]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2008/05/11/emacs-as-an-anagram-of-ecma-s/</guid>
		<description><![CDATA[Your editor will become your browser will become your IDE. The process has already begun. Please wait.]]></description>
			<content:encoded><![CDATA[<p><a href="http://steve-yegge.blogspot.com/2008/04/xemacs-is-dead-long-live-xemacs.html">Steve Yegge on *Emacs</a>, pointing also to the possible future direction of the *browser:</p>
<blockquote><p>&#8220;IDEs are draining users away, but it&#8217;s not the classic fat-client IDEs that are ultimately going to kill Emacs. It&#8217;s the browsers. They have all the power of a fat-client platform and all the flexibility of a dynamic system. I said earlier that Firefox wants to be Emacs. It should be obvious that Emacs also wants to be Firefox&#8230;</p>
<p>&#8220;&#8230; [N]ow the browsers are starting to sprout desktop-quality apps and productivity tools. It won&#8217;t be long, I think, before the best Java development environment on the planet is written in JavaScript.&#8221;</p>
</blockquote>
<p>I&#8217;m more of a vi user these days&#8212;it behaves much more consistently over emergency ssh sessions&#8212;but as a general advocate of Emacs over IDEs I can see his point. Browsers <em>should</em> want to be like Emacs, or at any rate more like the VM of your choice.</p>
<p>Between browser-as-VM, Firefox, ECMAScript and compatibility frameworks there&#8217;s the seeds of an RIA revolution. After all, to what extent will industries gladly rest their financial weight on RIAs, so long as they&#8217;re all written in Flash-on-the-browser, and so long as browsers remain so unpredictable and Flash remains&#8230; well, Flash?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/05/11/emacs-as-an-anagram-of-ecma-s/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Inconsistent syntax in SQL Server&#8217;s sp_rename</title>
		<link>http://www.jpstacey.info/blog/2008/04/03/inconsistent-syntax-in-sql-servers-sp_rename/</link>
		<comments>http://www.jpstacey.info/blog/2008/04/03/inconsistent-syntax-in-sql-servers-sp_rename/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 16:47:28 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[hacking]]></category>

		<category><![CDATA[subtleties]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2008/04/03/inconsistent-syntax-in-sql-servers-sp_rename/</guid>
		<description><![CDATA[Microsoft's developer-level APIs don't always work in precisely the way you'd expect them to, you know.]]></description>
			<content:encoded><![CDATA[<p>To rename columns in a SQL Server database, you can use sp_rename. The syntax of the command, in Transact-SQL-ese, is:</p>
<blockquote class="code"><p>
sp_rename<br />
&nbsp;&nbsp;[ @objname = ] &#8216;object_name&#8217; ,<br />
&nbsp;&nbsp;[ @newname = ] &#8216;new_name&#8217;<br />
&nbsp;&nbsp;[ , [ @objtype = ] &#8216;object_type&#8217; ]
</p></blockquote>
<p>So say you have a table called <code>t_est</code>, with a column in it called <code>est_client</code>. You want to rename these to <code>t_job</code> and <code>job_client</code> respectively. Firstly, with some trepidation, you rename the table:</p>
<blockquote class="code"><p>sp_rename &#8216;t_est&#8217;, &#8216;t_job&#8217;</p></blockquote>
<p>You find, miracle of miracles, that it works! SQL Server warns you about stored procedures breaking, but looking at other dependent tables you find that foreign key constraints have all been updated so you still have referential integrity.</p>
<p>At this point, you might try renaming a column called, say, <code>est_client</code> to <code>job_client</code> as follows:</p>
<blockquote class="code"><p>sp_rename &#8216;est_client&#8217;, &#8216;job_client&#8217;</p></blockquote>
<p>That&#8217;s wrong, of course, as you soon find out: the <code>object_name</code> needs to be qualified to distinguish it from . So you might try:</p>
<blockquote class="code"><p>sp_rename &#8216;t_job.est_client&#8217;, &#8216;t_job.job_client&#8217;</p></blockquote>
<p>Well, that was successful, but: oh! You now have a column called <code>t_job.job_client</code>, in the <code>t_job</code> table. It looks like <code>new_name</code> shouldn&#8217;t have been qualified after all: you should have assumed inconsistency where consistency was implied by the spec. Well, dealing with Microsoft&#8217;s tech documentation is certainly a learning experience at the best of times, so chalk this one up to experience. But if you now try to learn from your mistakes and revert the column name, you find you can&#8217;t, because:</p>
<blockquote class="code"><p>sp_rename &#8216;t_job.t_job.job_client&#8217;, &#8216;job_client&#8217;</p></blockquote>
<p>tries to rename the column <code>job_client</code>, owned by <em>user</em> <code>t_job</code>, in table <code>t_job</code>&#8230; to <code>job_client</code>. After much headscratching, you finally realise that you can employ <em>double quotes</em> to qualify the column name and make SQL Server treat the dot as a literal dot and not a separator:</p>
<blockquote class="code"><p>sp_rename &#8216;t_job.&#8221;t_job.job_client&#8221;&#8216;, &#8216;job_client&#8217;</p></blockquote>
<p>You sit back, grudgingly satisfied. More time passes. Spring arrives. The owls are not what they seem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/04/03/inconsistent-syntax-in-sql-servers-sp_rename/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Software simple and software facile</title>
		<link>http://www.jpstacey.info/blog/2007/09/12/software-simple-and-software-facile/</link>
		<comments>http://www.jpstacey.info/blog/2007/09/12/software-simple-and-software-facile/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 09:07:45 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[business]]></category>

		<category><![CDATA[culture]]></category>

		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[information]]></category>

		<category><![CDATA[paradigms]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[barcamp]]></category>

		<category><![CDATA[brighton]]></category>

		<category><![CDATA[consumer]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[rest]]></category>

		<category><![CDATA[soap]]></category>

		<category><![CDATA[vendor]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/09/12/software-simple-and-software-facile/</guid>
		<description><![CDATA[Assaf writes about, among other things, REST as a simplifier of development against an existing system:
REST plays the same role as open source and open APIs: It eliminates tooling and vendoring as artificial barriers to adoption.

Interestingly, a corollary to this was brought up at Barcamp Brighton this weekend. During Gareth Rushgrove&#8217;s talk about REST and [...]]]></description>
			<content:encoded><![CDATA[<p>Assaf writes about, among other things, <a href="http://blog.labnotes.org/2007/09/10/rounded-corners-144-slight-of-hand/">REST as a simplifier of development against an existing system</a>:</p>
<blockquote><p><i>REST plays the same role as open source and open APIs: It eliminates tooling and vendoring as artificial barriers to adoption.</i></p>
</blockquote>
<p>Interestingly, a corollary to this was brought up at Barcamp Brighton this weekend. During <a href="http://www.morethanseven.net/">Gareth Rushgrove&#8217;s</a> talk about REST and <a href="http://www.nabaztag.com/">Nabaztag</a>, a chap whose name I&#8217;ve <em>again</em> forgotten (although I&#8217;m sure someone like <a href="http://fatbusinessman.com/">Fatty</a> will <a href="/blog/2007/09/10/post-mortem-post-brighton/#comments">enlighten me</a>) pointed out that much of the push of SOAP is coming from the vendors, because the vendors make their money from selling tools, and REST development needs very few tools, most of which are free.</p>
<p>Undoubtedly there&#8217;s a set of problems that REST finds hard, but this truism is extended by SOAP vendors to the hard-to-prove (but also hard-to-contradict) claim that it&#8217;s a larger set, or a set more pertinent to enterprise solutions, than the set which SOAP finds hard. It convinces the consumers, because intelligent data mining and storage has always been a difficult problem, and a simple solution like REST feels like underkill for the job in hand. They let you confuse <i>libre</i> and <i>gratis</i>, the vendors point out (I see them sitting on the consumer&#8217;s shoulders with tridents at this point): so where&#8217;s the hidden cost of <em>this</em> free lunch?</p>
<p>(hat tip to <a href="http://simonwillison.net/2007/Sep/10/">Simon Willison</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/09/12/software-simple-and-software-facile/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Distributed Drupal development, determined by dedicated Drupaler</title>
		<link>http://www.jpstacey.info/blog/2007/08/20/distributed-drupal-development-determined-by-dedicated-drupaler/</link>
		<comments>http://www.jpstacey.info/blog/2007/08/20/distributed-drupal-development-determined-by-dedicated-drupaler/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 09:51:56 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[projects]]></category>

		<category><![CDATA[quickies]]></category>

		<category><![CDATA[subtleties]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/08/20/distributed-drupal-development-determined-by-dedicated-drupaler/</guid>
		<description><![CDATA[A recent thread on the Drupal development list (started by me, I confess) led to Larry Garfield publishing his development environment online. It&#8217;s interesting to see what problems he&#8217;s had to solve (and what problems he hasn&#8217;t needed to solve).
Our development is explained on those list postings: I&#8217;ll put a diagram and more coherent explanation [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://lists.drupal.org/pipermail/development/2007-August/thread.html#25898" title="Active databases and development/test/production environment (was: ASP integration with Drupal?) " >recent thread</a> on the <a href="http://drupal.org/" >Drupal</a> development list (started by me, I confess) led to Larry Garfield <a href="http://www.garfieldtech.com/blog/drupal-dev-server" title="Drupal development server configuration" >publishing his development environment online</a>. It&#8217;s interesting to see what problems he&#8217;s had to solve (and what problems he hasn&#8217;t needed to solve).</p>
<p>Our development is explained on those list postings: I&#8217;ll put a diagram and more coherent explanation up here when I get a chance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/08/20/distributed-drupal-development-determined-by-dedicated-drupaler/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
