RE: Beginning contributor needs mentor

2015-11-10 Thread Mike Solomon


Wait wait wait, are you THE John Gourlay?As in "Spacing a Line of Music" 1987 
John Gourlay? If so, you should be mentoring us, not the other way around! I 
think I've cited you in every paper I've ever written about notation.
I'd love to help you get started. It is your algorithm at the heart of 
LilyPond's horizontal spacing engine, so that can be a place to start if you're 
up for it!
Cheers,~Mike
PS If you're not the John Gourlay of which I speak, my offer for help still 
stands!


Sent from my Samsung device

 Original message 
From: John Gourlay  
Date: 10/11/2015  5:36 PM  (GMT+02:00) 
To: lilypond-devel@gnu.org 
Subject: Beginning contributor needs mentor 

I’m an aspiring LilyPond contributor who needs a mentor. How can I get one?

So far I can compile LilyDev itself and the documentation, and I’m becoming 
familiar with git. I’m looking at the LilyPond Contributor’s Guide, but I have 
to admit that it’s a bit overwhelming. I’m a recently retired software engineer 
highly experienced with C++, less with Unix and open-source development, and 
not at all with Scheme. I’m not a musician, and I’ve used LilyPond only for toy 
examples so far. However, I once knew a lot about using computers to engrave 
music, as I was the principal investigator for the MusiCopy Project at Ohio 
State University in the 1980s. I’m sure that much has changed since then, but 
I’m pleased to say that LilyDev looks to be very much like what MusiCopy might 
have been if we’d had an opportunity to complete it. I’d like to help further 
the LilyPond project in some way.

John Gourlay
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread Urs Liska
Welcome to LilyPond and this list, John,

Am 10.11.2015 um 16:36 schrieb John Gourlay:
> I’m an aspiring LilyPond contributor who needs a mentor. How can I get one?

I'm not sure you can "get one" here because there are simply too few
developers around.
But if you continue asking questions on this list you will probably get
more concrete information about the processes and you'll probably find
the niche(s) where your skills can be most usefully be applied.

>
> So far I can compile LilyDev itself and the documentation, and I’m becoming 
> familiar with git. I’m looking at the LilyPond Contributor’s Guide, but I 
> have to admit that it’s a bit overwhelming. 

This is surely true.
Don't hesitate to ask if you have problems understanding something. And
also tell us if you find anything misleading, overly complicated or in
any other way improveable.

> I’m a recently retired software engineer highly experienced with C++, less 
> with Unix and open-source development, and not at all with Scheme. 

If I'm not mistaken there are fewer C++ developers around than Schemers,
so that seems like a good addition. Although learning some Scheme might
as well be useful ...

> I’m not a musician, and I’ve used LilyPond only for toy examples so far. 
> However, I once knew a lot about using computers to engrave music, as I was 
> the principal investigator for the MusiCopy Project at Ohio State University 
> in the 1980s. I’m sure that much has changed since then, but I’m pleased to 
> say that LilyDev looks to be very much like what MusiCopy might have been if 
> we’d had an opportunity to complete it. I’d like to help further the LilyPond 
> project in some way.

Sounds very nice. I hope you'll find your way through LilyPond and the
developer circle.

Best
Urs

>
> John Gourlay
> ___
> lilypond-devel mailing list
> lilypond-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread Werner LEMBERG

Hello John!


> I’m a recently retired software engineer highly experienced with
> C++, less with Unix and open-source development, and not at all with
> Scheme.

Assuming that you are a Windows guy: It would be great if you could
make lilypond compile on that platform!  There are also some rough
edges here and there that would need a helping hand from someone who
is an experienced programmer.


Werner
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread James
:)

On 10/11/15 15:53, Mike Solomon wrote:
> 
> Wait wait wait, are you THE John Gourlay?As in "Spacing a Line of Music" 1987 
> John Gourlay? If so, you should be mentoring us, not the other way around! I 
> think I've cited you in every paper I've ever written about notation.

We also cite Mr Gourlay a number of times in our own Essay

http://lilypond.org/essay.html

James

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread James
Hello Werner,

On 10/11/15 16:10, Werner LEMBERG wrote:
> Hello John!
>
>
>> I’m a recently retired software engineer highly experienced with
>> C++, less with Unix and open-source development, and not at all with
>> Scheme.
> Assuming that you are a Windows guy: It would be great if you could
> make lilypond compile on that platform!  

