Overloading __index and __newindex

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Overloading __index and __newindex

Aaron Zinghini
Hi,

Following on from this archive:


Is there any time frame when 1.0 will be released and the index/newindex overloading will be fixed?

Thanks

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Jason McKesson
On 2/9/2012 5:34 PM, Aaron Zinghini wrote:

> Hi,
>
> Following on from this archive:
>
> https://sourceforge.net/mailarchive/message.php?msg_id=24029568
>
> Is there any time frame when 1.0 will be released and the
> index/newindex overloading will be fixed?
>
> Thanks
>
Released by who? The main developers aren't updating it; it's been
almost a year and a half since 9.1; there have been 4 versions of Boost
released in that time. Their "solution" was to switch to a Git repo and
just give it to the community. If you want a version with more bug fixes
or features, you're going to have to walk through the various distinct
Luabind Git repos out there and cobble together a build out of them.

In short, Luabind is pretty much abandonware at this point.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Teto
I had worked on a function to do it. (just a quick hach). It seemed to
work when I was testing it but I haven't used it in a long time.

You may want to have a look/replace things:

bool
CLuaVM::setSpecialNewIndex(const char* class_name)
{


    luabind::detail::class_registry* reg  =
detail::class_registry::get_registry( _vm );
    luabind::detail::class_rep* rep = reg->find_class(
typeid(irr::SIrrlichtCreationParameters) );
    luabind::detail::class_rep* rep_audio = reg->find_class(
typeid(audio::SAudioParameters) );
    // _INFO << get_class_name( typeid(irr::SIrrlichtCreationParameters) );



    if(!rep){
        _LOG_WARNING << "could not find a class rep for
SIrrlichtCreationParameters";
        return false;
    }
    else {
        _INFO << "found rep for class '" << rep->name() << "'";
        _INFO << "registry: cpp_class" << reg->cpp_class();
        _INFO << "registry: cpp_instance" << reg->cpp_instance();
        _INFO << "registry: lua_instance" << reg->lua_instance();
        _INFO << "registry: lua_class" << reg->lua_class();
    }


    if(!rep_audio)
    {
        _LOG_WARNING << "could not find a class rep for
SIrrlichtCreationParameters";
        return false;
    }
    else
    {
        _INFO << "found rep for class '" << rep_audio->name() << "'";
//        _INFO << "registry: cpp_class" << rep_audio->cpp_class();
//        _INFO << "registry: cpp_instance" << rep_audio->cpp_instance();
//        _INFO << "registry: lua_instance" << rep_audio->lua_instance();
//        _INFO << "registry: lua_class" << rep_audio->lua_class();
    }

    int index = rep->metatable_ref();
    _INFO << "class_rep: metatable_ref" << rep->metatable_ref();

    // voici la cle utilise pour acceder au tableau representant la metatable
    lua_pushinteger( _vm, index );
    //Pushes onto the stack the value t[k], where t is the value at
the given valid index and k is the value at the top of the stack.
    // Pushes on top of stack the metatable
    lua_gettable(_vm, LUA_REGISTRYINDEX);
//    Returns 1 if the value at the given acceptable index is a table,
and 0 otherwise.
    //_INFO << "Is table (should be table )" << lua_istable( _vm, -1);

    lua_pushstring( _vm , "__newindex");
    //    //class_rep::lua_settable_dispatcher
    lua_pushcclosure(_vm, &onNewIndex, 0);
    // set new index
    lua_rawset( _vm, -3);


    // pop le tableau /metatable
    lua_pop( _vm,1);
    return true;
}


