<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Why Rails won&#8217;t become OpenACS, or &quot;Rails is cool, but can we have a login system?&quot;</title>
	<atom:link href="http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/feed/" rel="self" type="application/rss+xml" />
	<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/</link>
	<description>spiritual entrepreneurship, personal growth, internet, food, politics.</description>
	<lastBuildDate>Fri, 13 Jan 2012 16:13:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Mark Aufflick</title>
		<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/comment-page-1/#comment-768</link>
		<dc:creator>Mark Aufflick</dc:creator>
		<pubDate>Thu, 17 Nov 2005 01:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://pinds.com/2007/07/27/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system#comment-768</guid>
		<description>For the benefit of readers (Lars, I know you know this), I respect Lars more than any other developer I have known - as a developer and a thinker.

This time Lars, I think you are wrong, or perhaps just not hitting what you want to say. You are talking about a login system, but the re-use component IMO is permissions. I admit to being way out of date as to what is in Rails these days, but the seriously full-on permissions system in OpenACS is one of it&#039;s major assets.

Developing a login system is easy. Developing a fully recursive, massively scaleable, audited (etc.) permissions system is hard. Not np-hard, but very time consuming.

And when someone else adds LDAP support to their implementation of Rails permissions/login, do you get to use it for free when you upgrade?

On balance, I totally agree that large scale reuse is an unsolved problem. I have a foot in a number of development camps these days , all of which have their own styles of reuse:

  * Perl -- CPAN -- low (DBI) to high (Catalyst) level reuse -- API style and upgrade path defined by each package owner
  * OpenACS -- OpenACS repositary -- low (util procs) to ultra high (bug tracker) level reuse -- API style and upgrade path mandated (sort of) by elected group
  * Apple Mac development -- random projects released under random licenses -- low level reuse -- API style and upgrade paths usually minimal

Just because totally optimal reuse is an unsolved problem doesn&#039;t mean we should try to stretch higher. Over time I would hope that we learn ways of increasing our reuse and OpenACS is one of the best I have ever come across. The style of reuse there, however, is fairly domain specific - online collaborative apps. Perhaps the problem comes when you try to apply a style of reuse that suits that domain to other domains.

Writing the above bullet points makes me realise that upgrades are closely linked with large scale code reuse. You can&#039;t just upgrade the re-used code without a way to do things like upgrading your database schema and data or versioning your api calls...

Still - I truly hate implementing a new permissions system for every client Perl project just because they want something slightly different. If I had an OpenACS calibre permission/login system to roll out in Perl I would be truly happy!

Perhaps I am the one who hasn&#039;t hit the mark. I get passionate about code reuse - perhaps we need to work on a manifesto along the lines of XP. Extreme Reuse :)

I need to work on these thoughts some more - cross posting to my blog for further contemplation...