I believe that Masamichi Hosada  compiles on Windows. I have some
instructions from him in a private email that I was going to try out
myself and then document for our CG.

I am ccing him in case I am mis-representing him.

James


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread Simon Albrecht

On 10.11.2015 16:36, John Gourlay wrote:

I’m a recently retired software engineer highly experienced with C++, less with 
Unix and open-source development, and not at all with Scheme.


I fear that you may not get around learning some scheme, since our C++ 
source is quite interlinked with scheme parts, but I may be mistaken. 
The Guile Reference Manual 
 may help.


Yours, Simon

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread John Gourlay
Mike,

Yes, I am the spacing-a-line-of-music John Gourlay, pleased that my early 
contributions have turned out to be useful. I’ve been out of the loop for about 
30 years, however, so it won’t happen that I’ll be doing any mentoring myself 
for some time. Indeed I’ve been working in Windows for the past 20 years or so, 
usually very close to the machine, helping in the development of real-time 
software for testing engines and transmissions used by the big auto 
manufacturers at the ends of their assembly lines. Only now that I’ve retired 
from that job do I feel like I have time to give back to the open-source 
community. I only learned about LilyPond about two years ago from Daniel 
Spreadbury who tracked me down hoping to get some of the unpublished MusiCopy 
reports. (Of course I can make them available to you, too, if you like.) He was 
working for Steinberg in England on a new music scoring application and wanted 
to use some of the ideas from the MusiCopy project. As we conversed he pointed 
out that the ideas are already in use in a number of music formatting systems 
including LilyPond. Unfortunately I’ve never heard that the Steinberg product 
was released. 

So, where do I go from here? If you have a narrow, low-priority bug or new 
feature for me to work on it could help me focus my attention. I certainly need 
to spend more time with the Contributor’s Guide; the messages on lilypond-devel 
are mostly inscrutable to me, and I don’t know anything yet about the tools 
used to track bugs, fixes, reviews, and releases. Separately, I feel like I 
ought to learn more about using LilyPond so that I can better understand new 
feature requests and judge whether or not a fix is appropriate. Regardless, 
I’ll take whatever suggestions you’d like to make to help me get started.

John

> On Nov 10, 2015, at 10:53 AM, Mike Solomon  wrote:
> 
> Wait wait wait, are you THE John Gourlay?
> As in "Spacing a Line of Music" 1987 John Gourlay? If so, you should be 
> mentoring us, not the other way around! I think I've cited you in every paper 
> I've ever written about notation.
> 
> I'd love to help you get started. It is your algorithm at the heart of 
> LilyPond's horizontal spacing engine, so that can be a place to start if 
> you're up for it!
> 
> Cheers,
> ~Mike
> 
> PS If you're not the John Gourlay of which I speak, my offer for help still 
> stands!
> 
> 
> 
> Sent from my Samsung device
> 
> 
>  Original message 
> From: John Gourlay  
> Date: 10/11/2015 5:36 PM (GMT+02:00) 
> To: lilypond-devel@gnu.org 
> Subject: Beginning contributor needs mentor 
> 
> I’m an aspiring LilyPond contributor who needs a mentor. How can I get one?
> 
> So far I can compile LilyDev itself and the documentation, and I’m becoming 
> familiar with git. I’m looking at the LilyPond Contributor’s Guide, but I 
> have to admit that it’s a bit overwhelming. I’m a recently retired software 
> engineer highly experienced with C++, less with Unix and open-source 
> development, and not at all with Scheme. I’m not a musician, and I’ve used 
> LilyPond only for toy examples so far. However, I once knew a lot about using 
> computers to engrave music, as I was the principal investigator for the 
> MusiCopy Project at Ohio State University in the 1980s. I’m sure that much 
> has changed since then, but I’m pleased to say that LilyDev looks to be very 
> much like what MusiCopy might have been if we’d had an opportunity to 
> complete it. I’d like to help further the LilyPond project in some way.
> 
> John Gourlay
> ___
> lilypond-devel mailing list
> lilypond-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-10 Thread Urs Liska


