Grokbase
Topics Posts Groups | in
x
[ help ]

Jon (jon+cat...@youramigo.com)

Profile | Posts (18)

User Information

Display Name:Jon
Partial Email Address:jon+cat...@youramigo.com
Posts:
18 total
1 in Catalyst Framework Development
6 in catalyst-dev@lists.scsys.co.uk
11 in Catalyst Framework

5 Most Recent

All Posts
1) Jon [Catalyst] Configuration of $c->log with Catalyst::Log::Log4perl
| +1 vote
I take that back - the file in question is SQL::Translator::Schema::Graph.pm and the call to...
catalyst@lists.scsys.co.uk
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Fri, 2008-05-09 at 10:04 +0930, Jon Schutz wrote:
> On Thu, 2008-05-08 at 16:42 +0200, Jochen Luig wrote:
>
> > So, can anyone tell me where I should continue looking for the error?
> > Can anyone think of a scenario where the logger config gets messed up
> > after initial configuration?
> >
>
> If any part of your app invokes Log::Log4perl->easy_init(), that will
> break it. There was such a line of code in a SQL::Translator file at
> one stage, but it has been fixed in more recent versions.
>

I take that back - the file in question is
SQL::Translator::Schema::Graph.pm and the call to easy_init() is still
there.  There's a good chance this module is loaded if you are using
DBIx::Class and calling deploy() from your app.

Details in:
http://www.mail-archive.com/dbix-class@lists.rawmode.org/msg03436.html

--
Jon Schutz My tech notes http://notes.jschutz.net
Chief Technology Officer http://www.youramigo.com
YourAmigo
2) Jon [Catalyst] Configuration of $c->log with Catalyst::Log::Log4perl
| +1 vote
If any part of your app invokes Log::Log4perl->easy_init(), that will break it. There was such a...
catalyst@lists.scsys.co.uk
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Thu, 2008-05-08 at 16:42 +0200, Jochen Luig wrote:

> So, can anyone tell me where I should continue looking for the error?
> Can anyone think of a scenario where the logger config gets messed up
> after initial configuration?
>

If any part of your app invokes Log::Log4perl->easy_init(), that will
break it.  There was such a line of code in a SQL::Translator file at
one stage, but it has been fixed in more recent versions.


--
Jon Schutz My tech notes http://notes.jschutz.net
Chief Technology Officer http://www.youramigo.com
YourAmigo
3) Jon [Catalyst] Why does $c->stats require -Debug flag?
paperclip | +1 vote
I've attached a draft based on some of our company procedures to show the sorts of things that need...
catalyst@lists.scsys.co.uk
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Fri, 2008-04-25 at 15:53 +0100, Matt S Trout wrote:
>
> There's no written standard currently; I'd love to see somebody take a
> crack at writing one but I'm not sure what would need to go in it.
>

I've attached a draft based on some of our company procedures to show
the sorts of things that need to be addressed.  I've changed a few
things to reflect some of the Catalyst conventions that I am aware of
but it will need your input, particular w.r.t. any conventions from PBP
that you disagree with.

> > having this interesting discussion. Can we put a timescale on it? What
> > is the plan for release of 5.7013 and/or 5.80?
>
> Next week or two would be ideal; if you can't make time that soon then
> you need to say -now- so somebody else can fix this.
>

I'd need 2-3 weeks as the next week and a half is out and I'm concerned
about the time it will take to review the original code to check the
subtleties, and then write new tests.  The code itself is only a few
minutes work...

--

Jon Schutz My tech notes http://notes.jschutz.net
Chief Technology Officer http://www.youramigo.com
YourAmigo         

Attachment: unnamed_plain_text.txt
4) Jon [Catalyst] Why does $c->stats require -Debug flag?
| +1 vote
A "standard" is not a standard unless it's written down as a common reference for everybody to see....
catalyst@lists.scsys.co.uk
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Thu, 2008-04-24 at 04:16 -0500, Jonathan Rockway wrote:

> >
> > No problems, if that's what the Catalyst standard says; I must have
> > missed it. Where is it? I'd like to consult it on a number of
> > matters... please post the link.
>
> Basically it's more of a "zeitgeist" than an actual document. There are
> some things that the community has decided and "just do". One is not
> breaking things or adding features between point releases. We've fucked
> this up a number of times, but that doesn't really matter, the point is
> we try to fix our mistakes. Compare this to other frameworks that just
> break things and say "fuck you".

A "standard" is not a standard unless it's written down as a common
reference for everybody to see.  People in the community come and go and
don't all have the same history, or longevity of memory for all the
"let's make this a standard" decisions that happen along the way.  This
is perhaps getting close to the crux of the problem.  Clearly Matt and
I, and you it seems, have a different concept of what the "standard" is.

Is there someone out there, then, with the right background, to set up a
Wiki page and document this zeitgeist?

