Csound Csound-dev Csound-tekno Search About

[Csnd] Hello Hello - This is my first post here

Date2019-07-18 04:58
FromVincent Meade
Subject[Csnd] Hello Hello - This is my first post here
Hi as the title states. This is my first time doing this. Definitely posted a tweet before I've posted a ListServ. That's a joke but it is also true. 

Csound is my favorite language and computer past-time. Wanna give back to the language but also learn about it. Probably in it to learn about it most. Have the old-school hacker's ethos understanding of it. Biggest problem is that I don't know the range of values associated in the function/sub routine calls and the ears get blown out occasionally. Can't find them anywayer. Also learn how to contribute to this open source development if can be done. 

So, HI!

Gracias

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2019-07-22 10:56
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Hello Hello - This is my first post here
Hello Vincent,

Thanks for your post. It is an interesting question, how to understand the range of values that are appropriate for different functions (or opcodes). The answer to the question lies in what you want the program to do, what sound you want to make. Many opcodes do not impose numeric limitations on the values of the arguments, rather it is up to the user, and it will depend on context whether a specific value makes sense or not. For example, an oscillator (oscil, poscil, and similar) has a frequency argument, the "xcps" when looking at the syntax from the manual:
ares oscil xamp, xcps
This frequency argument determines the rate of oscillation, resulting in a tone with a perceived pitch of this freqency. Then again, if the frequency is below the threshold of human hearing, you will not hear a sound. Rather, the oscillator can then be used as a control signal to provide vibrato or other fluctuation. Likewise, if the frequency is above the Nyquist (the frequency at half the sample rate), the resulting digital sound will actually not have the frequency you specified, but rather it will be mirrored by the Nyquist frequency. 
Some special opcodes might be designed to be used with only a specific range of values. This might be the case for some filters, where the mathematics of the filter become unstable outside of the range it was designed for. These might in fact "blow up" numerically.  In these cases, the manual will state this limitation. Hopefully it will be stated clearly in the text, although sometimes you might happen to overlook it if the manual page is rich with info. 

So, as you understand, the useful range can vary a lot depending on what you want to achieve. As such, it might be useful to make a short example demonstrating the problem next time it happens. Then you can post the example code here and we will be able to give you morew detailed help.

all best
Oeyvind


tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade <garganbobo@gmail.com>:
Hi as the title states. This is my first time doing this. Definitely posted a tweet before I've posted a ListServ. That's a joke but it is also true.

Csound is my favorite language and computer past-time. Wanna give back to the language but also learn about it. Probably in it to learn about it most. Have the old-school hacker's ethos understanding of it. Biggest problem is that I don't know the range of values associated in the function/sub routine calls and the ears get blown out occasionally. Can't find them anywayer. Also learn how to contribute to this open source development if can be done.

So, HI!

Gracias

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


--
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2019-07-22 15:07
FromForrest Curo
SubjectRe: [Csnd] Hello Hello - This is my first post here
I think the question was more along the lines of "How do I make sure I don't get blown eardrums & drumming sounds from my heartbeat & a risk of permanent hearing loss?" 

Where that was likely you'd want some sort of logical a-rate clipping procedure between the program and the output? 

You'd like to be able to say: "If (ablat > 1) then ablat = 1"  -- IF you could do that -- BUT:

"Note

If/then/goto statements cannot do audio-type comparisons. You can't put a-type variables in the comparison expressions for these opcodes. The reason for this is that audio variables are actually vectors, which can't be compared in the same way as scalars. If you need to compare individua audio samples, use kr = 1 or Comparators"

---------

Anyone have a simple, non-clunky way we can do this?

Forrest Curo
San Diego

On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no> wrote:
Hello Vincent,