As for luabind not being updated, something should definitely be done.
Someone should contact the authors and ask to fork the project (don't
know much about MIT license) and host the fork on our server: I would
suggest Ryan Pavlik as the leader since he seems to be the most active
guy on the ml. It could be hosted by www.tuxfamily.org (I know the
guys here, it's top quality hosting)


I am ready to help on luabind:
-use variadic templates (when possible)
-provide tostring functionality
-capability to override __newindex and so on.
-doxygen documentation

I had begun the 4 previous tasks but without having a main repo to
send modifs too, it was hard to gather motivation. I don't want to be
leader of the fork since I am a self-taught programmer and as such,
there are mechanisms which remain dark to me and I am afraid I
wouldn't have time to dig deeper into this. But I am willing to lend a
hand to work on a fork. If anyone interested ?

Matt


On Fri, Feb 10, 2012 at 5:20 PM, Jason McKesson <[hidden email]> wrote:

> On 2/9/2012 5:34 PM, Aaron Zinghini wrote:
>> Hi,
>>
>> Following on from this archive:
>>
>> https://sourceforge.net/mailarchive/message.php?msg_id=24029568
>>
>> Is there any time frame when 1.0 will be released and the
>> index/newindex overloading will be fixed?
>>
>> Thanks
>>
> Released by who? The main developers aren't updating it; it's been
> almost a year and a half since 9.1; there have been 4 versions of Boost
> released in that time. Their "solution" was to switch to a Git repo and
> just give it to the community. If you want a version with more bug fixes
> or features, you're going to have to walk through the various distinct
> Luabind Git repos out there and cobble together a build out of them.
>
> In short, Luabind is pretty much abandonware at this point.
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> luabind-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/luabind-user

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Jason McKesson
On 2/12/2012 9:27 AM, Teto wrote:

> I had worked on a function to do it. (just a quick hach). It seemed to
> work when I was testing it but I haven't used it in a long time.
>
> You may want to have a look/replace things:
>
> bool
> CLuaVM::setSpecialNewIndex(const char* class_name)
> {
>
>
>      luabind::detail::class_registry* reg  =
> detail::class_registry::get_registry( _vm );
>      luabind::detail::class_rep* rep = reg->find_class(
> typeid(irr::SIrrlichtCreationParameters) );
>      luabind::detail::class_rep* rep_audio = reg->find_class(
> typeid(audio::SAudioParameters) );
>      // _INFO<<  get_class_name( typeid(irr::SIrrlichtCreationParameters) );
>
>
>
>      if(!rep){
>          _LOG_WARNING<<  "could not find a class rep for
> SIrrlichtCreationParameters";
>          return false;
>      }
>      else {
>          _INFO<<  "found rep for class '"<<  rep->name()<<  "'";
>          _INFO<<  "registry: cpp_class"<<  reg->cpp_class();
>          _INFO<<  "registry: cpp_instance"<<  reg->cpp_instance();
>          _INFO<<  "registry: lua_instance"<<  reg->lua_instance();
>          _INFO<<  "registry: lua_class"<<  reg->lua_class();
>      }
>
>
>      if(!rep_audio)
>      {
>          _LOG_WARNING<<  "could not find a class rep for
> SIrrlichtCreationParameters";
>          return false;
>      }
>      else
>      {
>          _INFO<<  "found rep for class '"<<  rep_audio->name()<<  "'";
> //        _INFO<<  "registry: cpp_class"<<  rep_audio->cpp_class();
> //        _INFO<<  "registry: cpp_instance"<<  rep_audio->cpp_instance();
> //        _INFO<<  "registry: lua_instance"<<  rep_audio->lua_instance();
> //        _INFO<<  "registry: lua_class"<<  rep_audio->lua_class();
>      }
>
>      int index = rep->metatable_ref();
>      _INFO<<  "class_rep: metatable_ref"<<  rep->metatable_ref();
>
>      // voici la cle utilise pour acceder au tableau representant la metatable
>      lua_pushinteger( _vm, index );
>      //Pushes onto the stack the value t[k], where t is the value at
> the given valid index and k is the value at the top of the stack.
>      // Pushes on top of stack the metatable
>      lua_gettable(_vm, LUA_REGISTRYINDEX);
> //    Returns 1 if the value at the given acceptable index is a table,
> and 0 otherwise.
>      //_INFO<<  "Is table (should be table )"<<  lua_istable( _vm, -1);
>
>      lua_pushstring( _vm , "__newindex");
>      //    //class_rep::lua_settable_dispatcher
>      lua_pushcclosure(_vm,&onNewIndex, 0);
>      // set new index
>      lua_rawset( _vm, -3);
>
>
>      // pop le tableau /metatable
>      lua_pop( _vm,1);
>      return true;
> }
>
>
> As for luabind not being updated, something should definitely be done.
> Someone should contact the authors and ask to fork the project (don't
> know much about MIT license) and host the fork on our server: I would
> suggest Ryan Pavlik as the leader since he seems to be the most active
> guy on the ml. It could be hosted by www.tuxfamily.org (I know the
> guys here, it's top quality hosting)
>
>
> I am ready to help on luabind:
> -use variadic templates (when possible)
> -provide tostring functionality
> -capability to override __newindex and so on.
> -doxygen documentation
>
> I had begun the 4 previous tasks but without having a main repo to
> send modifs too, it was hard to gather motivation. I don't want to be
> leader of the fork since I am a self-taught programmer and as such,
> there are mechanisms which remain dark to me and I am afraid I
> wouldn't have time to dig deeper into this. But I am willing to lend a
> hand to work on a fork. If anyone interested ?
>
> Matt
There are already many forks of Luabind. Just look at the web of forks
over on Github: https://github.com/luabind/luabind/network. take_cheese
seems to be the one who's doing the most work on Luabind.

You don't have to "request" that you fork Luabind; you just do it. The
problem is that, with all of these forks and such, there's no notion of
a true, *official* version. There's nothing anyone is willing to stand
behind, to test and verify as being a "version" of the app, or anything
of the kind. There's just random source code on the net.

We don't need new hosting. What we need is for the owner to give the
*current* SourceForge hosting to the community so that we can start
making real distributions again.

> On Fri, Feb 10, 2012 at 5:20 PM, Jason McKesson<[hidden email]>  wrote:
>> On 2/9/2012 5:34 PM, Aaron Zinghini wrote:
>>> Hi,
>>>
>>> Following on from this archive:
>>>
>>> https://sourceforge.net/mailarchive/message.php?msg_id=24029568
>>>
>>> Is there any time frame when 1.0 will be released and the
>>> index/newindex overloading will be fixed?
>>>
>>> Thanks
>>>
>> Released by who? The main developers aren't updating it; it's been
>> almost a year and a half since 9.1; there have been 4 versions of Boost
>> released in that time. Their "solution" was to switch to a Git repo and
>> just give it to the community. If you want a version with more bug fixes
>> or features, you're going to have to walk through the various distinct
>> Luabind Git repos out there and cobble together a build out of them.
>>
>> In short, Luabind is pretty much abandonware at this point.
>>
>> ------------------------------------------------------------------------------
>> Virtualization&  Cloud Management Using Capacity Planning
>> Cloud computing makes use of virtualization - but cloud computing
>> also focuses on allowing computing to be delivered as a service.
>> http://www.accelacomm.com/jaw/sfnl/114/51521223/
>> _______________________________________________
>> luabind-user mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Teto
> There are already many forks of Luabind. Just look at the web of forks
> over on Github: https://github.com/luabind/luabind/network.
When I wrote "fork" I was thinking of a fullfledged project with its
own website, its own name and major modifications. Not the github
"fork" where you just click a button.

>take_cheese seems to be the one who's doing the most work on Luabind.
seems to me he's forking luabind to create a squirrel version.

> You don't have to "request" that you fork Luabind; you just do it. The
> problem is that, with all of these forks and such, there's no notion of
> a true, *official* version. There's nothing anyone is willing to stand
> behind, to test and verify as being a "version" of the app, or anything
> of the kind. There's just random source code on the net.
You propose to take over luabind sourceforge that's one possibility.
But even so you would need a website to annouce news since I don't
think the owners would let us use rasterbar.com

Depending on the amount of modification intended by the (potential)
new maintainers, it would be meaningful to get a new project with a
proper name (luabind++ or luabind2 for instance) etc...

What I propose  - otherwise nothing is going to happen - is for those
willing to help with luabind development to send me an email. then we
could agree on to what extent we are willing to modify Luabind. Then
we could agree on who does what and commit modifications to a same
repository. Once we feel  it's worth releasing, we would go to the
next step (website). We might fail before that but that could be worth
the try I think.

Matt


> We don't need new hosting. What we need is for the owner to give the
> *current* SourceForge hosting to the community so that we can start
> making real distributions again.
>
>> On Fri, Feb 10, 2012 at 5:20 PM, Jason McKesson<[hidden email]>  wrote:
>>> On 2/9/2012 5:34 PM, Aaron Zinghini wrote:
>>>> Hi,
>>>>
>>>> Following on from this archive:
>>>>
>>>> https://sourceforge.net/mailarchive/message.php?msg_id=24029568
>>>>
>>>> Is there any time frame when 1.0 will be released and the
>>>> index/newindex overloading will be fixed?
>>>>
>>>> Thanks
>>>>
>>> Released by who? The main developers aren't updating it; it's been
>>> almost a year and a half since 9.1; there have been 4 versions of Boost
>>> released in that time. Their "solution" was to switch to a Git repo and
>>> just give it to the community. If you want a version with more bug fixes
>>> or features, you're going to have to walk through the various distinct
>>> Luabind Git repos out there and cobble together a build out of them.
>>>
>>> In short, Luabind is pretty much abandonware at this point.
>>>
>>> ------------------------------------------------------------------------------
>>> Virtualization&  Cloud Management Using Capacity Planning
>>> Cloud computing makes use of virtualization - but cloud computing
>>> also focuses on allowing computing to be delivered as a service.
>>> http://www.accelacomm.com/jaw/sfnl/114/51521223/
>>> _______________________________________________
>>> luabind-user mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>>
>
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> luabind-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/luabind-user

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Ryan Pavlik-4
Personally, I am OK with the current status of the project and would not consider it abandonware - I work on it quite frequently. It would be nice to get some communication going for perhaps an eventual future release, but until then, unless you need a version number prettier than "git describe" can give you, I'd say just pick an updated fork and use it. Mine has been substantially cleaned up and improved (support for SFINAE/boost::enable_if for native converters, applied suggestions of include-what-you-use to decrease build time, cmake-based build system that includes the tests, etc.) and is being used in production currently.  I've even got the documentation automatically building and uploading.

Ryan

On Sun, Feb 12, 2012 at 1:22 PM, Teto <[hidden email]> wrote:
> There are already many forks of Luabind. Just look at the web of forks
> over on Github: https://github.com/luabind/luabind/network.
When I wrote "fork" I was thinking of a fullfledged project with its
own website, its own name and major modifications. Not the github
"fork" where you just click a button.

>take_cheese seems to be the one who's doing the most work on Luabind.
seems to me he's forking luabind to create a squirrel version.

> You don't have to "request" that you fork Luabind; you just do it. The
> problem is that, with all of these forks and such, there's no notion of
> a true, *official* version. There's nothing anyone is willing to stand
> behind, to test and verify as being a "version" of the app, or anything
> of the kind. There's just random source code on the net.
You propose to take over luabind sourceforge that's one possibility.
But even so you would need a website to annouce news since I don't
think the owners would let us use rasterbar.com

Depending on the amount of modification intended by the (potential)
new maintainers, it would be meaningful to get a new project with a
proper name (luabind++ or luabind2 for instance) etc...

What I propose  - otherwise nothing is going to happen - is for those
willing to help with luabind development to send me an email. then we
could agree on to what extent we are willing to modify Luabind. Then
we could agree on who does what and commit modifications to a same
repository. Once we feel  it's worth releasing, we would go to the
next step (website). We might fail before that but that could be worth
the try I think.

Matt


> We don't need new hosting. What we need is for the owner to give the
> *current* SourceForge hosting to the community so that we can start
> making real distributions again.
>
>> On Fri, Feb 10, 2012 at 5:20 PM, Jason McKesson<[hidden email]>  wrote:
>>> On 2/9/2012 5:34 PM, Aaron Zinghini wrote:
>>>> Hi,
>>>>
>>>> Following on from this archive:
>>>>
>>>> https://sourceforge.net/mailarchive/message.php?msg_id=24029568
>>>>
>>>> Is there any time frame when 1.0 will be released and the
>>>> index/newindex overloading will be fixed?
>>>>
>>>> Thanks
>>>>
>>> Released by who? The main developers aren't updating it; it's been
>>> almost a year and a half since 9.1; there have been 4 versions of Boost
>>> released in that time. Their "solution" was to switch to a Git repo and
>>> just give it to the community. If you want a version with more bug fixes
>>> or features, you're going to have to walk through the various distinct
>>> Luabind Git repos out there and cobble together a build out of them.
>>>
>>> In short, Luabind is pretty much abandonware at this point.
>>>
>>> ------------------------------------------------------------------------------
>>> Virtualization&  Cloud Management Using Capacity Planning
>>> Cloud computing makes use of virtualization - but cloud computing
>>> also focuses on allowing computing to be delivered as a service.
>>> http://www.accelacomm.com/jaw/sfnl/114/51521223/
>>> _______________________________________________
>>> luabind-user mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>>
>
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> luabind-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/luabind-user

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user



--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Jason McKesson
On 2/13/2012 11:33 AM, Ryan Pavlik wrote:

> Personally, I am OK with the current status of the project and would
> not consider it abandonware - I work on it quite frequently. It would
> be nice to get some communication going for perhaps an eventual future
> release, but until then, unless you need a version number prettier
> than "git describe" can give you, I'd say just pick an updated fork
> and use it. Mine has been substantially cleaned up and improved
> (support for SFINAE/boost::enable_if for native converters, applied
> suggestions of include-what-you-use to decrease build time,
> cmake-based build system that includes the tests, etc.) and is being
> used in production currently.  I've even got the documentation
> automatically building and uploading.
>
> Ryan
It's not about whether you "need a version number." It's about having an
actual project, rather than a bunch of disparate code running around.
You don't see SWIG or other projects operate like that, with no real
notion of version or functioning code. The reason why is because someone
actually owns the project and makes regular releases of it.

Saying "pick an updated fork and use it" is basically saying, "Luabind
is abandoned." That's what an abandoned project looks like: it's just
forks, whatever some random people look at and poke at. If nobody's
willing to stand behind it by naming it, giving it a real version, and
making a distribution (and no: downloading a Git repo is not a
distribution), then it's a dead project.

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Ryan Pavlik-4


On Mon, Feb 13, 2012 at 8:12 PM, Jason McKesson <[hidden email]> wrote:
On 2/13/2012 11:33 AM, Ryan Pavlik wrote:
> Personally, I am OK with the current status of the project and would
> not consider it abandonware - I work on it quite frequently. It would
> be nice to get some communication going for perhaps an eventual future
> release, but until then, unless you need a version number prettier
> than "git describe" can give you, I'd say just pick an updated fork
> and use it. Mine has been substantially cleaned up and improved
> (support for SFINAE/boost::enable_if for native converters, applied
> suggestions of include-what-you-use to decrease build time,
> cmake-based build system that includes the tests, etc.) and is being
> used in production currently.  I've even got the documentation
> automatically building and uploading.
>
> Ryan
It's not about whether you "need a version number." It's about having an
actual project, rather than a bunch of disparate code running around.
You don't see SWIG or other projects operate like that, with no real
notion of version or functioning code. The reason why is because someone
actually owns the project and makes regular releases of it.

Saying "pick an updated fork and use it" is basically saying, "Luabind
is abandoned." That's what an abandoned project looks like: it's just
forks, whatever some random people look at and poke at. If nobody's
willing to stand behind it by naming it, giving it a real version, and
making a distribution (and no: downloading a Git repo is not a
distribution), then it's a dead project.



Well, except for the fact that the original authors occasionally still update their branch, I'd say I'd probably have already tagged good releases, and I'd be happy to do this going forward.  (I see this kind of the same way GitX has evolved - original authors nearly disappeared, a few forks emerged, and one became the effective new upstream - laullon's fork aka GitX(L).  I've actually done the same thing with the Wiiuse library after the original upstream completely disappeared, and that has worked quite well - I've gotten pull requests and when I have time I'm happy to merge and tag releases.) 

Ryan
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Jason McKesson
On 2/14/2012 8:19 AM, Ryan Pavlik wrote:


On Mon, Feb 13, 2012 at 8:12 PM, Jason McKesson <[hidden email]> wrote:
On 2/13/2012 11:33 AM, Ryan Pavlik wrote:
> Personally, I am OK with the current status of the project and would
> not consider it abandonware - I work on it quite frequently. It would
> be nice to get some communication going for perhaps an eventual future
> release, but until then, unless you need a version number prettier
> than "git describe" can give you, I'd say just pick an updated fork
> and use it. Mine has been substantially cleaned up and improved
> (support for SFINAE/boost::enable_if for native converters, applied
> suggestions of include-what-you-use to decrease build time,
> cmake-based build system that includes the tests, etc.) and is being
> used in production currently.  I've even got the documentation
> automatically building and uploading.
>
> Ryan
It's not about whether you "need a version number." It's about having an
actual project, rather than a bunch of disparate code running around.
You don't see SWIG or other projects operate like that, with no real
notion of version or functioning code. The reason why is because someone
actually owns the project and makes regular releases of it.

Saying "pick an updated fork and use it" is basically saying, "Luabind
is abandoned." That's what an abandoned project looks like: it's just
forks, whatever some random people look at and poke at. If nobody's
willing to stand behind it by naming it, giving it a real version, and
making a distribution (and no: downloading a Git repo is not a
distribution), then it's a dead project.



Well, except for the fact that the original authors occasionally still update their branch, I'd say I'd probably have already tagged good releases, and I'd be happy to do this going forward.  (I see this kind of the same way GitX has evolved - original authors nearly disappeared, a few forks emerged, and one became the effective new upstream - laullon's fork aka GitX(L).  I've actually done the same thing with the Wiiuse library after the original upstream completely disappeared, and that has worked quite well - I've gotten pull requests and when I have time I'm happy to merge and tag releases.) 

Ryan
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

Tagging a release is not the same as making a release. Making a release involves removing unimportant things from the distro (tests and such), building the docs, packaging it in a zip file, and putting it up for others to download, usually with release notes about what has changed and what is new (and no, a series of changelists is not a substitute for proper release notes).

No self-respecting project requires you to pull from a repo in order to get the actual code you're supposed to use. To get the trunk, yes. But not a particular release. That's the whole point of having a release; that's why it's called a "release". Forcing people to pull from Git just to get an up-to-date version of the project is indicative of a project that barely exists, who's community is anemic and near-dead, and one that people would be il-advised to continue using.

Managing a repository is good. Having a repo that should be considered the official "trunk" is good, and having a maintainer of that repo be ready to take patches and such is good. These are all important for being able to develop code.

But these things are not a substitute for proper releases to users. We still need to have actual releases and an actual website where the new documentation and info about releases, repos, etc can go. What we have now is simply not an acceptable state of affairs and something needs to be done about it if Luabind is going to continue to be a useable project.

You point to GitX, but that's not a good example. It has a website. It has actual releases packaged as zip-files. It's a real, living, breathing project. It may have changed ownership, but it's still alive.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Peter Colberg-3
On Wed, Feb 15, 2012 at 09:57:08AM -0800, Jason McKesson wrote:
> Tagging a release is not the same as /making/ a release. Making a
> release involves removing unimportant things from the distro (tests
> and such), building the docs

I beg to differ on the “unimportant things”: Tests are _very_
important for the distributed software, and should _always_ be
included in the released source archive.

You will find that nowadays, given the abundance of computing power,
many GNU/Linux distributions automatically run the upstream test suite
as part of the package building process.

> packaging it in a zip file

zip and/or tarball, let's not be too Windows-centric ;-).

Peter

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Ryan Pavlik-4
I already mentioned I'm building the docs automatically, etc and I get that it's more than tagging.  I won't argue about your personal definition of a maintained project. It won't really get anywhere productive, and it doesn't do anything for people using the project.

In any case, I'll take this as an indication that nobody would mind me making unofficial 0.9.1.x releases. I've already integrated all patches I've seen go by on this mailing list, as well as quite a few of my own. If anyone has changes or improvements, I'm happy to accept pull requests.

Ryan

On Wed, Feb 15, 2012 at 12:09 PM, Peter Colberg <[hidden email]> wrote:
On Wed, Feb 15, 2012 at 09:57:08AM -0800, Jason McKesson wrote:
> Tagging a release is not the same as /making/ a release. Making a
> release involves removing unimportant things from the distro (tests
> and such), building the docs

I beg to differ on the “unimportant things”: Tests are _very_
important for the distributed software, and should _always_ be
included in the released source archive.

You will find that nowadays, given the abundance of computing power,
many GNU/Linux distributions automatically run the upstream test suite
as part of the package building process.

> packaging it in a zip file

zip and/or tarball, let's not be too Windows-centric ;-).

Peter

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user



--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Jason McKesson
On 2/15/2012 11:19 AM, Ryan Pavlik wrote:
I already mentioned I'm building the docs automatically, etc and I get that it's more than tagging.  I won't argue about your personal definition of a maintained project. It won't really get anywhere productive, and it doesn't do anything for people using the project.
I have to say, that's a master stroke; your rhetorical skills are excellent. Classifying my position as a "personal definition" rather than actually looking at how most projects that have reasonable popularity and visibility are maintained. Combining that by declaring that it is "unproductive", and thus you instantly make it difficult to actually continue the discussion and make meaningful progress on the issue.

This perpetuates the status quo, and nobody actually has to do anything or fix anything. Keep calm and carry on.

And in 2 years, Luabind will be nothing more than a nice project that kinda existed for a while, then disappeared outside of a few die-hards working with some scattered Git repositories connected only by an obscure mailing list. Nobody will ever find it by search, nobody will link to it from the outside world, and the number of users will continue to decrease until the only people who care are the actual developers.

In any case, I'll take this as an indication that nobody would mind me making unofficial 0.9.1.x releases. I've already integrated all patches I've seen go by on this mailing list, as well as quite a few of my own. If anyone has changes or improvements, I'm happy to accept pull requests.
As long as the release is solid, it's fine. But where are you going to put it? I imagine Github has a place for downloads, but what about the website with updated documentation? Furthermore, how are you going to get it to people who would find Luabind by typing it into Google? The first place they'll go is Sourceforge, which will still have the old stuff.

Ryan

On Wed, Feb 15, 2012 at 12:09 PM, Peter Colberg <[hidden email]> wrote:
On Wed, Feb 15, 2012 at 09:57:08AM -0800, Jason McKesson wrote:
> Tagging a release is not the same as /making/ a release. Making a
> release involves removing unimportant things from the distro (tests
> and such), building the docs

I beg to differ on the “unimportant things”: Tests are _very_
important for the distributed software, and should _always_ be
included in the released source archive.

You will find that nowadays, given the abundance of computing power,
many GNU/Linux distributions automatically run the upstream test suite
as part of the package building process.

> packaging it in a zip file

zip and/or tarball, let's not be too Windows-centric ;-).

Peter

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user



--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/


_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Peter Colberg-3
On Thu, Feb 16, 2012 at 12:34:01AM -0800, Jason McKesson wrote:
> On 2/15/2012 11:19 AM, Ryan Pavlik wrote:

> >In any case, I'll take this as an indication that nobody would
> >mind me making unofficial 0.9.1.x releases. I've already
> >integrated all patches I've seen go by on this mailing list, as
> >well as quite a few of my own. If anyone has changes or
> >improvements, I'm happy to accept pull requests.

> As long as the release is solid, it's fine. But where are you going
> to put it? I imagine Github has a place for downloads, but what
> about the website with updated documentation? Furthermore, how are
> you going to get it to people who would find Luabind by typing it
> into Google? The first place they'll go is Sourceforge, which will
> still have the old stuff.

He has to give it different name of course, that's how forking works.

@Ryan: Did you ask Daniel Wallin to take over the project?

http://sourceforge.net/apps/trac/sourceforge/wiki/Abandoned%20Project%20Takeovers

That would avoid a name change.

Peter

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: Overloading __index and __newindex

Ryan Pavlik-4


On Thu, Feb 16, 2012 at 8:46 AM, Peter Colberg <[hidden email]> wrote:
On Thu, Feb 16, 2012 at 12:34:01AM -0800, Jason McKesson wrote:
> On 2/15/2012 11:19 AM, Ryan Pavlik wrote:

> >In any case, I'll take this as an indication that nobody would
> >mind me making unofficial 0.9.1.x releases. I've already
> >integrated all patches I've seen go by on this mailing list, as
> >well as quite a few of my own. If anyone has changes or
> >improvements, I'm happy to accept pull requests.

> As long as the release is solid, it's fine. But where are you going
> to put it? I imagine Github has a place for downloads, but what
> about the website with updated documentation? Furthermore, how are
> you going to get it to people who would find Luabind by typing it
> into Google? The first place they'll go is Sourceforge, which will
> still have the old stuff.

He has to give it different name of course, that's how forking works.

@Ryan: Did you ask Daniel Wallin to take over the project?

http://sourceforge.net/apps/trac/sourceforge/wiki/Abandoned%20Project%20Takeovers

That would avoid a name change.

Peter

Whoah!

I don't want to fork the project, or "take it over" in a sourceforge-y sense (Forgot there even was a sourceforge project despite this list going through there and bearing their ads), or start any arguments, nor dismiss a useful discussion - just leave a discussion I probably should not have entered in the first place.  When push comes to shove, I'm more of a power-user of Luabind who makes some cleanups and a few tweaks (and a build system addition) than a library developer, which is why I probably should have stayed out of this one to begin with. I just would be willing to be the "lazy integrating maintainer" (in a github-y sense, not a sourceforge-y sense)as I've done for other projects (wiiuse in particular, where the original maintainer and site literally disappeared) and as github facilitates. Without explicit permission, I'd only use sub-version-numbers of the last released one out of courtesy.

Goodness it's easy to accidentally end up in an argument on the internet! I'll kindly bow out of the discussion at this point, for fear of ending up like this: http://xkcd.com/386/  My personal criteria for maintainership of a project are if I see somewhat-recent commits on some fork in the network on GitHub, and preferably a little bit of mailing list activity if such a list exists. I'm comfortable with a "bazaar" but know others would like or need to demonstrate a more cathedral-style maintainership.

Jason, I'm sorry my "oh rats, I started an argument on the Internet" paragraph ended up sounding like sharp rhetoric - I promise I didn't think that hard about it. I'm sorry, I really didn't mean to do any offense to you personally or the discussion occurring in this thread. Thanks for being so passionate about a piece of open-source software I like and use so frequently - it bodes well for the future state of the project because it means others like and use it too and do so at a more personal level that can inspire action.

Ryan
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user