Am 10.11.2015 um 21:47 schrieb John Gourlay:
> Mike,
>
> Yes, I am the spacing-a-line-of-music John Gourlay, pleased that my early 
> contributions have turned out to be useful. I’ve been out of the loop for 
> about 30 years, however, so it won’t happen that I’ll be doing any mentoring 
> myself for some time. Indeed I’ve been working in Windows for the past 20 
> years or so, usually very close to the machine, helping in the development of 
> real-time software for testing engines and transmissions used by the big auto 
> manufacturers at the ends of their assembly lines. Only now that I’ve retired 
> from that job do I feel like I have time to give back to the open-source 
> community. I only learned about LilyPond about two years ago from Daniel 
> Spreadbury who tracked me down hoping to get some of the unpublished MusiCopy 
> reports. (Of course I can make them available to you, too, if you like.) He 
> was working for Steinberg in England on a new music scoring application and 
> wanted to use some of the ideas from the MusiCopy project. As we conversed he 
> pointed out that the ideas are already in use in a number of music formatting 
> systems including LilyPond. Unfortunately I’ve never heard that the Steinberg 
> product was released. 

Well, they are still on their way towards an initial release, see
http://blog.steinberg.net/ for Daniel's very informative development
reports.

> So, where do I go from here? If you have a narrow, low-priority bug or new 
> feature for me to work on it could help me focus my attention. 

My perspective may not be representative but two different topics spring
to my mind (just rushing forward to get some attention before others
with more important issues step out ;-)

