[C++-sig] How can I make myself usefull?
s_sourceforge at nedprod.com
Tue May 8 16:08:33 CEST 2012
On 8 May 2012 at 1:14, Matthew Scouten wrote:
> I have recently been laid off from a job where a made a lot of good
> use of Boost.Python. I would like to give something back (while incidentally
> keeping my skills from getting rusty). I have already been following the
> boost-python tag on stackoverflow and answering a lot of question there
> (http://stackoverflow.com/users/8508/matthew-scouten). I haven't hacked on
> the internals of BP much, but now that I have time.
Firstly, my commiserations to you on losing your job. Secondly, my
thanks to you for contributing to the SO community. Too few people
bother. The fact you have used your misfortune to aid others I think
is especially commendable.
> While I was there, I had some code (now lost to me) that made BP easier to
Almost certainly the original code's copyright would have been a
problem anyway. Besides, reimplementation tends to be of higher
quality than first attempt, and you'll need that to pass Boost peer
> Here is some of that I had:
> * A deepcopyable suite, so that any c++ class with an appropriate copy ctor
> could be quickly given a __deepcopy__, a __copy__ and a copying __init__,
> with a single line.
> * A similar compare suite, so that classes with == and < could be given a
> full set of comparison operators, with a single line
> * 2 function templates, SafePointer2Object and SafeObject2Pointer which
> dealt with conversions between bp::objects that might be None and pointers
> to c++ classes that might be NULL
> * Simple RAII objects that dealt with acquiring and freeing the GIL around
> callbacks on different threads. A similar one for freeing the GIL around a
> code block. An idea that maybe this could be a call policy.
I would need to see the design of this before I could say if it was
correct or not. It's very easy to have something suitable for
application code, but not suitable to be inside a library, and
particularly not in BPL.
> * No_compare_indexing_suite is vector_indexing_suite for classes without ==
> I would like to recreate some of these up for inclusion in BP, if you are
> interested. Or if there is other work that needs doing....
html (generic runtime type registry, second paragraph onwards)
No, seriously, if you have the free time and can finance an extended
period of unemployment while you implement such a signature project,
I would be highly surprised if employment remains a problem. It would
be a significant commitment in time though. I'd estimate for myself
around nine months from start to finish, especially as Boost.Python
and Boost.Spirit would need porting to the new framework, and their
authors will be very exacting. It would really stand to you long run
though. I recently was made a job offer by a North American company
on the basis of signature work I did a decade ago when I was a far
less capable programmer :)
Technology & Consulting Services - ned Productions Limited.
http://www.nedproductions.biz/. VAT reg: IE 9708311Q.
Work Portfolio: http://careers.stackoverflow.com/nialldouglas/
More information about the Cplusplus-sig