Hi all, Lately, I've become obsessed with code quality. I've been reading Bjourne Stroustrup's "bible" on C++11, watched all videos of the "Going Native" conferences, started using clang, ..., and it has made me much more aware of the language's facilities for preventing bugs. I regularly browse over Inkscape's code and try to fix things I think can be improved (janitorial); our source is a pretty big mess I really do think Inkscape can use some love to improve logic and to decrease some amount of spaghetti.
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers. How do you guys feel about donating this book to our top committers? (if you feel this is too egoistic of me, *I* will pay for my own copy myself, no worries, and pass my copy on to the dev that was just below the cut-off point). In general: how do you guys feel about donating something to our top committers for their "education"? We would need some metric of what "top committers" means, we could use ohloh.net's numbers.
*For example*, we have 10 people that committed more than 50 times in the past 12 months. So that'd be 10 books = 10 x 31 euro = 310 euro cost --- shipping and whatnot --> 400 euro cost.
What do you think?
Cheers, Johan
(After we release 0.91, I will become very active in pushing for C++11 (i.e., upgrading our compiler dependencies to more modern versions so we can start using part of C++11 features), and general maintenance / refactoring / cleaning up. It's pretty rewarding I find, and very low-key in terms of long-time brain-investment.)
On 10-1-2014 21:00, Johan Engelen wrote:
*For example*, we have 10 people that committed more than 50 times in the past 12 months. So that'd be 10 books = 10 x 31 euro = 310 euro cost --- shipping and whatnot --> 400 euro cost.
Heck, that's the amount Inkscape earned for my GSoC mentorship isn't it? So... ;)
Cheers, Johan
On Fri, Jan 10, 2014 at 09:00:22PM +0100, Johan Engelen wrote:
Hi all, Lately, I've become obsessed with code quality. I've been reading Bjourne Stroustrup's "bible" on C++11, watched all videos of the "Going Native" conferences, started using clang, ..., and it has made me much more aware of the language's facilities for preventing bugs. I regularly browse over Inkscape's code and try to fix things I think can be improved (janitorial); our source is a pretty big mess I really do think Inkscape can use some love to improve logic and to decrease some amount of spaghetti.
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers. How do you guys feel about donating this book to our top committers? (if you feel this is too egoistic of me, *I* will pay for my own copy myself, no worries, and pass my copy on to the dev that was just below the cut-off point). In general: how do you guys feel about donating something to our top committers for their "education"? We would need some metric of what "top committers" means, we could use ohloh.net's numbers.
*For example*, we have 10 people that committed more than 50 times in the past 12 months. So that'd be 10 books = 10 x 31 euro = 310 euro cost --- shipping and whatnot --> 400 euro cost.
What do you think?
+1 great idea, I think furthering our developers' knowledge helps all around, and paying for books is a cheap and easy way to do that. I read Effective C++ years ago, and recall it was a most excellent book. There's also a More Effective C++ and an Effective STL by the same author, that I've read. Another really good book is Refactoring.
So if they already have read Effective C++, we could let them pick one of the others.
Bryce
Cheers, Johan
(After we release 0.91, I will become very active in pushing for C++11 (i.e., upgrading our compiler dependencies to more modern versions so we can start using part of C++11 features), and general maintenance / refactoring / cleaning up. It's pretty rewarding I find, and very low-key in terms of long-time brain-investment.)
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
Hi all, Lately, I've become obsessed with code quality. I've been reading Bjourne Stroustrup's "bible" on C++11, watched all videos of the "Going Native" conferences, started using clang, ..., and it has made me much more aware of the language's facilities for preventing bugs. I regularly browse over Inkscape's code and try to fix things I think can be improved (janitorial); our source is a pretty big mess I really do think Inkscape can use some love to improve logic and to decrease some amount of spaghetti.
When ever you find something janitorial... please send an email to the list. I am always eager to learn!
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers. How do you guys feel about donating this book to our top committers? (if you feel this is too egoistic of me, *I* will pay for my own copy myself, no worries, and pass my copy on to the dev that was just below the cut-off point). In general: how do you guys feel about donating something to our top committers for their "education"? We would need some metric of what "top committers" means, we could use ohloh.net's numbers.
*For example*, we have 10 people that committed more than 50 times in the past 12 months. So that'd be 10 books = 10 x 31 euro = 310 euro cost --- shipping and whatnot --> 400 euro cost.
What do you think?
That sounds like a good idea to me. I currently have no C++ book. I remember in my previous life relying almost daily on Stroustrup's "The C ++ Programming Language", 2nd and 3rd editions (FYI, they are completely different, the 2nd ed is pre-STL and the 3rd ed seemed to talk about nothing but STL).
Tav
On 10-1-2014 21:54, Tavmjong Bah wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
Hi all, Lately, I've become obsessed with code quality. I've been reading Bjourne Stroustrup's "bible" on C++11, watched all videos of the "Going Native" conferences, started using clang, ..., and it has made me much more aware of the language's facilities for preventing bugs. I regularly browse over Inkscape's code and try to fix things I think can be improved (janitorial); our source is a pretty big mess I really do think Inkscape can use some love to improve logic and to decrease some amount of spaghetti.
When ever you find something janitorial... please send an email to the list. I am always eager to learn!
There are many many small things... Here an exercise. It's a change to buildtool, so it's not very important because we really should move to a unified system after the release.
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/12913#buil...
The question: what do you think about the UniqueParams function? (it is great that Matt improved our btool, it's just a very recent and easy example with lots of improvements possible)
My comments, in the order in which I spotted them: - why is it virtual? no need for it, and I don't think it makes sense here either. - why start with capital? Our functions never start with caps, it makes it look like a constructor of a class (class types are with initial capital) - most variables declared way too early and thus with unnecessary large scope. (Matt does this a lot, a habit that stems from old compiler/language limitation and is really bad for our code (note: modern C also allows declaration of variables anywhere in function) - remove tab indentation !!! - source is passed by non-const reference, and this method modifies it. perhaps rename function to "makeUniqueList" or something that more clearly indicates that the argument will be modified. - important one: C++ provides std::set that does exactly what is needed here: keep track of a unique set of things. this function can be simplified a lot by just using std::set<string>. (know the C++ STL!) - "it++" in for statement, is not dramatic, just bad style (theoretically it++ is less efficient than ++it). - source +=std::string(" ") ---> source += " " No need to create a string object first, and then add that to string. More efficient to not "help the compiler" here, but performance is not the issue, more style/code clutter. - function could be declared const
And after rewriting the function using my comments, probably there are still things left to improve...
Ciao, Johan
Forgot to say: I don't feel like an expert on code quality *at all*. It's an ongoing learning effort for me too. I do think that I am a little ahead of the curve, simply by reading and watching online presentations. Hope the book thing motivates more people to do just that.
-Johan
On 11-1-2014 22:57, Johan Engelen wrote:
On 10-1-2014 21:54, Tavmjong Bah wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
Hi all, Lately, I've become obsessed with code quality. I've been reading Bjourne Stroustrup's "bible" on C++11, watched all videos of the "Going Native" conferences, started using clang, ..., and it has made me much more aware of the language's facilities for preventing bugs. I regularly browse over Inkscape's code and try to fix things I think can be improved (janitorial); our source is a pretty big mess I really do think Inkscape can use some love to improve logic and to decrease some amount of spaghetti.
When ever you find something janitorial... please send an email to the list. I am always eager to learn!
There are many many small things... Here an exercise. It's a change to buildtool, so it's not very important because we really should move to a unified system after the release.
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/12913#buil...
The question: what do you think about the UniqueParams function? (it is great that Matt improved our btool, it's just a very recent and easy example with lots of improvements possible)
My comments, in the order in which I spotted them:
- why is it virtual? no need for it, and I don't think it makes sense
here either.
- why start with capital? Our functions never start with caps, it
makes it look like a constructor of a class (class types are with initial capital)
- most variables declared way too early and thus with unnecessary
large scope. (Matt does this a lot, a habit that stems from old compiler/language limitation and is really bad for our code (note: modern C also allows declaration of variables anywhere in function)
- remove tab indentation !!!
- source is passed by non-const reference, and this method modifies
it. perhaps rename function to "makeUniqueList" or something that more clearly indicates that the argument will be modified.
- important one: C++ provides std::set that does exactly what is
needed here: keep track of a unique set of things. this function can be simplified a lot by just using std::set<string>. (know the C++ STL!)
- "it++" in for statement, is not dramatic, just bad style
(theoretically it++ is less efficient than ++it).
- source +=std::string(" ") ---> source += " " No need to create a string object first, and then add that to
string. More efficient to not "help the compiler" here, but performance is not the issue, more style/code clutter.
- function could be declared const
And after rewriting the function using my comments, probably there are still things left to improve...
Ciao, Johan
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Fri, 2014-01-10 at 13:45 -0800, Josh Andler wrote:
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
We should all subscribe to the review page, or perhaps have it email the list when new reviews get requested?
https://code.launchpad.net/inkscape/+activereviews
I've tried to clear the backlog a few times, but it's obviously on going.
Martin,
On Fri, Jan 10, 2014 at 05:45:43PM -0500, Martin Owens wrote:
On Fri, 2014-01-10 at 13:45 -0800, Josh Andler wrote:
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
We should all subscribe to the review page, or perhaps have it email the list when new reviews get requested?
https://code.launchpad.net/inkscape/+activereviews
I've tried to clear the backlog a few times, but it's obviously on going.
Agreed; this is very important - it's a prime path for getting new blood into the project.
Bryce
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
Well, to avoid envy I think it needs to be based on a solid deterministic criteria. So, like, ranking based on number of commits in 2013 would be suitable.
Maybe limit it further to commits to inkscape/src/, so we're giving to coders specifically.
Providing a choice of three books is good; they may already own one or two of the books. Also from a project perspective it gives us more breadth than if we gave everyone the same book.
Bryce
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sat, 2014-01-11 at 23:14 +0100, Johan Engelen wrote:
I'm afraid of some developer envy, any ideas about how to pick who gets a book?
It just needs majority support, some generative non-biased data source that picks the best candidates and a thing which is /for/ the project's benefit.
Since we have all three, envy is going to be less of a problem. Hurt pride might be something though, we should aim to give a set of books out at the same time because one book to one developer might send the wrong message about their prior quality.
Martin,
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Bryce
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sun, 2014-01-12 at 00:44 -0800, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Which edition of "The C++ Programming Language"?
I vote a.
Bryce
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sun, Jan 12, 2014 at 10:16:06AM +0100, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 00:44 -0800, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Which edition of "The C++ Programming Language"?
I wasn't sure if I should specify the edition in the vote proposal, but the intention would be "the latest edition". It'd seem counterproductive to send out anything less. Do you think it'd be better if we specified the edition as part of the vote?
I vote a.
Thanks, although we're not yet officially voting on this. I want to make sure we have all the i's dotted and t's crossed before we start collecting votes.
Bryce
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sun, 2014-01-12 at 01:40 -0800, Bryce Harrington wrote:
On Sun, Jan 12, 2014 at 10:16:06AM +0100, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 00:44 -0800, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Which edition of "The C++ Programming Language"?
I wasn't sure if I should specify the edition in the vote proposal, but the intention would be "the latest edition". It'd seem counterproductive to send out anything less. Do you think it'd be better if we specified the edition as part of the vote?
Not sure. I haven't seen the fourth ed. which seems to be a complete rewrite, focusing on C++11. This would be good, assuming we start moving to C++11 soon. The third ed. would probably be more applicable to our current code base. (I just recall the huge change between the 2nd and 3rd editions.)
Tav
On 12-1-2014 11:55, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 01:40 -0800, Bryce Harrington wrote:
On Sun, Jan 12, 2014 at 10:16:06AM +0100, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 00:44 -0800, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Which edition of "The C++ Programming Language"?
I wasn't sure if I should specify the edition in the vote proposal, but the intention would be "the latest edition". It'd seem counterproductive to send out anything less. Do you think it'd be better if we specified the edition as part of the vote?
Not sure. I haven't seen the fourth ed. which seems to be a complete rewrite, focusing on C++11. This would be good, assuming we start moving to C++11 soon. The third ed. would probably be more applicable to our current code base. (I just recall the huge change between the 2nd and 3rd editions.)
In one way, the point is moot because: we should not be giving "The C++ Programming Language", but "A Tour of C++" instead. The former is really meant for someone who *really* wants to know it all, e.g. someone who wants to contribute to compiler code (me). In terms of actual programming advice, A Tour of C++ is much better at it. (or so the author says. I have the former and it is too much to ask people to read that ;) (by the way, I wouldn't say that the 4th edition focusses on C++11. Yes it is about C++11, but not so much about the new things in C++11. Most of the book is valid for C++03 too.)
In another way, it's a good point because: I strongly feel that we should prefer C++11 editions above other editions. Because we are trying to help our devs learn about C++, we should give them books with latest info in it, so that they learn something for the years to come. Now, Effective C++ is C++03. But it is still relevant, and it will not be updated to C++11. Scott Meyers is working on a new book for C++11, but I believe it will discuss new topics related to C++11.
TL;DR: Please, on the book list, replace "The C++ Programming Language" with "A Tour of C++".
regards, Johan
On Sun, Jan 12, 2014 at 09:00:02PM +0100, Johan Engelen wrote:
On 12-1-2014 11:55, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 01:40 -0800, Bryce Harrington wrote:
On Sun, Jan 12, 2014 at 10:16:06AM +0100, Tavmjong Bah wrote:
On Sun, 2014-01-12 at 00:44 -0800, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Which edition of "The C++ Programming Language"?
I wasn't sure if I should specify the edition in the vote proposal, but the intention would be "the latest edition". It'd seem counterproductive to send out anything less. Do you think it'd be better if we specified the edition as part of the vote?
Not sure. I haven't seen the fourth ed. which seems to be a complete rewrite, focusing on C++11. This would be good, assuming we start moving to C++11 soon. The third ed. would probably be more applicable to our current code base. (I just recall the huge change between the 2nd and 3rd editions.)
In one way, the point is moot because: we should not be giving "The C++ Programming Language", but "A Tour of C++" instead. The former is really meant for someone who *really* wants to know it all, e.g. someone who wants to contribute to compiler code (me). In terms of actual programming advice, A Tour of C++ is much better at it. (or so the author says. I have the former and it is too much to ask people to read that ;) (by the way, I wouldn't say that the 4th edition focusses on C++11. Yes it is about C++11, but not so much about the new things in C++11. Most of the book is valid for C++03 too.)
In another way, it's a good point because: I strongly feel that we should prefer C++11 editions above other editions. Because we are trying to help our devs learn about C++, we should give them books with latest info in it, so that they learn something for the years to come. Now, Effective C++ is C++03. But it is still relevant, and it will not be updated to C++11. Scott Meyers is working on a new book for C++11, but I believe it will discuss new topics related to C++11.
TL;DR: Please, on the book list, replace "The C++ Programming Language" with "A Tour of C++".
Done:
2. The contributors can choose from one of the following books: a) Effective C++, 3rd Ed. by Scott Meyers b) Refactoring: Improving the Design of Existing Code by Martin Fowler c) A Tour of C++ by Bjarne Stroustrup
I'm open to other suggestions besides Refactoring btw. It's a great book (and was very influential to me) but there may well be better books out there.
Bryce
Addition to proposal: we need some metric, and I don't want to spend a lot of time coming up with numbers so:
Top 10 committers to trunk for past 12 months, as calculated by Ohloh.net: http://www.ohloh.net/p/inkscape/contributors?query=&sort=commits_12_mo
If someone passes, next one on the list becomes eligible.
regards, Johan
On 12-1-2014 9:44, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Bryce
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
On Sun, Jan 12, 2014 at 11:45:29PM +0100, Johan Engelen wrote:
Addition to proposal: we need some metric, and I don't want to spend a lot of time coming up with numbers so:
Top 10 committers to trunk for past 12 months, as calculated by Ohloh.net: http://www.ohloh.net/p/inkscape/contributors?query=&sort=commits_12_mo
If someone passes, next one on the list becomes eligible.
Thanks, I've incorporated these changes. I think maybe we're ready for a vote on this.
Bryce
regards, Johan
On 12-1-2014 9:44, Bryce Harrington wrote:
I've drafted a proposal for this book purchase campaign:
http://bazaar.launchpad.net/~inkscape.board/+junk/board-docs/view/head:/prop...
The current revision is attached to this email.
Please review and either suggest changes or edit in the repository directly. This seems like a really "easy" idea so I'd like to put it up for a vote swiftly.
Bryce
On Sat, Jan 11, 2014 at 11:14:29PM +0100, Johan Engelen wrote:
Great that you are all positive about the idea. Perhaps we can offer a choice from a list of, say, 3 books, covering a bit more about people's interests/level of coding. Note that C++11 is around the corner, which changes C++ quite a bit. Also Stroustrup's "A Tour of C++" (it is about C++11) may be good for you Martin as it is intended for people coming from other languages.
I'm afraid of some developer envy, any ideas about how to pick who gets a book? (it is a nice idea to give people like Jabier a book too)
cheers, Johan
On 10-1-2014 22:45, Josh Andler wrote:
I think it's a great idea. So if we start an official vote, count me in.
I also have a suggestion about maybe buying an extra copy for someone who has been working hard to contribute but who does not yet possess commit privileges. Jabier has really been trying hard, doesn't have a lot of experience with C++, but has been really suffering from a lack of code review (he has requested numerous times for review of his branches and patches).
See related: http://inkscape.13.x6.nabble.com/info-to-devel-groups-td4969120.html
Cheers, Josh
On Fri, Jan 10, 2014 at 1:21 PM, Martin Owens <doctormo@...23...> wrote:
On Fri, 2014-01-10 at 21:00 +0100, Johan Engelen wrote:
I just saw the book "Effective C++", which I believe is a great resource to inspire thought and learn how to write better code, and is meant for experienced programmers.
What is this C++ of which you speak? ;-)
I likewise have no C++ book, being a python developer first. I guess way too much and lean on the compiler to tell me when things aren't right. Would be useful to have a reference in physical.
Martin,
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Inkscape-board mailing list Inkscape-board@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-board
participants (5)
-
Bryce Harrington
-
Johan Engelen
-
Josh Andler
-
Martin Owens
-
Tavmjong Bah