Thanks for your post. It is an interesting question, how to understand the range of values that are appropriate for different functions (or opcodes). The answer to the question lies in what you want the program to do, what sound you want to make. Many opcodes do not impose numeric limitations on the values of the arguments, rather it is up to the user, and it will depend on context whether a specific value makes sense or not. For example, an oscillator (oscil, poscil, and similar) has a frequency argument, the "xcps" when looking at the syntax from the manual:
ares oscil xamp, xcps
This frequency argument determines the rate of oscillation, resulting in a tone with a perceived pitch of this freqency. Then again, if the frequency is below the threshold of human hearing, you will not hear a sound. Rather, the oscillator can then be used as a control signal to provide vibrato or other fluctuation. Likewise, if the frequency is above the Nyquist (the frequency at half the sample rate), the resulting digital sound will actually not have the frequency you specified, but rather it will be mirrored by the Nyquist frequency. 
Some special opcodes might be designed to be used with only a specific range of values. This might be the case for some filters, where the mathematics of the filter become unstable outside of the range it was designed for. These might in fact "blow up" numerically.  In these cases, the manual will state this limitation. Hopefully it will be stated clearly in the text, although sometimes you might happen to overlook it if the manual page is rich with info. 

So, as you understand, the useful range can vary a lot depending on what you want to achieve. As such, it might be useful to make a short example demonstrating the problem next time it happens. Then you can post the example code here and we will be able to give you morew detailed help.

all best
Oeyvind


tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade <garganbobo@gmail.com>:
Hi as the title states. This is my first time doing this. Definitely posted a tweet before I've posted a ListServ. That's a joke but it is also true.

Csound is my favorite language and computer past-time. Wanna give back to the language but also learn about it. Probably in it to learn about it most. Have the old-school hacker's ethos understanding of it. Biggest problem is that I don't know the range of values associated in the function/sub routine calls and the ears get blown out occasionally. Can't find them anywayer. Also learn how to contribute to this open source development if can be done.

So, HI!

Gracias

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


--
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2019-07-22 16:15
Fromjohn
SubjectRe: [Csnd] Hello Hello - This is my first post here
clip
dam
possibly more.  And there are comparison functions at audio rate.  For 
example select can be used as a limiter


On Mon, 22 Jul 2019, Forrest Curo wrote:

> I think the question was more along the lines of "How do I make sure I don't
> get blown eardrums & drumming sounds from my heartbeat & a risk of permanent
> hearing loss?" 
> Where that was likely you'd want some sort of logical a-rate clipping
> procedure between the program and the output? 
> 
> You'd like to be able to say: "If (ablat > 1) then ablat = 1"  -- IF you could
> do that -- BUT:
> 
> "Note
> 
> If/then/goto statements cannot do audio-type comparisons. You can't put a-type
> variables in the comparison expressions for these opcodes. The reason for this
> is that audio variables are actually vectors, which can't be compared in the
> same way as scalars. If you need to compare individua audio samples, use kr =
> 1 or Comparators"
> 
> ---------
> 
> Anyone have a simple, non-clunky way we can do this?
> 
> Forrest Curo
> San Diego
> 
> On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg 
> wrote:
>       Hello Vincent,
> Thanks for your post. It is an interesting question, how to understand
> the range of values that are appropriate for different functions (or
> opcodes). The answer to the question lies in what you want the program
> to do, what sound you want to make. Many opcodes do not impose numeric
> limitations on the values of the arguments, rather it is up to the user,
> and it will depend on context whether a specific value makes sense or
> not. For example, an oscillator (oscil, poscil, and similar) has a
> frequency argument, the "xcps" when looking at the syntax from the
> manual:
> ares oscil xamp, xcps
> This frequency argument determines the rate of oscillation, resulting in
> a tone with a perceived pitch of this freqency. Then again, if the
> frequency is below the threshold of human hearing, you will not hear a
> sound. Rather, the oscillator can then be used as a control signal to
> provide vibrato or other fluctuation. Likewise, if the frequency is
> above the Nyquist (the frequency at half the sample rate), the resulting
> digital sound will actually not have the frequency you specified, but
> rather it will be mirrored by the Nyquist frequency. 
> Some special opcodes might be designed to be used with only a specific
> range of values. This might be the case for some filters, where the
> mathematics of the filter become unstable outside of the range it was
> designed for. These might in fact "blow up" numerically.  In these
> cases, the manual will state this limitation. Hopefully it will be
> stated clearly in the text, although sometimes you might happen to
> overlook it if the manual page is rich with info. 
> 
> So, as you understand, the useful range can vary a lot depending on what
> you want to achieve. As such, it might be useful to make a short example
> demonstrating the problem next time it happens. Then you can post the
> example code here and we will be able to give you morew detailed help.
> 
> all best
> Oeyvind
> 
> 
> tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade :
>       Hi as the title states. This is my first time doing this.
>       Definitely posted a tweet before I've posted a ListServ.
>       That's a joke but it is also true.
>
>       Csound is my favorite language and computer past-time. Wanna
>       give back to the language but also learn about it. Probably
>       in it to learn about it most. Have the old-school hacker's
>       ethos understanding of it. Biggest problem is that I don't
>       know the range of values associated in the function/sub
>       routine calls and the ears get blown out occasionally. Can't
>       find them anywayer. Also learn how to contribute to this
>       open source development if can be done.
>
>       So, HI!
>
>       Gracias
>
>       Csound mailing list
>       Csound@listserv.heanet.ie
>       https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>       Send bugs reports to
>               https://github.com/csound/csound/issues
>       Discussions of bugs and features can be posted here
> 
> 
> 
> --
> 
> Oeyvind Brandtsegg
> Professor of Music Technology
> NTNU
> 7491 Trondheim
> Norway
> Cell: +47 92 203 205
> 
> http://www.partikkelaudio.com/
> http://crossadaptive.hf.ntnu.no
> http://gdsp.hf.ntnu.no/
> http://soundcloud.com/brandtsegg
> http://flyndresang.no/
> http://soundcloud.com/t-emp
>  
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features
> can be posted here
> 
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here
>

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2019-07-22 18:42
FromJustin Smith
SubjectRe: [Csnd] Hello Hello - This is my first post here
In the "good old days" before multiplexing desktop audio systems, one
program would own the DSP and the computer volume control could
reliably prevent massively loud output because it worked in an integer
domain where out of bound values would clip or wrap at a hardware
limit.