Hmm - I don&#039;t have trackback on my blog, but I will magically get it when I upgrade my web framework. Now that&#039;s re-use ;)</description>
		<content:encoded><![CDATA[<p>For the benefit of readers (Lars, I know you know this), I respect Lars more than any other developer I have known &#8211; as a developer and a thinker.</p>
<p>This time Lars, I think you are wrong, or perhaps just not hitting what you want to say. You are talking about a login system, but the re-use component IMO is permissions. I admit to being way out of date as to what is in Rails these days, but the seriously full-on permissions system in OpenACS is one of it&#8217;s major assets.</p>
<p>Developing a login system is easy. Developing a fully recursive, massively scaleable, audited (etc.) permissions system is hard. Not np-hard, but very time consuming.</p>
<p>And when someone else adds LDAP support to their implementation of Rails permissions/login, do you get to use it for free when you upgrade?</p>
<p>On balance, I totally agree that large scale reuse is an unsolved problem. I have a foot in a number of development camps these days , all of which have their own styles of reuse:</p>
<p>  * Perl &#8212; CPAN &#8212; low (DBI) to high (Catalyst) level reuse &#8212; API style and upgrade path defined by each package owner<br />
  * OpenACS &#8212; OpenACS repositary &#8212; low (util procs) to ultra high (bug tracker) level reuse &#8212; API style and upgrade path mandated (sort of) by elected group<br />
  * Apple Mac development &#8212; random projects released under random licenses &#8212; low level reuse &#8212; API style and upgrade paths usually minimal</p>
<p>Just because totally optimal reuse is an unsolved problem doesn&#8217;t mean we should try to stretch higher. Over time I would hope that we learn ways of increasing our reuse and OpenACS is one of the best I have ever come across. The style of reuse there, however, is fairly domain specific &#8211; online collaborative apps. Perhaps the problem comes when you try to apply a style of reuse that suits that domain to other domains.</p>
<p>Writing the above bullet points makes me realise that upgrades are closely linked with large scale code reuse. You can&#8217;t just upgrade the re-used code without a way to do things like upgrading your database schema and data or versioning your api calls&#8230;</p>
<p>Still &#8211; I truly hate implementing a new permissions system for every client Perl project just because they want something slightly different. If I had an OpenACS calibre permission/login system to roll out in Perl I would be truly happy!</p>
<p>Perhaps I am the one who hasn&#8217;t hit the mark. I get passionate about code reuse &#8211; perhaps we need to work on a manifesto along the lines of XP. Extreme Reuse :)</p>
<p>I need to work on these thoughts some more &#8211; cross posting to my blog for further contemplation&#8230;</p>
<p>Hmm &#8211; I don&#8217;t have trackback on my blog, but I will magically get it when I upgrade my web framework. Now that&#8217;s re-use ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Pind</title>
		<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/comment-page-1/#comment-769</link>
		<dc:creator>Lars Pind</dc:creator>
		<pubDate>Thu, 17 Nov 2005 01:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://pinds.com/2007/07/27/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system#comment-769</guid>
		<description>Well, clearly I&#039;ve missed your mark (no pun intended), but it&#039;s still the request I hear most often.

I&#039;m pretty happy to not have to deal with the OpenACS permsisions model, though. It never did what I needed it to do for my projects, and it&#039;s impossible to make a UI for it that sane people can figure out to use, because, well, the system model isn&#039;t sane. And it didn&#039;t perform all too well, even if you remembered to only use the magic stored procedure in the SELECT part, not in the WHERE part.

If it does the trick for you, by all means use it.

But I  find it much faster to build and easier to test and maintain when I build in just the permissions that I need.

It&#039;s a different way to think about the problem, but given that we&#039;ve tried the other one for 10 years and it isn&#039;t quite working, maybe it&#039;s time to stop thinking execution is the problem, and try something different.</description>
		<content:encoded><![CDATA[<p>Well, clearly I&#8217;ve missed your mark (no pun intended), but it&#8217;s still the request I hear most often.</p>
<p>I&#8217;m pretty happy to not have to deal with the OpenACS permsisions model, though. It never did what I needed it to do for my projects, and it&#8217;s impossible to make a UI for it that sane people can figure out to use, because, well, the system model isn&#8217;t sane. And it didn&#8217;t perform all too well, even if you remembered to only use the magic stored procedure in the SELECT part, not in the WHERE part.</p>
<p>If it does the trick for you, by all means use it.</p>
<p>But I  find it much faster to build and easier to test and maintain when I build in just the permissions that I need.</p>
<p>It&#8217;s a different way to think about the problem, but given that we&#8217;ve tried the other one for 10 years and it isn&#8217;t quite working, maybe it&#8217;s time to stop thinking execution is the problem, and try something different.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Aufflick</title>
		<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/comment-page-1/#comment-770</link>
		<dc:creator>Mark Aufflick</dc:creator>
		<pubDate>Thu, 17 Nov 2005 01:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://pinds.com/2007/07/27/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system#comment-770</guid>
		<description>Ok, so I&#039;ve done some more reading and some more thinking. I can&#039;t help seeing that you are right, but the damn &quot;Analytical&quot; personality in me keeps seeing re-usable concepts everywhere in life - if only we could generalise them enough!

And perhaps that&#039;s really it. Perhaps life is not general in the way we have thought. Perhaps life isn&#039;t best optimised in the same way as a least cost routing algorithm. Most applications are, after all, about augmenting human activites.</description>
		<content:encoded><![CDATA[<p>Ok, so I&#8217;ve done some more reading and some more thinking. I can&#8217;t help seeing that you are right, but the damn &quot;Analytical&quot; personality in me keeps seeing re-usable concepts everywhere in life &#8211; if only we could generalise them enough!</p>
<p>And perhaps that&#8217;s really it. Perhaps life is not general in the way we have thought. Perhaps life isn&#8217;t best optimised in the same way as a least cost routing algorithm. Most applications are, after all, about augmenting human activites.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Aufflick</title>
		<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/comment-page-1/#comment-771</link>
		<dc:creator>Mark Aufflick</dc:creator>
		<pubDate>Thu, 17 Nov 2005 01:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://pinds.com/2007/07/27/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system#comment-771</guid>
		<description>Having just read the article by Robert Glass, it reminds me about the reason that I stayed with OpenACS when ArsDigita folded.

People are important.

TCL is unsexy. In fact it&#039;s down right annoying. Possibly even more so than Java.  Who hasn&#039;t wasted 30 minutes on a missing space or badly quoted list or on trying to understand Lars&#039;s upvar genius :) The OpenACS framework is powerful, but the learning curve is steep. So many reasons to leave it alone.

But in the ACS/OpenACS community I found people who would (and did) help me grow. I learned more about being a great developer from members of the OpenACS community than from my degree or all the corporate environments I have worked in.

Those same people were why I was confident that OpenACS was a good technology platform to base my business on.

Unfortunately, as time continues to leave the era of the Internet&#039;s birth and Arsdigita behind, the OpenACS community is changing (for possibly unrelated reasons).

More than that, the technology community is changing. Some of the wonder and the fun seems to have gone. I even thought about giving technology away all together. If we can&#039;t make large scale reuse work, are we doomed to repeat the same work over and over again?

What is next? What is going to be great about this decade that we will look back and say &quot;wow, look at how far we have come&quot;.

I think part of what you are saying Lars, is that sometimes it&#039;s time to stop flogging the same dead horse. If it&#039;s true that now is that time, then lets not just jump on another horse and do the same thing in a similar direction - what we need is to step back and decide where to go next. Big picture.

I sometimes get frustrated that I don&#039;t have the institutional luxuries of Xerox Parc and I am just a little too young to  have accessed the millions of easy dollars of dotcom VC funding. But if I don&#039;t start to dream and then run to achieve those dreams, then I may well wake up in 20 years in a world that is not all I had hoped.

This comment feels a little melodramatic! And how is it related to the original topic? I think that sometimes we fall into exactly the trap that Glass talks about. It is nice to believe that a change in the systems and technologies that we use will take us to where we want to go. In reality though, it is people and vision and relationship that is what we need. Anything else will fall short of what we desire.

Just to return us to the topic to finish off, let&#039;s see what Glass has to say about whether reuse-in-the-large is at all feasable:

&lt;blockquote&gt;&lt;i&gt;OK, so reuse-in-the-large is a difficult, if not intractable, problem. Is there any way in which we can increase the odds of making it work?

The answer is &quot;yes.&quot; It may be nearly impossible to find components of consequence that can be reused across application domains, but within a domain, the picture improves dramatically

...

Software people speak of &quot;families&quot; of applications and &quot;product lines&quot; and &quot;family-specific architectures.&quot; Those are the people who are realistic enough to believe that reuse-in-the-large, if it is ever to succeed, must be done in a collection of programs that attacks the same kinds of problems.&lt;/i&gt;&lt;/blockquote&gt;

And with that I bid you good night!</description>
		<content:encoded><![CDATA[<p>Having just read the article by Robert Glass, it reminds me about the reason that I stayed with OpenACS when ArsDigita folded.</p>
<p>People are important.</p>
<p>TCL is unsexy. In fact it&#8217;s down right annoying. Possibly even more so than Java.  Who hasn&#8217;t wasted 30 minutes on a missing space or badly quoted list or on trying to understand Lars&#8217;s upvar genius :) The OpenACS framework is powerful, but the learning curve is steep. So many reasons to leave it alone.</p>
<p>But in the ACS/OpenACS community I found people who would (and did) help me grow. I learned more about being a great developer from members of the OpenACS community than from my degree or all the corporate environments I have worked in.</p>
<p>Those same people were why I was confident that OpenACS was a good technology platform to base my business on.</p>
<p>Unfortunately, as time continues to leave the era of the Internet&#8217;s birth and Arsdigita behind, the OpenACS community is changing (for possibly unrelated reasons).</p>
<p>More than that, the technology community is changing. Some of the wonder and the fun seems to have gone. I even thought about giving technology away all together. If we can&#8217;t make large scale reuse work, are we doomed to repeat the same work over and over again?</p>
<p>What is next? What is going to be great about this decade that we will look back and say &quot;wow, look at how far we have come&quot;.</p>
<p>I think part of what you are saying Lars, is that sometimes it&#8217;s time to stop flogging the same dead horse. If it&#8217;s true that now is that time, then lets not just jump on another horse and do the same thing in a similar direction &#8211; what we need is to step back and decide where to go next. Big picture.</p>
<p>I sometimes get frustrated that I don&#8217;t have the institutional luxuries of Xerox Parc and I am just a little too young to  have accessed the millions of easy dollars of dotcom VC funding. But if I don&#8217;t start to dream and then run to achieve those dreams, then I may well wake up in 20 years in a world that is not all I had hoped.</p>
<p>This comment feels a little melodramatic! And how is it related to the original topic? I think that sometimes we fall into exactly the trap that Glass talks about. It is nice to believe that a change in the systems and technologies that we use will take us to where we want to go. In reality though, it is people and vision and relationship that is what we need. Anything else will fall short of what we desire.</p>
<p>Just to return us to the topic to finish off, let&#8217;s see what Glass has to say about whether reuse-in-the-large is at all feasable:</p>
<p>&lt;blockquote&gt;&lt;i&gt;OK, so reuse-in-the-large is a difficult, if not intractable, problem. Is there any way in which we can increase the odds of making it work?</p>
<p>The answer is &quot;yes.&quot; It may be nearly impossible to find components of consequence that can be reused across application domains, but within a domain, the picture improves dramatically</p>
<p>&#8230;</p>
<p>Software people speak of &quot;families&quot; of applications and &quot;product lines&quot; and &quot;family-specific architectures.&quot; Those are the people who are realistic enough to believe that reuse-in-the-large, if it is ever to succeed, must be done in a collection of programs that attacks the same kinds of problems.&lt;/i&gt;&lt;/blockquote&gt;</p>
<p>And with that I bid you good night!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rolf</title>
		<link>http://pinds.com/2005/11/17/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system/comment-page-1/#comment-772</link>
		<dc:creator>rolf</dc:creator>
		<pubDate>Thu, 17 Nov 2005 01:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://pinds.com/2007/07/27/why-rails-won-t-become-openacs-or-rails-is-cool-but-can-we-have-a-login-system#comment-772</guid>
		<description>I agree with your other post where you say a framework should make building a login system easy, rather than providing a login system itself.

However, I will add the following data points: I&#039;ve built six web applications that are still being used, and the login system was nearly identical in each one. If you download any of the half-baked PHP web forums or other web applications, login is also pretty close to the same in every system out there.

Although you&#039;ve most likely done a bunch of hairy stuff like authenticating against LDAP, typekey, or passport, I think the majority of Rails newbies just want to get a password protected page up as quickly as possible so that they can get a demo application up and running as quickly as possible.

The login generators available on the Rails wiki were confusing or broken, which probably left a number of people wondering both where to start, and why these things weren&#039;t working, when everything else in Rails seemed so easy.

The simplest solution to the whole login dilemna would be to provide a good HOWTO on building a login system, and make this HOWTO easy to find on the rails wiki. This would satisfy 95% of the people who want to get a simple login system up and running, and the other 5% can continue arguing about it on their blogs. :)

I was browsing the &quot;Agile Web Development in Rails&quot; book at the bookshop the other night, and it looks like there is a section describing a login system. Perhaps the authors of the book could simply make this section available as the free sample chapter. Or else just post somewhere publicly &quot;if you need to build a login system, just see page 34 in the Agile Rails book.&quot;</description>
		<content:encoded><![CDATA[<p>I agree with your other post where you say a framework should make building a login system easy, rather than providing a login system itself.</p>
<p>However, I will add the following data points: I&#8217;ve built six web applications that are still being used, and the login system was nearly identical in each one. If you download any of the half-baked PHP web forums or other web applications, login is also pretty close to the same in every system out there.</p>
<p>Although you&#8217;ve most likely done a bunch of hairy stuff like authenticating against LDAP, typekey, or passport, I think the majority of Rails newbies just want to get a password protected page up as quickly as possible so that they can get a demo application up and running as quickly as possible.</p>
<p>The login generators available on the Rails wiki were confusing or broken, which probably left a number of people wondering both where to start, and why these things weren&#8217;t working, when everything else in Rails seemed so easy.</p>
<p>The simplest solution to the whole login dilemna would be to provide a good HOWTO on building a login system, and make this HOWTO easy to find on the rails wiki. This would satisfy 95% of the people who want to get a simple login system up and running, and the other 5% can continue arguing about it on their blogs. :)</p>
<p>I was browsing the &quot;Agile Web Development in Rails&quot; book at the bookshop the other night, and it looks like there is a section describing a login system. Perhaps the authors of the book could simply make this section available as the free sample chapter. Or else just post somewhere publicly &quot;if you need to build a login system, just see page 34 in the Agile Rails book.&quot;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: pinds.com @ 2012-02-08 05:03:48 -->