>
> > The fact that it's supposedly already in a stage of "completely broken"
> > kind of undermines that theory.
>
> Not really. It just means we need to fix it even sooner.
>
> > I'm quite aware that I've spent more time debating the point than it
> > would have taken just to do this nugatory work, but then we wouldn't be
> > having this interesting discussion. Can we put a timescale on it? What
> > is the plan for release of 5.7013 and/or 5.80?
>
> Can you either:
>
>  * do this now
>  * or say you're not going to do it?
>

No I can't do it now, but may well be able to if given a time frame.

> That would make it easier for someone else to just get this done.
>
> Obviously you aren't obligated to do anything, because it's an open
> source project. But when someone contributes changes, we release them,
> and then realize that there's a problem, it's nice to have the
> contributor around to fix the issues. When they just disappear or argue
> against the project's conventions, it doesn't really look good, right?
>
> The stats code is good stuff. Why taint it with flamewars when it can
> be loved-by-everyone in just a few minutes? :)
>

I thought we were having a discussion, an exchange of views, perhaps
challenging what the "conventions" really are - and I think so far
everyone contributing has managed to be fairly level about it.
Apologies if my statements have been taken the wrong way.

It seems to me that there are some underlying issues here which need to
be sorted out.  At least I think so.



--

Jon Schutz My tech notes http://notes.jschutz.net
Chief Technology Officer http://www.youramigo.com
YourAmigo
5) Jon [Catalyst] Why does $c->stats require -Debug flag?
| +1 vote
Indeed it is a compromise. PBP says don't use AUTOLOAD, but for all the reasons it gives for not...
catalyst@lists.scsys.co.uk
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Mon, 2008-04-21 at 19:16 +0100, Matt S Trout wrote:
> On Mon, Apr 21, 2008 at 11:49:56AM +0930, Jon Schutz wrote:
> > On Sun, 2008-04-20 at 15:15 +0100, Matt S Trout wrote:
> >
> > > So far as I can see, all we really need to do is supply a proxy of the
> > > common Tree::Simple method from the C::Stats object through to $self->{tree}
> > > and we're done. That'll provide compatibility with obvious usages without
> > > adding any significant compatibility overhead.
> > >
> > > I was hoping Jon would do this because he was the original author of C::Stats
> > > and could see any subtleties that needed paying attention to that I've
> > > missed.
> > >
> >
> > I would have to review the pre-5.7012 code but from memory there were
> > some differences in when internal fields in the tree were set, so
> > returning $self->{tree} will stop crashes but there may be some side
> > effects, such as inaccuracies in the resulting reports.
>
> Well, if there is you can make the warning mention that.
>  
> > Trouble with explicitly proxying the methods is that Tree::Simple has
> > many methods and who knows how many people have used what out there (I
> > suspect, very few and very little, but who knows?).
>
> So? That's just a for() loop setting up *{$name} = sub { ... } entries.
>  
> > You've heard my objections on principle and resistance due to minimal
> > residual impact in practice, but if one were to fix it, I suppose a
> > simple compromise would be something like this (untested):
>
> That's not a compromise, that's an AUTOLOAD, which is poor coding practice
> when you know what methods the object on the other side exists.

Indeed it is a compromise.  PBP says don't use AUTOLOAD, but for all the
reasons it gives for not using it, it could probably have a footnote
saying something like "If you're just putting in AUTOLOAD to support a
deprecated interface that's not going to be supported in the next major
revision, and the lifetime is pretty short, and nobody you know of is
actually using that deprecated interface anyway, then it's probably OK -
at least as a compromise".  That's what it says in my copy of PBP, I
think.

>
> I'm aware you object on principle; however I've stated very clearly why I
> believe your objections are incorrect and since you're contributing to
> Catalyst I'd ask that you follow the current Catalyst standards for
> backwards compatibility even if you disagree, just the same as you'd do
> for coding style and other matters of opinion. If I ever contribute to one
> of your projects I'll happily return the favour :)

No problems, if that's what the Catalyst standard says; I must have
missed it.  Where is it?  I'd like to consult it on a number of
matters... please post the link.

>
> Please can you do a specific setup, with tests; I'd suggest using
> Class::Inspector to pull the list of methods and to proxy all those that
> don't currently exist in your class.
>
> Then we can have a warning included and happily throw these methods out in
> 5.80; the point is that people's code shouldn't go from "fully working" to
> "completely broken" without a stage of "still works but warns them they're
> doing it wrong" first (and note that if we'd called the method $c->_stats
> I'd agree with you that it was private and we can deprecate it at will. but
> we didn't. such is life)
>

The fact that it's supposedly already in a stage of "completely broken"
kind of undermines that theory.

I'm quite aware that I've spent more time debating the point than it
would have taken just to do this nugatory work, but then we wouldn't be
having this interesting discussion.  Can we put a timescale on it?  What
is the plan for release of 5.7013 and/or 5.80?

--

Jon Schutz My tech notes http://notes.jschutz.net
Chief Technology Officer http://www.youramigo.com
YourAmigo

spacer
Profile | Posts (18)
Home > People > Jon