Thanks to modern floating point mixing APIs, your OS will happily
generate a high level output sound even when the software volume
control is low, and as jpff suggests, you can get the old safer
behavior back (virtually) by clipping your output in CSound.

I'm just glad our screen controls aren't similarly behaved (imagine if
a buggy program could generate a light bright enough to cause eye
damage, regardless of your screen dimness controls...)

On Mon, Jul 22, 2019 at 8:15 AM john  wrote:
>
> clip
> dam
> possibly more.  And there are comparison functions at audio rate.  For
> example select can be used as a limiter
>
>
> On Mon, 22 Jul 2019, Forrest Curo wrote:
>
> > I think the question was more along the lines of "How do I make sure I don't
> > get blown eardrums & drumming sounds from my heartbeat & a risk of permanent
> > hearing loss?"
> > Where that was likely you'd want some sort of logical a-rate clipping
> > procedure between the program and the output?
> >
> > You'd like to be able to say: "If (ablat > 1) then ablat = 1"  -- IF you could
> > do that -- BUT:
> >
> > "Note
> >
> > If/then/goto statements cannot do audio-type comparisons. You can't put a-type
> > variables in the comparison expressions for these opcodes. The reason for this
> > is that audio variables are actually vectors, which can't be compared in the
> > same way as scalars. If you need to compare individua audio samples, use kr =
> > 1 or Comparators"
> >
> > ---------
> >
> > Anyone have a simple, non-clunky way we can do this?
> >
> > Forrest Curo
> > San Diego
> >
> > On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg 
> > wrote:
> >       Hello Vincent,
> > Thanks for your post. It is an interesting question, how to understand
> > the range of values that are appropriate for different functions (or
> > opcodes). The answer to the question lies in what you want the program
> > to do, what sound you want to make. Many opcodes do not impose numeric
> > limitations on the values of the arguments, rather it is up to the user,
> > and it will depend on context whether a specific value makes sense or
> > not. For example, an oscillator (oscil, poscil, and similar) has a
> > frequency argument, the "xcps" when looking at the syntax from the
> > manual:
> > ares oscil xamp, xcps
> > This frequency argument determines the rate of oscillation, resulting in
> > a tone with a perceived pitch of this freqency. Then again, if the
> > frequency is below the threshold of human hearing, you will not hear a
> > sound. Rather, the oscillator can then be used as a control signal to
> > provide vibrato or other fluctuation. Likewise, if the frequency is
> > above the Nyquist (the frequency at half the sample rate), the resulting
> > digital sound will actually not have the frequency you specified, but
> > rather it will be mirrored by the Nyquist frequency.
> > Some special opcodes might be designed to be used with only a specific
> > range of values. This might be the case for some filters, where the
> > mathematics of the filter become unstable outside of the range it was
> > designed for. These might in fact "blow up" numerically.  In these
> > cases, the manual will state this limitation. Hopefully it will be
> > stated clearly in the text, although sometimes you might happen to
> > overlook it if the manual page is rich with info.
> >
> > So, as you understand, the useful range can vary a lot depending on what
> > you want to achieve. As such, it might be useful to make a short example
> > demonstrating the problem next time it happens. Then you can post the
> > example code here and we will be able to give you morew detailed help.
> >
> > all best
> > Oeyvind
> >
> >
> > tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade :
> >       Hi as the title states. This is my first time doing this.
> >       Definitely posted a tweet before I've posted a ListServ.
> >       That's a joke but it is also true.
> >
> >       Csound is my favorite language and computer past-time. Wanna
> >       give back to the language but also learn about it. Probably
> >       in it to learn about it most. Have the old-school hacker's
> >       ethos understanding of it. Biggest problem is that I don't
> >       know the range of values associated in the function/sub
> >       routine calls and the ears get blown out occasionally. Can't
> >       find them anywayer. Also learn how to contribute to this
> >       open source development if can be done.
> >
> >       So, HI!
> >
> >       Gracias
> >
> >       Csound mailing list
> >       Csound@listserv.heanet.ie
> >       https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> >       Send bugs reports to
> >               https://github.com/csound/csound/issues
> >       Discussions of bugs and features can be posted here
> >
> >
> >
> > --
> >
> > Oeyvind Brandtsegg
> > Professor of Music Technology
> > NTNU
> > 7491 Trondheim
> > Norway
> > Cell: +47 92 203 205
> >
> > http://www.partikkelaudio.com/
> > http://crossadaptive.hf.ntnu.no
> > http://gdsp.hf.ntnu.no/
> > http://soundcloud.com/brandtsegg
> > http://flyndresang.no/
> > http://soundcloud.com/t-emp
> >
> > Csound mailing list Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> > https://github.com/csound/csound/issues Discussions of bugs and features
> > can be posted here
> >
> > Csound mailing list Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> > https://github.com/csound/csound/issues Discussions of bugs and features can
> > be posted here
> >
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2019-07-22 18:53
FromForrest Curo
SubjectRe: [Csnd] Hello Hello - This is my first post here
Even if you've got your software output levels tamed, one still needs to beware switching between insensitive speaker hardware and sensitive earphones. ie, One plays a loud 'bong' for a mediation timer, then puts on the earphones for csound -- and ow! 

For that sort of problem (with linux at least):

pactl -- set-sink-volume 80%; aplay -N clang.wav; sleep 1800; aplay clang.wav; pactl -- set-sink-volume 20%


On Mon, Jul 22, 2019 at 10:43 AM Justin Smith <noisesmith@gmail.com> wrote:
In the "good old days" before multiplexing desktop audio systems, one
program would own the DSP and the computer volume control could
reliably prevent massively loud output because it worked in an integer
domain where out of bound values would clip or wrap at a hardware
limit.

Thanks to modern floating point mixing APIs, your OS will happily
generate a high level output sound even when the software volume
control is low, and as jpff suggests, you can get the old safer
behavior back (virtually) by clipping your output in CSound.

I'm just glad our screen controls aren't similarly behaved (imagine if
a buggy program could generate a light bright enough to cause eye
damage, regardless of your screen dimness controls...)

On Mon, Jul 22, 2019 at 8:15 AM john <jpff@codemist.co.uk> wrote:
>
> clip
> dam
> possibly more.  And there are comparison functions at audio rate.  For
> example select can be used as a limiter
>
>
> On Mon, 22 Jul 2019, Forrest Curo wrote:
>
> > I think the question was more along the lines of "How do I make sure I don't
> > get blown eardrums & drumming sounds from my heartbeat & a risk of permanent
> > hearing loss?"
> > Where that was likely you'd want some sort of logical a-rate clipping
> > procedure between the program and the output?
> >
> > You'd like to be able to say: "If (ablat > 1) then ablat = 1"  -- IF you could
> > do that -- BUT:
> >
> > "Note
> >
> > If/then/goto statements cannot do audio-type comparisons. You can't put a-type
> > variables in the comparison expressions for these opcodes. The reason for this
> > is that audio variables are actually vectors, which can't be compared in the
> > same way as scalars. If you need to compare individua audio samples, use kr =
> > 1 or Comparators"
> >
> > ---------
> >
> > Anyone have a simple, non-clunky way we can do this?
> >
> > Forrest Curo
> > San Diego
> >
> > On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no>
> > wrote:
> >       Hello Vincent,
> > Thanks for your post. It is an interesting question, how to understand
> > the range of values that are appropriate for different functions (or
> > opcodes). The answer to the question lies in what you want the program
> > to do, what sound you want to make. Many opcodes do not impose numeric
> > limitations on the values of the arguments, rather it is up to the user,
> > and it will depend on context whether a specific value makes sense or
> > not. For example, an oscillator (oscil, poscil, and similar) has a
> > frequency argument, the "xcps" when looking at the syntax from the
> > manual:
> > ares oscil xamp, xcps
> > This frequency argument determines the rate of oscillation, resulting in
> > a tone with a perceived pitch of this freqency. Then again, if the
> > frequency is below the threshold of human hearing, you will not hear a
> > sound. Rather, the oscillator can then be used as a control signal to
> > provide vibrato or other fluctuation. Likewise, if the frequency is
> > above the Nyquist (the frequency at half the sample rate), the resulting
> > digital sound will actually not have the frequency you specified, but
> > rather it will be mirrored by the Nyquist frequency.
> > Some special opcodes might be designed to be used with only a specific
> > range of values. This might be the case for some filters, where the
> > mathematics of the filter become unstable outside of the range it was
> > designed for. These might in fact "blow up" numerically.  In these
> > cases, the manual will state this limitation. Hopefully it will be
> > stated clearly in the text, although sometimes you might happen to
> > overlook it if the manual page is rich with info.
> >
> > So, as you understand, the useful range can vary a lot depending on what
> > you want to achieve. As such, it might be useful to make a short example
> > demonstrating the problem next time it happens. Then you can post the
> > example code here and we will be able to give you morew detailed help.
> >
> > all best
> > Oeyvind
> >
> >
> > tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade <garganbobo@gmail.com>:
> >       Hi as the title states. This is my first time doing this.
> >       Definitely posted a tweet before I've posted a ListServ.
> >       That's a joke but it is also true.
> >
> >       Csound is my favorite language and computer past-time. Wanna
> >       give back to the language but also learn about it. Probably
> >       in it to learn about it most. Have the old-school hacker's
> >       ethos understanding of it. Biggest problem is that I don't
> >       know the range of values associated in the function/sub
> >       routine calls and the ears get blown out occasionally. Can't
> >       find them anywayer. Also learn how to contribute to this
> >       open source development if can be done.
> >
> >       So, HI!
> >
> >       Gracias
> >
> >       Csound mailing list
> >       Csound@listserv.heanet.ie
> >       https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> >       Send bugs reports to
> >               https://github.com/csound/csound/issues
> >       Discussions of bugs and features can be posted here
> >
> >
> >
> > --
> >
> > Oeyvind Brandtsegg
> > Professor of Music Technology
> > NTNU
> > 7491 Trondheim
> > Norway
> > Cell: +47 92 203 205
> >
> > http://www.partikkelaudio.com/
> > http://crossadaptive.hf.ntnu.no
> > http://gdsp.hf.ntnu.no/
> > http://soundcloud.com/brandtsegg
> > http://flyndresang.no/
> > http://soundcloud.com/t-emp
> >
> > Csound mailing list Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> > https://github.com/csound/csound/issues Discussions of bugs and features
> > can be posted here
> >
> > Csound mailing list Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> > https://github.com/csound/csound/issues Discussions of bugs and features can
> > be posted here
> >
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here