I don't know. :)
But don't IronRuby and Ruby.Net play a big part in this conversation?
When my customers ask me to create for them a website, an overwhelming
majority of them demand something that runs on Windows/IIS (I work for
a consulting company that specializes in Microsoft .Net technologies).
Assuming I want to take an MVC approach and eschew WebForms (and I
have taste, so I do ;) ), today I really have only one choice, and
that's MonoRail [1]. Soon, though, MS MVC will obviously be an option,
and at some point (with the advent of a production-ready IronRuby or
Ruby.Net) I assume an outright Ruby on Rails app will be an option.
So, while today I have only one MVC framework at my disposal
(MonoRail), in six months (let's say) I'll have three (MonoRail, MS
MVC, RoR). The question in my mind, then, is how will these
technologies differentiate themselves? What will be the pros/cons of
each? What value will each provide? For example, MS MVC will deliver
most of the value of MonoRail *plus* a Microsoft logo! But I
digress...
Relating this back to the OP's question...
> Should there be an open source framework built on top
> of MS MVC that delivers the full value of Convention over
> Configuration, and should that framework be a transformed MonoRail?
I can see a certain amount of value in that proposition. Do you want
an ultra-configurable MVC framework that allows the use of any of the
.Net languages? Use MS MVC. Do you want to be able to use any of the
.Net languages yet you value "convention of configuration", i.e. are
you satisfied that a certain number of sensible constraints will
enable rather than hinder your productivity for this particular
project? Use MS MVC + MonoRail. Do you want to write your app using
ruby in emacs on a debian box? Use Ruby on Rails and deploy it on
IIS/ASP.Net (don't mind if I do!).
Bottom line, there is differentiation in what is being proposed,
whereas the way things are going today MS MVC seems to be nothing more
than a reinvented, Microsoft-branded MonoRail. What's being proposed
basically gives up the fight to make MonoRail a better platform than
MS MVC. It vacates the "configurable ASP.Net MVC framework" arena,
let's MS MVC become the de facto standard, and via this new "MonoRail"
adds value (constraints and extension points) on top of it.
1: I'm sure there must be some other MVC frameworks for ASP.Net, but I
haven't seen any as used/mature as MonoRail.
--Stuart
> built on top of MS MVC that delivers the full Convention
> over Configuration
I wouldn't say that ASP MVC is based on Convention over Configuration
at all. There's a mess of avoidance of convention in the default
implementation - relative to Rails that is.
Attributes for controller actions and the need to explicitly render
views are two configuration over convention issues that come to mind
immediately - and those are just the ones I remember, and only from
having watched a demo of the framework.
I'm not going to be surprised to find yet more configuration over
convention stuff in ASP MVC. In fact, I expect to see an open source
project that brings convention over configuration to ASP MVC
immediately, rather than having to wait for Microsoft's ivory tower
theories to catch up to lessons already learned in practice in the
field.
> There may yet be an opportunity to influence this. But the developer
> community needs to pay attention to the early information about MS
MVC
> and let their opinions be known.
Done. Feedback was given, and dismissed. In fact, the first instance
of feedback on this is on tape from the presentation at the ALT.NET
conference. The follow-up conversation is not recorded, but was just
more of the same.
This is yet another triumph of theory over practice. It's the way
that Microsoft folks - even the best of `em like Scot Guthrie - have
become used to doing product design. As always, in two years they'll
light on what we were talking about back then, but it will of course
be too late.
The stock "you can write your own policy plug-ins for Convention over
Configuration" is an intellectually bankrupt position... There's no
reason that the frameworks I use shouldn't come out of the box ready
to go. I'm too busy to be fixing frameworks while also also building
product for my customer.
Anyway... same old same old insular Redmond.
I haven't emailed Phil. My experience with Microsoft as reinforced by
my years of experience with the company tells me that I can invest my
time in other efforts that are bound to yield more value.
I gave my feedback. It was dismissed. I went back to work with Rails
with ever more confidence that I made the right technology decision -
a decision based on factors that I have yet to see the players on
Microsoft's side get hip to yet.
And I will absolutely reserve the right to wag a prescient and knowing
finger at the result if I call it true.
I'm open to being pleasantly surprised, however.
1. Don't require [ControllerAction] to indicate a controller action.
2. Don't require calling RenderView. Do it automatically based on
conventions.
Am I correct?
Here's the current thinking on these two:
1. I actually lobbied for this when I joined, but now agree that there
are *good* reasons not to make every public method on a controller web
visible. I'm all for convention and a bit of magic, but when magic
exposes something without your knowledge, that can be dangerous for
security reasons. Besides, we're not alone in thinking this. There have
been those in the rails community thinking along the same lines:
http://www.bofh.org.uk/articles/2006/08/03/ruby-til-6
While you might disagree with this choice, I hardly think it's a black
or white decision. At the very least, we haven't prevented you from
doing something productive.
2. Another item I lobbied for based on my rails experience, but there is
also "industry" experience that points to requiring "RenderView" being
called as they do in Django and other Ruby web frameworks.
For example, the following scenario is problematic if the rendering
occurs *after* the action method completes:
[ControllerAction]
public void SomeAction()
{
using(IDisposable resource = DIFramework.GetService())
{
//Bunch of logic.
RenderView("SomeView", resource.Data);
}
}
Sure, I could have the controller implement IDisposable and have the
resource passed in via the controller constructor, but that's pretty
ugly IMHO if this is the only action method of several that need this
disposable resource.
Another scenario is unit testing. Take the following example:
[Test]
public void SomeTest()
{
SomeController controller = new SomeController();
controller.Index();
//Assert that the correct view is rendered.
}
If we don't make calling RenderView explicit, you know have to add extra
code to that unit test to set up whatever context actually invokes the
RenderView method. Kind of a pain if you ask me.
Personally, I'd prefer to have something like RenderView(ViewData) which
selects the view name by convention. So calling RenderView is explicit,
but the choice of view is by convention with the option to override.
The thing about convention over configuration is that it is not somehow
sacred. There are cases where convention becomes "magic" and isn't the
best choice. There are cases where convention makes the experience of
development sublime. Making those choices is the goal of the designer
and it is an art, not a science. These choices won't make everyone
happy. Sorry.
I hardly think that when the choices are made with a lot of thought and
good solid reasoning, that it should be characterized as intellectually
bankrupt. Rails is quite successful, and believe me, it is a source of
inspiration. But it should hardly be put on a pedestal as the One True
Design.
Phil
As for "the larger developer population", do you have numbers to back
that up? Seriously, I've been trying to get numbers on the various
frameworks so I understand what we're talking about. I have no idea how
many rails devs vs php devs vs structs vs ASP.NET devs there are. Would
love to see that data.
Phil
I'm not trying to be provocative or unkind, but isn't that precisely
what ASP.Net MVC is doing? (i.e. recreating what is already out there
in MonoRail)
--Stuart
As for numbers, I don't have that data. However, as soon as Monorail
and Subsonic get popular enough to have developer conferences on the
order of the Rails conferences, I'll start making some rudimentary
extrapolations.
If you're including every old ASP.NET dev in your target market, I
think you're going to end up squandering opportunities to really serve
the kind of devs interested in MVC.
Yes and no. Yes, we're recreating something similar to what's already
out there. No, it's not an exact recreation. We have different design
goals and philosophies towards design than the Monorail team and those
choices we make at every point will shape ASP.NET MVC to be something
different.
What a waste of effort to create the same exact thing.
When you look at Django and Rails, you could ask the same question. Why
build one when the other was already out? Why not just do a port to the
language of your choice?
I think that's kind of a mistake. I think rails is so successful in part
because of its attention to Ruby. In other words, ruby is a nice
productive dynamic language with a rich set of idioms and Rails is
optimized for that style of development.
ASP.NET MVC will be optimized for a slightly different style of
development and will leverage ASP.NET (membership, security,
scalability, etc...) and rich tool support (VS 200?).
There will be many who think it fits them and will be drawn to it. There
will be many who reject it and will choose other platforms or stick with
WebForms. I'd expect no less.
My goal and hope is that it will stand on its own as a great, clean,
extensible, productive, fun platform for building web apps that fit this
model of development.
Phil
> there are *good* reasons not to make every public method on a
> controller web visible.
Sure. But there are *no* good reasons to have public methods on
controllers that aren't in fact controller actions.
> There have been those in the rails community thinking
> along the same lines:
There are skilled pilots who have died in crashes as well. You guys
are in a position to provide a solid practice guidance offering with
the framework, and build a user culture that is confident and
knowledgeable.
> At the very least, we haven't prevented you from
> doing something productive.
You'd be making me add irrelevant line noise to my codebase. That's
not productive.
Make the framework based on Convention over Configuration by default,
and make the safety edges stuff an add-on. You're not giving devs the
option of removing the training wheels. You're forcing them to fit
the framework with an extra-large rear wheel so that the training
wheels don't reach the ground.
> Sure, I could have the controller implement IDisposable and have the
> resource passed in via the controller constructor, but that's pretty
> ugly IMHO if this is the only action method of several that need this
> disposable resource.
You gotta be kidding me. That's a horrible design.
This is a problem solved by using good layering and dependency
practices. Again, the framework is a much lessor offering without the
practice guidance.
> If we don't make calling RenderView explicit, you know have to add
extra
> code to that unit test to set up whatever context actually invokes
the
> RenderView method. Kind of a pain if you ask me.
The unit testing friction is there to tell you that your design is
wrong, not that the framework needs to be changed to support poor
design.
> There are cases where convention makes the experience of
> development sublime. Making those choices is the goal of the
designer
> and it is an art, not a science. These choices won't make everyone
> happy. Sorry.
You don't have to make those choices from scratch. You can just look
to the Rails community and wonder at all the little decisions the
Rails team makes to make the framework so adoptable and usable.
> Rails is quite successful, and believe me, it is a source of
> inspiration. But it should hardly be put on a pedestal as the One
True
> Design.
Indeed. I'd like to see you do something for .NET developers that
improves on Rails. It appears to me that you're not willing to take
the wisdom of the community at large in your decision though, and that
you're banking on theory.
If you're right in the end, I'll sing the praises of the framework
with verve and glee.
Bring your banjo. ;)
Phil
[ControllerAction]
public void SomeAction()
{
using(IDisposable resource = DIFramework.GetService())
{
//Bunch of logic.
RenderView("SomeView", resource.Data);
}
}
Sure, I could have the controller implement IDisposable and have the
resource passed in via the controller constructor, but that's pretty
ugly IMHO if this is the only action method of several that need this
disposable resource.
Another scenario is unit testing. Take the following example:
[Test]
public void SomeTest()
{
SomeController controller = new SomeController();
controller.Index();
//Assert that the correct view is rendered.
}
> what ASP.Net MVC is doing? ( i.e. recreating what is already out there
> in MonoRail)
>
>
> --Stuart
>
> >
>
I'm not yet convinced about baking an implicit call to RenderView. I'll
chew on that one.
As I said before, I personally wanted to get rid of the
[ControllerAction] requirement. I do think there was a lot of thought
put into keeping it there and that was the point I was making in this
thread. I still fail to see that decision as "intellectually bankrupt".
It just optimizes for a different constraint - the constraint of
security over productivity. There is a real concern over the security of
implicitly making every method web accessible. On the face of it, it
defies the principle of reducing attack surface and requiring opt-in.
Of course, on the other face of it, implementing IController or
inheriting from Controller could be seen as "opting-in". This is what I
argued when I first played with the framework.
While I didn't see the ControllerAction attribute as necessary, in
practice, it didn't bother me so much because of intellisense makes it a
lot less real typing. ;) But that doesn't solve the "clutter" issue, I know.
In any case, we're all theorizing here. The CTP should be out sometime
in December. Once it's out, you'll get a chance to play with it for real
if you want to and that would be a great time to critique the design and
submit Connect feedback (we do go through it all). Your feedback will
have more impact when it's based on real usage of the bits.
Phil
> I think rails is so successful in part because of its
> attention to Ruby. In other words, ruby is a nice
> productive dynamic language with a rich set of idioms
> and Rails is optimized for that style of development.
Rails is also successful because of Rails' idioms like principle of
least surprise and convention over configuration.
> ASP.NET MVC will be optimized for a slightly different style of
> development
Could you point to examples of who this style of development will be
applicable to?
> Of course, on the other face of it, implementing IController or
inheriting from Controller could be
> seen as "opting-in". This is what I argued when I first played with
the framework.
I was merely making the point that there is some validity to the other
view point. The analogy (and yes, no analogy is perfect) is that when I
enable IIS on my server, that shouldn't opt me in to have every possible
extension available on the web (.printer anyone?)
Again, I initially argued for not having the attribute. My point in
bringing up the alternate viewpoint is to point out that the argument
for having the attribute is not without some merits. I find it useful in
a debate to look for the merits in the opposing viewpoint rather than
simply dismissing it.
Phil
In the end, I understand that we can make the framework behave the way
we want by replacing the out-of-the-box stuff. But, we gotta sink yet
more of our free time into bringing this to life. It's hard to fit
that in while we're still working on helping the community recover
from the last developers-don't-need-to-think-oriented Microsoft
development tool.
For once, it would just be nice to see Microsoft-ish folks deliver an
out-of-the-box experience that was Positive by Default rather than For
Dummies by Default.
Could you elaborate on this?
Not to mention that it is possible to disagree on a design/design
philosophy and yet see merits in the other design and not resort to name
calling because we don't agree.
Out of curiosity, do you have "real experience" building Django apps?
The reason I ask is they've chosen a philosophy that everything should
be explicit vs the rails philosophy that focuses more on conventions.
Would you consider the Django approach to be "intellectually bankrupt"?
I remember reading a DHH quote (can't find it, so take it with a grain
of salt) in which he said something to the effect of if Django had been
around, he wouldn't have needed to create rails.
I see ASP.NET MVC as taking inspiration from both of these frameworks,
while trying to be its own thing. It's not without its flaws, for sure,
but we've not even released our first CTP yet.
Phil
Precisely: 'The stock "you can write your own policy plug-ins for
Convention over Configuration" is an intellectually bankrupt position.'
I attacked the idea. If you are identified with your ideas... well...
that's your cross to bear.
> isn't really a great way to ask anyone to consider a new direction
Nothing in my experience with Microsoft suggests that there's any
reason to believe that a framework or product design will change once
it's upper managers have become attached to their ideas about it.
> Out of curiosity, do you have "real experience" building Django apps?
No. Do you? I'd love to hear your experience with it if you have,
but if you're just borrowing from someone else's experience to justify
some of ASP MVC's design decisions, I don't really care to hear it.
I'm talking to folks in the local Rails community local Rails
community who are using Django. Trying to pick up as much as I can
about it and understand the trade offs and advantages. That's the
extent of it for me at this point.
> The reason I ask is they've chosen a philosophy that everything
should
> be explicit vs the rails philosophy that focuses more on conventions.
> Would you consider the Django approach to be "intellectually
bankrupt"?
I can't speak to it until I have more meaningful experience.
I understand that things in Django are done explicitly. If the
reasons for it's designers' choices of explicitness are the same as
yours', then I don't agree with it for the same reasons that I don't
agree with the choices made for ASP MVC. I can't say whether it's
intellectually bankrupt until I have more substantive understanding,
but I wouldn't be afraid to say that it was if I ended up feeling that
way. It depends on the motives.
The motives behind the choices for the ASP MVC framework in my opinion
are expressive of a consistent pattern of CYA-oriented, craven
decisions that end up setting the development community back.
> I remember reading a DHH quote (can't find it, so take it with a
grain
> of salt) in which he said something to the effect of if Django had
been
> around, he wouldn't have needed to create rails.
Did he say this specifically in regards to an appreciation for its
explicitness? That would be interesting. Id' like to hear more about
that if its the case. I haven't found much to disagree with DHH about
yet... although I haven't agreed with everyone on the Rails core team
about all things software development.
> It's not without its flaws, for sure,
> but we've not even released our first CTP yet.
What difference does that make? Between you, me, the lamp post, and a
couple million Microsoft developers, CTP usually means that Microsoft
is open to responding to feedback that validates the directions that
it has already committed to.
We need to start virtual riots before softies are willing to take
input seriously, and even then, when it doesn't fit the model, the
stock answer usually has something to do with it being too late in the
cycle to consider new changes.
Feedback via Connect indeed. I don't think you realize how much of an
insult Connect is to folks who work hard to carve out time in their
lives to stay connected with real people in real communities through
real relationships. There's a reason why softies always gotta say,
"we really do review the feedback on Connect." The faith has left the
building. Reviewing feedback doesn't matter one bit. What counts is
the actions that are taken based on feedback, and the agility with
which they're taken.
So this has been eating me all night...
You said you came into the project debating for Convention over
Configuration in the framework. Do you make the design decisions, or
are they made above you?
> Keep in mind that calling
> people "intellectually bankrupt" because they don't agree with you
isn't
> really a great way to ask anyone to consider a new direction.
Wait a minute... does this mean that if I talk pretty that you'll take
my issues under deeper consideration? Are you saying that the merit
of ideas are evaluated as a function of the petitioners willingness to
kiss up? Man, if that's the case, we should just cut any future
losses right now and agree that we've got nothing to talk about.
On Nov 28, 2007, at 9:02 PM, Phil Haack wrote:
> Keep in mind that calling
> people "intellectually bankrupt" because they don't agree with you
isn't
> really a great way to ask anyone to consider a new direction.
Wait a minute... does this mean that if I talk pretty that you'll take
my issues under deeper consideration?
Are you saying that the merit
of ideas are evaluated as a function of the petitioners willingness to
kiss up?
Man, if that's the case, we should just cut any future
losses right now and agree that we've got nothing to talk about.
> Nevertheless, I don't think that this excuse a lack of manners.
> From experience, you can be very firm without resorting
> to unmannered speech.
I have a broader view of the class of things where mannered-speech
resides.
Microsoft treats the world with disrespect through the quality of its
software product, and its choices in the past to employ illegal
business activities that resulted in fewer choices for its audience.
From me, Microsoft gets what it gives. That seems fair.
Gentleman, I want to thank each and every one of you for your
contributions to this discussion. In particular, I want to thank Phil
for so boldly stepping into the fray and conducting himself with
thoughtful equanimity, and Scott Bellware for taking a strong position
and defending it with clarity and vigor.
The discussion has been quite useful for me. It has helped to refine
my own opinions. Below are some of my conclusions. I offer them as
evidence of the value I've gotten from the discussion, and encourage
you to challenge them further.
1. On the specific issue of the ControllerAction attribute, I can't
honestly say that it's a deal breaker for me either way. In an earlier
4df6246170675034) I stated that I preferred requiring the attribute
over the Rails approach. For me, making a method "public" has a very
specific and limited semantic significance--it says that the method is
available to other classes. It feels like a side-effect for it to also
mean that the method is available via an HTTP request. I'm simply not
used to thinking of the meaning of "public" as contextual ( i.e. in the
Passionate heated discussions are fine, but even those can be conducted
without antagonism.
One thing we've been focused on is extensibility at all levels of the
stack. Hammet built an NVelocity view engine in no time. It's not the
same level of control that an open source project provides, but it's a
lot more than is usual from MS.
That level of control is one key advantage of Monorail as an open source
project. Another advantage is that monorail can serve platforms that
ASP.NET MVC probably won't serve any time soon, such as earlier versions
of ASP.NET.
One other advantage of an open source project is that with a motivated
community, they can provide releases much more often than we can and
they typically target a more focused or different audience. I'm not sure
that this will be a zero sum game. The analogy I use is that Subtext has
continued to thrive despite Community Server because in large part we
serve different interests and markets. Of course Telligent doesn't have
the size or influence of Microsoft, so I understand the shortcomings of
that comparison.
Phil
> On 11/29/07, *Michael Kelly* <m.sean...@gmail.com
I think this is where true mixins would be nice as Ayende has alluded to
in a recent blog post, assumisng you could mix two separate classes into
one in which you don't have the code for either.
The same thing sort of happens with MembershipProvider though. If you
buy into the membership provider, then you need to assimilate it all. In
C# 3.0 you can use extension methods to add stuff to the MembershipUser
class, for example. Perhaps not as ideal as having the user class as a
script file that you can edit as you would in rails.
Of course, in rails, what do you do when another plugin wants its own
"user" class? You have the option of merging the user classes and doing
a search and replace, but that can be a pain for the upgrade path. I'd
probably end up creating various adapters for the various user classes,
not wanting to change the core implementation.
I'm interested in testing the code that I wrote that uses plugins, not
the plugins themselves. I'm interested in plugin tests only when I'm
working directly on the plugin.
I'f I have code that uses a plugin, and that code passes all of its
tests, I'm assured that the parts of the plugin of interest to me do
indeed work. The only way I can get code into my app that uses parts
of the plugin that I haven't verified transitively would be to
introduce new app code that doesn't have tests.
I don't want or need the tests results for third party materials in my
app's test results, and I don't want to augment my app's build time by
running tests on third party code.
The word "attachment" comes up often in community dialog around the
fire in alt.net circles. In fact, it was a subject addressed in the
Behavior Driven Design workshop that JP and I gave in Vancouver on
Friday. I'm not making any claims for a requirement for perfect
practice in detachment, but many of us do at least try to practice
awareness of it so that we can have some small chance of surmounting
attachment's deleterious effects.
In that regard, I don't know how valuable is the "frightening degree"
part of your characterization of what I'd think of as an otherwise
noble goal that is often part of the alt.net's community's
conversation. If you're taking about it from the perspective of the
values I see expressed more in the alt.net community versus the MSDN,
then it holds for me. Otherwise, what you might experience as
frightening, I might experience as normal.
We're all predisposed to attachment, and I for one have no qualms with
engaging with whole heart in the conflicts that come from attachment,
but I try to exercise my willingness to enter into conflict as
consciously as possible, and to examine the emotional content of my
responses in respects to whether I'm merely being hooked by emotions
caused by attachment.
I don't expect you to be a robot, and I have no issues with you as a
person and as a human being and a member of the development community
at large. I do have issues with your unwillingness to stand up to
Scott Guthrie et al and fight for contemporary approaches for MVC that
they struggle with because of their own attachment.
So, I see the design decisions leading away from Convention over
Configuration as intellectually bankrupt if they're governed by
attachment rather than rationale. There's too much fear feeding the
ASP .NET MVC framework for me to allow you the benefit of the doubt.
I've seen fear and attachment on your part and on Scott Guthrie's
part, and I believe that this frame of mind is on line when design
decisions are being made for the framework.
My experience of what you're planing to deliver to the community - as
I understand what you'll deliver - suggests that the civility of the
conversation has already begun with something of an insult.
I am not talking about your track record here. I'm talking about what
you're doing know, and the product that you'll be delivering next
year. You now dance to someone else's tune. There's no reason for
the community to assume that you'll be able to do in the future what
you've been able to do in the past.
Based on what you've already said about the decisions for the
framework that are being made above you, there's already some reason
to believe that your future work product will not be executed with the
same vision as your past work product.
And straight up, folks who join Microsoft tend to loose their voice.
The way I see it, the community has a limited window of time to have
substantive conversations with you before you stop hearing us. Who
knows, you might be different, and so may Scott Hanselman, but
yesterday's weather doesn't make it a safe bet.
Look, I WANT to get behind an MVC framework from Microsoft. You're
simply not giving me something that I can get behind with a clear
conscience, and I'm not the only visible and vocal alt.net guy with
the same concern. And the reasons why this is happening seems to be
yet more same-old-same-old from Microsoft on politics and fear.
You're on the van. There's no one in a better position to fight for
good things and for changes than you.
This may not be the hill that you choose to die on, but if you choose
not to fight, it may be the hill that your credibility is critically
wounded on.
The campfire discussions at DevTeach this past weekend in regards to
the ASP .NET MVC framework weren't sunshine and roses. Your product
has an iffy confidence vote from the group of people who may either be
your strongest cheerleaders or your strongest detractors. The one
thing you can count on from us is our lack of indifference.
There are a good number of visible and vocal people who doubt that
you'll be able to pull off a framework that will satisfy the
expectations of folks who have enough time on task with the style of
work inherent in MVC framework use to have built real and present
expectations.
In regards to the core alt.net community, you've got one play
available to you: you gotta hit it outa the park. Or, you've gotta
make it clear that the community with the single greatest number of
active MVC users isn't the target audience for an MVC framework from
Microsoft.
If the alt.net community is an important voice for your product and an
important adoption audience for your product, you've gotta treat us
the way that our value systems and methods guide us in treating our
own customers. There's no reason why we should expect less from
Microsoft than we expect from ourselves.
You've made a lot of assumptions in that statement. Decisions are made
as a team and I haven't said who fought for which decisions. And you've
assumed I've given up the fight for anything. Perhaps I was unclear, but
my point this whole time was there is a rationale behind the current
decisions being made, not that the decision is final. I see that there
are two sides to the debate and both have very good valid ponits. I
thought Michael Kelly did a great job in this forum of describing a
great rationale to keeping it. I felt I've put forth good arguments for
getting rid of it.
One of my goals is to listen to the community and fight for the choices
I think are right. That's why I'm still here, still responding, still
reading. I think it's helped in formulating new arguments I will put
forward.
Of course, this particular community is not the only community to listen
to. It's not the only one with valuable insight and feedback. And others
who do have such insight and experience don't necessarily agree with
this community on every single issue.
Phil
> hassles (e.g . no additional database configurations).
> Of course, this particular community is not the only community to
> listen to. It's not the only one with valuable insight and feedback.
> And others who do have such insight and experience don't
> necessarily agree with this community on every single issue.
It might ease the understanding of this community if you could tell
use who the other communities / personas are.