There is one topic that might be interesting, although it's not
necessarily narrow - but with prepared ground. One part where LilyPond
would deserve some care is its tie formatting. Janek Warchoł who has
unfortunately more or less dropped out of work (due to a "real life"
job) has invested quite some work in the research and preparation of a
"tie crusade" (see http://lilypondblog.org/2013/07/lilypond-tie-crusade/
and http://lilypondblog.org/2013/08/tie-crusade-round-2/). This may be
interesting as it is a challenging task but very rewarding and
(hopefully well) prepared.

Another issue is maybe a really tiny but also rewarding issue.
I got stuck in my first attempt at a patch in the C++ domain when I
tried to make the selection of alternative notation fonts significantly
simpler. The road block was in an external dependency (fontconfig) but
nevertheless it might be something small enough to get "into it".

But of course it might be more promising if some of those people step
out who are active (and knowledgeable) in the C++ domain.

Urs

> I certainly need to spend more time with the Contributor’s Guide; the 
> messages on lilypond-devel are mostly inscrutable to me, and I don’t know 
> anything yet about the tools used to track bugs, fixes, reviews, and 
> releases. Separately, I feel like I ought to learn more about using LilyPond 
> so that I can better understand new feature requests and judge whether or not 
> a fix is appropriate. Regardless, I’ll take whatever suggestions you’d like 
> to make to help me get started.
>
> John
>
>> On Nov 10, 2015, at 10:53 AM, Mike Solomon  wrote:
>>
>> Wait wait wait, are you THE John Gourlay?
>> As in "Spacing a Line of Music" 1987 John Gourlay? If so, you should be 
>> mentoring us, not the other way around! I think I've cited you in every 
>> paper I've ever written about notation.
>>
>> I'd love to help you get started. It is your algorithm at the heart of 
>> LilyPond's horizontal spacing engine, so that can be a place to start if 
>> you're up for it!
>>
>> Cheers,
>> ~Mike
>>
>> PS If you're not the John Gourlay of which I speak, my offer for help still 
>> stands!
>>
>>
>>
>> Sent from my Samsung device
>>
>>
>>  Original message 
>> From: John Gourlay  
>> Date: 10/11/2015 5:36 PM (GMT+02:00) 
>> To: lilypond-devel@gnu.org 
>> Subject: Beginning contributor needs mentor 
>>
>> I’m an aspiring LilyPond contributor who needs a mentor. How can I get one?
>>
>> So far I can compile LilyDev itself and the documentation, and I’m becoming 
>> familiar with git. I’m looking at the LilyPond Contributor’s Guide, but I 
>> have to admit that it’s a bit overwhelming. I’m a recently retired software 
>> engineer highly experienced with C++, less with Unix and open-source 
>> development, and not at all with Scheme. I’m not a musician, and I’ve used 
>> LilyPond only for toy examples so far. However, I once knew a lot about 
>> using computers to engrave music, as I was the principal investigator for 
>> the MusiCopy Project at Ohio State University in the 1980s. I’m sure that 
>> much has changed since then, but I’m pleased to say that LilyDev looks to be 
>> very much like what MusiCopy might have been if we’d had an opportunity to 
>> comple

Re: Beginning contributor needs mentor

2015-11-10 Thread Mike Solomon


I'll scour the tracker - there is a bit of low hanging fruit in the beautifying 
department that is nice because it will not be too sprawling and will result in 
immediately perceptible visual improvements.
~Mike

Sent from my Samsung device

 Original message 
From: John Gourlay  
Date: 10/11/2015  10:47 PM  (GMT+02:00) 
To: Mike Solomon  
Cc: lilypond-devel@gnu.org 
Subject: Re: Beginning contributor needs mentor 

Mike,

Yes, I am the spacing-a-line-of-music John Gourlay, pleased that my early 
contributions have turned out to be useful. I’ve been out of the loop for about 
30 years, however, so it won’t happen that I’ll be doing any mentoring myself 
for some time. Indeed I’ve been working in Windows for the past 20 years or so, 
usually very close to the machine, helping in the development of real-time 
software for testing engines and transmissions used by the big auto 
manufacturers at the ends of their assembly lines. Only now that I’ve retired 
from that job do I feel like I have time to give back to the open-source 
community. I only learned about LilyPond about two years ago from Daniel 
Spreadbury who tracked me down hoping to get some of the unpublished MusiCopy 
reports. (Of course I can make them available to you, too, if you like.) He was 
working for Steinberg in England on a new music scoring application and wanted 
to use some of the ideas from the MusiCopy project. As we conversed he pointed 
out that the ideas are already in use in a number of music formatting systems 
including LilyPond. Unfortunately I’ve never heard that the Steinberg product 
was released. 

So, where do I go from here? If you have a narrow, low-priority bug or new 
feature for me to work on it could help me focus my attention. I certainly need 
to spend more time with the Contributor’s Guide; the messages on lilypond-devel 
are mostly inscrutable to me, and I don’t know anything yet about the tools 
used to track bugs, fixes, reviews, and releases. Separately, I feel like I 
ought to learn more about using LilyPond so that I can better understand new 
feature requests and judge whether or not a fix is appropriate. Regardless, 
I’ll take whatever suggestions you’d like to make to help me get started.

John

> On Nov 10, 2015, at 10:53 AM, Mike Solomon  wrote:
> 
> Wait wait wait, are you THE John Gourlay?
> As in "Spacing a Line of Music" 1987 John Gourlay? If so, you should be 
> mentoring us, not the other way around! I think I've cited you in every paper 
> I've ever written about notation.
> 
> I'd love to help you get started. It is your algorithm at the heart of 
> LilyPond's horizontal spacing engine, so that can be a place to start if 
> you're up for it!
> 
> Cheers,
> ~Mike
> 
> PS If you're not the John Gourlay of which I speak, my offer for help still 
> stands!
> 
> 
> 
> Sent from my Samsung device
> 
> 
>  Original message 
> From: John Gourlay  
> Date: 10/11/2015 5:36 PM (GMT+02:00) 
> To: lilypond-devel@gnu.org 
> Subject: Beginning contributor needs mentor 
> 
> I’m an aspiring LilyPond contributor who needs a mentor. How can I get one?
> 
> So far I can compile LilyDev itself and the documentation, and I’m becoming 
> familiar with git. I’m looking at the LilyPond Contributor’s Guide, but I 
> have to admit that it’s a bit overwhelming. I’m a recently retired software 
> engineer highly experienced with C++, less with Unix and open-source 
> development, and not at all with Scheme. I’m not a musician, and I’ve used 
> LilyPond only for toy examples so far. However, I once knew a lot about using 
> computers to engrave music, as I was the principal investigator for the 
> MusiCopy Project at Ohio State University in the 1980s. I’m sure that much 
> has changed since then, but I’m pleased to say that LilyDev looks to be very 
> much like what MusiCopy might have been if we’d had an opportunity to 
> complete it. I’d like to help further the LilyPond project in some way.
> 
> John Gourlay
> ___
> lilypond-devel mailing list
> lilypond-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-11 Thread David Kastrup
John Gourlay  writes:

> Only now that I’ve retired from that job do I feel like I have time to
> give back to the open-source community. I only learned about LilyPond
> about two years ago from Daniel Spreadbury who tracked me down hoping
> to get some of the unpublished MusiCopy reports. (Of course I can make
> them available to you, too, if you like.) He was working for Steinberg
> in England on a new music scoring application and wanted to use some
> of the ideas from the MusiCopy project. As we conversed he pointed out
> that the ideas are already in use in a number of music formatting
> systems including LilyPond. Unfortunately I’ve never heard that the
> Steinberg product was released.

Oh, I think it is still work in progress with considerable expertise
(from a programmer team previously responsible for much of Sibelius) and
considerable resources flowing into it, so I'm pretty sure that it will
eventually be released to the market.  But as a proprietary product, its
sources will not be available to the public.

> So, where do I go from here? If you have a narrow, low-priority bug or
> new feature for me to work on it could help me focus my attention. I
> certainly need to spend more time with the Contributor’s Guide; the
> messages on lilypond-devel are mostly inscrutable to me, and I don’t
> know anything yet about the tools used to track bugs, fixes, reviews,
> and releases. Separately, I feel like I ought to learn more about
> using LilyPond so that I can better understand new feature requests
> and judge whether or not a fix is appropriate. Regardless, I’ll take
> whatever suggestions you’d like to make to help me get started.

It's a bit of a drawback that you are not an active musician yourself,
otherwise the obvious road would be typesetting a bit of music and
letting yourself get sucked into increasing amounts of solving things
programmatically with Scheme.

I could sketch out some dormant algorithmic work pretty much purely in
C++, namely a better representation and associated algorithms for
"skylines".  That would help speeding up some rather frequently executed
code that takes a significant amount of time when processing complex
scores (according to profiling).  The bad news is that the current
algorithms are already efficient (O (n lg n)), so there will likely only
be a mostly constant factor of improvement.  The algorithms I have in
mind, though, do some lazy improvements so there is some chance of
avoiding repeated calculations.

There are also a few other corners that are mostly doable in C++, mostly
in our graphic work and the output (where moving to the Cairo library
for internal representations and a number of graphical operations would
seriously improve the ability of LilyPond to be embedded in different
computing environments and IDEs).

However, putting you to work on those corners, while likely making for a
bit of a running start, are not particularly likely to make you all that
much acquainted with LilyPond's overall architecture.  So it depends on
what motivations drive you whether this will end up to be satisfactory
work for you.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-11 Thread David Kastrup
Simon Albrecht  writes:

> On 10.11.2015 16:36, John Gourlay wrote:
>> I’m a recently retired software engineer highly experienced with
>> C++, less with Unix and open-source development, and not at all with
>> Scheme.
>
> I fear that you may not get around learning some scheme, since our C++
> source is quite interlinked with scheme parts, but I may be
> mistaken. The Guile Reference Manual
>  may help.

It's worse than that.  The user-accessible programming layer and related
data structures are Scheme.  So Scheme programming and its data
structures are really what is driving the design of LilyPond: the C++
layers are subordinates.  While there are considerable bouts of
self-reliant C++ code, their ultimate in- and output derives from Scheme
and fits in there, as do many intermediate connections.

So foregoing to learn about Scheme when working on LilyPond in the
expectation that one can solve problems in C++ is likely about as
effective as foregoing to learn about EmacsLisp when working on Emacs.

The principal problem-solving language of LilyPond is Scheme, even
though C++ provides computational shortcuts and some core parts.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Beginning contributor needs mentor

2015-11-11 Thread David Kastrup
Werner LEMBERG  writes:

> Hello John!
>
>
>> I’m a recently retired software engineer highly experienced with
>> C++, less with Unix and open-source development, and not at all with
>> Scheme.
>
> Assuming that you are a Windows guy: It would be great if you could
> make lilypond compile on that platform!

Why?  Our crosscompilation caters for all compilation dependencies and
runtime dependencies (Windows does not have installation procedures
keeping track of dependencies) and delivers an up-to-date installer
together with the rest.

If you take a look at Git, a project that bothers maintaining a separate
Windows compilation and is, like LilyPond packagings for non-GNU
systems, comprised of a number of utilities it depends on, serious
effort goes into maintaining a Windows executable package and it's still
easily trailing months behind the main development rather than the two
weeks our development release procedure causes.

> There are also some rough edges here and there that would need a
> helping hand from someone who is an experienced programmer.

It's not just an "experienced programmer" since a lot of experiences
with LilyPond are rather unique.  So one needs time and openness in
order to immerse oneself into the kind of C++/Guile/Scheme mixture our
code base is written in.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel