Re: [PD] C++ for reusable dsp lib - or better use C?

2012-02-21 Thread Marvin Humphrey
On Tue, Feb 21, 2012 at 10:59:59AM -0500, Mathieu Bouchard wrote:
 ABI compatibility is still an issue with C++.

In addition to name mangling, calling convention and other issues accross
compilers, C++ presents problems with ABI incompatibility even when using the
same compiler.  If your library is designed with user-extensible classes,
choosing C++ places severe constraints upon core development -- no new virtual
methods or member variables in non-leaf classes, etc:

http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B

The comment thread here may be germane (it describes some of the reasons we
avoided C++ for Apache Lucy):

https://issues.apache.org/jira/browse/LUCY-5

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [expr] license issue (update)

2011-12-03 Thread Marvin Humphrey
On Sat, Dec 03, 2011 at 02:35:26PM -0500, Mathieu Bouchard wrote:
 I don't think anyone claims copyright on correcting a small typo, for  
 example.

There are all kinds of crazy people in the world who claim things they don't
have the right to, but to pursue the matter ad absurdum, any lawsuit over a
small typo is going to be thrown out for failing a de minimis test.

Nevertheless, I understand wanting to err on the side of safety.  Politics and
courtesy probably play a larger role here than actual legal concerns.  And I
certainly agree with Jonathan that IANAL.  :)

 Marvin said something about implicitly giving up copyright, in the  
 previous big thread about licenses (in sep+oct).

I must have said something about granting implicit license under the license
of the project when you provide a patch, which is definitely not the same
thing as implicitly giving up copyright.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] gdb and Pd WAS: testtone comments

2011-11-16 Thread Marvin Humphrey
On Wed, Nov 16, 2011 at 07:28:34AM -0800, Jonathan Wilkes wrote:
 So can I just use Valgrind with my current nightly build, or do I still need
 to recompile with the options Hans mentioned?

You don't need to recompile.  

If at some point we create a Valgrind suppressions file for Pd, it will help
to compile with -fno-inline-functions.  But that's not required -- it just
cuts down on the noisy false positives.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] gdb and Pd WAS: testtone comments

2011-11-16 Thread Marvin Humphrey
On Wed, Nov 16, 2011 at 09:46:18AM -0500, Hans-Christoph Steiner wrote:
 To this end, I recently did some work on the Pd-extended build system to
 make sure that everything gets built with -g -fno-omit-frame-pointer.  With
 those two, I have found that you can get good info while still having the
 (other) optimizations in.  Debugging with the optimizations is also
 important since that's how most people actually use pd.

Certainly, compiling with those flags aids debugging with gdb and
optimizations enabled.

Nevertheless, I have to say that while I've used Valgrind to debug countless
memory glitches, I have only tracked the problem down to an
optimization-related compiler bug once.  Memory corruption bugs and leaks seem
to originate much more often with the programmer than the compiler. :) 

To fully exploit Valgrind and its ability to identify ordinary C programmer
error, it's convenient (though not required) to build with optimization off
and -fno-inline-functions so as to make building suppressions files easier.
That's not going to hide bugs like double-frees, buffer overruns, etc, and
most of the time, that's what at the root of the problem.

I would also like to second Matju -- it is much more useful to know the moment
the invalid write occured than it is to know what happened at the moment the
corrupted memory caused the crash.  Heap memory corruption in particular is a
spooky-action-at-a-distance phenomenon[1] -- there is usually no obvious
cause-and-effect relationship between the bad write and its eventual
consequences, because overwriting the heap's bookkeeping records causes stuff
to go haywire in really weird ways at unpredictable moments.  It is much
easier to debug starting from the cause that Valgrind identifies rather than
starting from the effect that gdb identifies. 

Marvin Humphrey

[1] http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_science%29


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] expr money

2011-11-12 Thread Marvin Humphrey
On Sat, Nov 12, 2011 at 03:24:27PM -0500, Mathieu Bouchard wrote:
 btw, I haven't seen any of the three funders (Andy, Jonathan, Marvin) say 
 whether their money is just for [expr], or does it include [expr~] and/or 
 [fexpr~] as well. The task description should be made clearer.

What I would like to see is uniform BSD licensing for PD Vanilla.

That said, if Shahrokh believed that the task only included [expr], I'm fine
with that.  I doubt he's going to be funded at anywhere near what his time is
worth, either way.

 Also, there's no webpage about it. Perhaps you could get together to 
 write a page listing the goals and the amounts of money. It could be on  
 puredata.info. There could also be a new section for that kind of thing,  
 and/or it could be put next to the Google Summer of Code pages and other  
 funding-related things.

Personally, I'm not into the idea of generalizing this -- public funding is a
legal and bureaucratic hassle, and I'm considering this a specific charity
donation a la sponsoring a friend in Race for The Cure, not seed money for a
bug-bounty model of development.  I'm also unlikely to contribute again.  For
me, this is a one-time put-your-money-where-your-mouth-is special situation
that I only really considered because the original author made a unique
proposal.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] expr alternative

2011-10-25 Thread Marvin Humphrey
On Wed, Oct 26, 2011 at 08:51:23AM +0800, Simon Wise wrote:
 On 26/10/11 01:29, Hans-Christoph Steiner wrote:

 The Apple App Store is incompatible with the GPL and LGPL, from what I
 understand. Getting Apple to make their App Store compatible with the GPL and
 LGPL is another much better solution since it will work for all GPL and LGPL
 software.

 this is of course the best solution ... 

8 snip license advocacy and geopolitical theory 8

I would like to register my disagreement.  In my opinion, the solution which
best serves the broad community of users -- including those users for whom
expr's licensing is problematic -- is for Pd Vanilla to have uniform BSD
licensing.  It seems to me that an implementation of expr which is
license-compatible with the rest of Vanilla is a perfectly reasonable and
understandable feature request.

The practical rationale is obvious: if GPL (or potentially LGPL) is not an
option for you, then expr is missing from your toolkit, and it would be nice
to have it.  I understand that there are several valuable contributors within
the Pd community who believe that it is important to deny that feature request
for moral reasons.  There are also opposing moral reasons to grant it, but as
before, I intend to keep my developer list posts on licensing limited to
dry mechanics if possible; if you absolutely cannot live without a sprinkle of
BSD license advocacy to complement the on-list deluge of copyleft license
advocacy, please ask off-list.

Best,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] expr alternative

2011-10-24 Thread Marvin Humphrey
On Mon, Oct 24, 2011 at 08:36:39AM +0100, Andy Farnell wrote:
 On Mon, 24 Oct 2011 11:16:18 +0900
 i go bananas hard@gmail.com wrote:
 
  in that case, it might be as simple as a nice email to Shadrokh Yadegari to
  get his expr for pd license changed to LGPL too??
 
 What makes you think its okay to ask someone to reconsider a 
 carefully made moral decision simply for your convenience?

I don't know the specifics of the expr case, and it may well be that the GPL
is something that Shadrokh Yadegari feels strongly about.  Still, as a data
point, when the codebase that is now Apache Lucy was granted to the ASF and we
had to get 20 copyright holders to sign off on on a license change from
GPL/Artistic to Apache 2.0, not a single one of them objected.  Not everyone
cares.

From a practical standpoint, if there have been any patches to expr since it
was added to Pd, it would be necessary to secure the consent of those authors
as well, any one of whom may refuse, or might not be available.  Relicensing
is hard.

But especially if writing a from-scratch alternative to expr is being
contemplated, I think it's commendable and wise for mr. bananas to at least
explore the possibility of achieving his objective via polite requests before
taking any other actions.

I don't think he should feel bad about that at all.  Indeed, that is the
community-friendly approach, attempting to keep development united.  I choose
to have faith that if expr's author receives a polite request regarding
relicensing, the response will also be polite, even if it is a rebuff.  If my
faith is misplaced and the response is instead an indignant flame, in my
opinion, that does not reflect poorly on mr. bananas.

There are those of us who are on the BSD side of the fence who also have
strong moral reasons for our choices.  You tend not to hear from us as often
because we feel you should have the freedom to GPL works which bundle ours,
just as you should have the right to release bundled software under
proprietary licenses.  Despite these strong beliefs, if I were to receive a
sincere request to relicense software I had written under a copyleft license,
I would not be offended and I would contemplate it in good faith.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] editing pd silence - dither

2011-10-23 Thread Marvin Humphrey
On Sun, Oct 23, 2011 at 02:20:38PM -0400, Mathieu Bouchard wrote:
 Personally, I don't understand what's the point of dither in audio. Maybe 
 it's just an evil plot to make CD quality sound like 8-track cartridges.

Without dither, truncation error becomes truncation distortion.  It is
correlated with the signal, yet not harmonic.  While under certain
circumstances this can be exploited as a special effect, it is not desirable
when your goal is fidelity.

The use of dither in digital audio is directly analogous to the use of
dither to defeat posterization and achieve the illusion of smooth color
transitions in visual images with limited color levels.

http://en.wikipedia.org/wiki/File:Colour_banding_example01.png

In that image, the 24-bit gradient would be analogous to the full width
audio signal prior to bit depth reduction, the 8 bit gradient, dithered
would be analogous to dithered audio, and the 8 bit gradient displaying
obvious color banding would be analogous to truncated audio.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] editing pd silence - dither

2011-10-23 Thread Marvin Humphrey
On Sun, Oct 23, 2011 at 04:04:58PM -0400, Mathieu Bouchard wrote:
 I understand all of that already, but my impression is that it's more 
 like making a 24-bit gradient use dithering so that it looks more like a 
 48-bit gradient. Would it make a perceptual improvement if you did so ?

No, of course not -- such a difference, though measurable, would fall below a
human's perceptual threshold.  But truncate over and over again, and
eventually, the error accumulates and rises above threshold.

It's hard to hear the first pass of a perceptual codec.  But run audio through
a codec multiple times, and you get a cliff edge effect: nothing...
nothing...  nothing... oh wow now I hear it.

Truncation distortion, being enharmonic, is pretty nasty.   It's not like
analog tape overload.  A little truncation distortion goes a long way, and
unless you are going for glitch, best practice to keep it at bay by managing
gain structure wisely and dithering when appropriate.

 E.g. if you have a fully 16-bit-digital volume control on an amp, and the 
 amp has a big volume range and you only use the quiet range, the 
 effective number of bits can down a lot.

It's also not uncommon to capture a killer take under less than ideal
recording conditions -- including input gain structure.

It's worthwhile for developers of audio software to think about such things,
so that downstream users benefit from the additional headroom.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-10-15 Thread Marvin Humphrey
On Fri, Oct 14, 2011 at 02:33:13PM -0400, Mathieu Bouchard wrote:
 Le 2011-10-11 à 11:37:00, Hans-Christoph Steiner a écrit :

 I work to make sure that everything in Pd-extended is GPLv3 compatible. 
 
 [...]
 Everything in Pd-extended is GPLv3,

 I think that it's better to remain picky in the manner of saying things  
 like that, and not confuse GPLv3 and GPLv3-compatible. You could be 
 saying something like « All licenses of all parts of Pd-extended are  
 GPLv3-compatible and it will remain like that ».

+1

Everything in Pd-extended is GPLv3 is simply incorrect.  License
proliferation within Pd is regrettable and sucks time and energy better spent
on other things, but asserting that everything is under a unified licensing
regime when that's just not true makes things *more* complicated, not less.

It is not in the interest of the project to create a situation where the
licensing of patches is contentious because a contributor was told something
that conflicted with the reality of how the files are licensed in the
repository.

 This causes less confusion than claiming things about a whole when people 
 don't know what the whole is supposed to mean.

Indeed.  It was a similarly expansive passage[1] earlier in this thread that
prompted me to request clarification regarding the status of contributions to
individual parts of Pd-extended (which was quickly forthcoming[2], thank you).

Had language such as All licenses of all parts of Pd-extended are
GPLv3-compatible been used instead, this thread might have been shorter. :P

Marvin Humphrey

[1] http://lists.puredata.info/pipermail/pd-list/2011-09/091410.html
My personal thoughts on the license of what is in pd-extended.git are  
more vague.  Yes, the intention is for much/most of that code to  
contributed back to Pd, but my only distribution of the whole thing is  
part of the Pd-extended package, which is GPLv3.  So if you want to be  
sure, consider it GPLv3.

[2] http://lists.puredata.info/pipermail/pd-list/2011-09/091422.html
As the maintainer and main author of the pd-extended.git, I will you  
give you my assurance that the code under pd-extended.git is under a  
BSD license.


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-29 Thread Marvin Humphrey
On Wed, Sep 28, 2011 at 06:17:08PM +0800, Simon Wise wrote:
 typing into a spreadsheet cell is somewhat analogous, and probably a 
 fairly common activity ...

Nice connection!

 generally enter saves and exits the cell, while to put a newline into a
 cell without leaving it is ctrlenter ... not sure what the OSX
 equivalent is, maybe cmdenter.

I just checked out the Google Docs spreadsheet behavior.  I assume that it
mimics the interfaces of other popular spreadsheet programs, though I don't
know that for sure.

  * enter and shiftenter both save and exit the cell.
  * controlenter and cmdenter both insert a newline.
  * esc cancels the change and exists the cell.

I haven't seen anyone object to Matthieu's suggested behaviors for enter and
esc, which are consistent with both behavior and general OS gui conventions,
so I think we may have achieved consensus there.

What's left is the basically irrelevant issue of how to insert a newline
that's going to be turned into a space later anyway.  My inclination is to
supply a patch which simply does not support the insertion of newlines.  If
that results in user confusion and support inquiries, a binding for
modifierreturn can be added later.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-29 Thread Marvin Humphrey
On Thu, Sep 29, 2011 at 10:37:45AM -0700, Jonathan Wilkes wrote:
 Something I was thinking about for the future is a way to model keyboard
 input after the efficiency of 'vi' input.  When in Edit mode without yet
 editing the text of an object, one could use h, j, k, and l to move
 the bounding box selection around in the patch.  Then bind / to duplicate
 ctrl-f, and you have a quick way to get around the entire patch without
 leaving home position.  (Maybe also bind i to enter text-editing mode, and
 a to enter text editing mode at the end of the object's text.) Then when
 in text editing mode or Run mode, turn off these bindings.
 
 The tricky part is figuring out the most efficient way to make/edit
 connections.  There is already auto-connect behavior for leftmost xlets--
 there needs to be a way to make a new connection, remove a connection, move
 a connection, and possibly make many-to-many connections like [select 0 1 2
 3 4] with each outlet going to a new message box.
 
 DesireData has a way to edit connections with the keyboard but I found it
 takes too many keystrokes.

Perhaps some of those features could be accommodated by having configurable
key bindings for the actions in question.  You don't have to provide default
bindings for all options, either -- just provide hooks, and let the user
create key bindings for the actions they care about.

Ever used Logic Audio?  I was quite fond of its key binding preferences
system when I used it a decade ago.

  What's left is the basically irrelevant issue of how to insert a newline
  that's going to be turned into a space later anyway.  My inclination is to
  supply a patch which simply does not support the insertion of newlines.  If
  that results in user confusion and support inquiries, a binding for
  modifierreturn can be added later.
 
 That will result in user confusion, because when a message box with 
 semicolons gets instantiated it doesn't automatically get newlines added 
 until you save the patch and reopen it, while object boxes add the newlines 
 after instantiation.  Currently the discrepancy can be hidden by always 
 adding the newlines yourself with enter.

Ah, I see.

Source text:

'eep; op; ork; ah-ah;'

Object after instantiation:

eep;
op;
ork;
ah-ah;

Message after instantiation:

eep; op; ork; ah-ah;

Message after close and reopen:

eep;
op;
ork;
ah-ah;

So people who know this and don't want to close-and-reopen require some way to
enter newlines while editing text.

That seems like a bug worth fixing, but I don't feel strongly about
shiftenter one way or another, and if it solves a problem people care
about, fine by me.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-28 Thread Marvin Humphrey
On Tue, Sep 27, 2011 at 12:14:00PM -0400, Hans-Christoph Steiner wrote:
 Pd-extended as a whole is under the GPLv3, that's the easiest way to  
 think about it.  Some sections of it are under the BSD License, some  
 under the Tcl License (which Pd was originally), some under GPLv2, etc.

 My personal thoughts on the license of what is in pd-extended.git are  
 more vague.  Yes, the intention is for much/most of that code to  
 contributed back to Pd, but my only distribution of the whole thing is  
 part of the Pd-extended package, which is GPLv3.  So if you want to be  
 sure, consider it GPLv3.

OK, then:

Since Pd-extended as a whole is under the GPLv3, if I ever supply a patch
against Pd-extended.git, I must assume that the GPLv3 applies to it if I want
to be sure.

It sounds as though if I want to avoid producing GPLv3 code, I need to steer a
wide berth around Pd-extended.

Also, it sounds as though if you want to be sure, no code which was ever
derived from Pd-extended can ever be merged upstream into Vanilla without
violating the GPL.

If I can't be sure that other Pd contributors won't claim that the GPL
applies to contributions I'm making that are intended for the Vanilla's BSD
core, that makes it a lot less attractive to contribute to this project.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-28 Thread Marvin Humphrey
On Wed, Sep 28, 2011 at 11:00:21AM -0400, Hans-Christoph Steiner wrote:
 As the maintainer and main author of the pd-extended.git, I will you  
 give you my assurance that the code under pd-extended.git is under a BSD 
 license.  That repo is a fork of the pure-data.git repo of Miller, it is 
 largely intended as way to develop and feed patches to the upstream 
 pure-data.git, and as Matju pointed out, the only license statement in 
 pd-extended.git is Miller's BSD one from pure-data git.

Thanks, Hans.  Given your constraints, I can't think of a way to improve upon
this setup.

It seems wise that you keep the satellite libraries in a seperate repository
from the core -- that makes it more difficult for code to wander where it
shouldn't or for tight bonds to form.

Of course it would be ideal if there was only one core repository, not the
least because it seems like a lot of work for you to maintain the fork in the
manner that you do -- but it is apparent why that is not feasible.

License proliferation is a costly problem, both in the open source world at
large and within the microcosm of this one project.

Cheers,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-28 Thread Marvin Humphrey
On Thu, Sep 29, 2011 at 12:44:39AM -0400, Hans-Christoph Steiner wrote:
 In my opinion, using GPLv3 has been the easiest of the options.  It  
 means that we can use code that is licensed with a BSD, MIT, Tcl,  
 Apache, GPLv2, LGPL, GPLv3, etc..  So its the most compatible to the  
 code that's out there, meaning thinking about licenses less writing more 
 code that everyone is free to use :)

All I'm gonna say is that I see things from a different angle. :)

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-27 Thread Marvin Humphrey
On Tue, Sep 27, 2011 at 11:50:07AM -0400, Mathieu Bouchard wrote:
 Le 2011-09-25 à 09:29:00, Marvin Humphrey a écrit :

 The patch below fixes the problem.  I don't know if it's the right solution,
 though.

 Pd doesn't _have_ to pass keynums around like that. If the Tk code were  
 sending Up/Down/Left/Right names as given by Tk's bind's %K (uppercase),  
 then you wouldn't have to replicate in g_editor.c things that Tk already  
 does as part of its portability layer.

Ha, interesting.

The patch below, which also achieves correct behavior of cursor keys under Snow
Leopard, is an alternative to the patch supplied earlier.  This one has the
advantage of removing the #ifdef __APPLE__ code from src/g_editor.c, as the
normalization is now achieved via Tk.  However, I don't yet understand all the
ramifications, just as I did not with the last patch.

Marvin Humphrey


From 08d585e6f4d9158f94edc8896de80a3635bb717f Mon Sep 17 00:00:00 2001
From: Marvin Humphrey mar...@rectangular.com
Date: Tue, 27 Sep 2011 19:57:13 -0700
Subject: [PATCH] Normalize cursor key behavior at the Tcl level.

Take advantage of Tk's portability layer for normalizing cursor key values
instead of reproducing it ourselves at the C level.
---
 src/g_editor.c  |   10 --
 tcl/pd_bindings.tcl |4 
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/g_editor.c b/src/g_editor.c
index f494732..983f463 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -1699,16 +1699,6 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, t_atom 
*av)
 keyupsym = gensym(#keyup);
 keynamesym = gensym(#keyname);
 }
-#ifdef __APPLE__
-if (keynum == 30)
-keynum = 0, gotkeysym = gensym(Up);
-else if (keynum == 31)
-keynum = 0, gotkeysym = gensym(Down);
-else if (keynum == 28)
-keynum = 0, gotkeysym = gensym(Left);
-else if (keynum == 29)
-keynum = 0, gotkeysym = gensym(Right);
-#endif
 if (keynumsym-s_thing  down)
 pd_float(keynumsym-s_thing, (t_float)keynum);
 if (keyupsym-s_thing  !down)
diff --git a/tcl/pd_bindings.tcl b/tcl/pd_bindings.tcl
index 82ac350..cff0bbc 100644
--- a/tcl/pd_bindings.tcl
+++ b/tcl/pd_bindings.tcl
@@ -249,6 +249,10 @@ proc ::pd_bindings::sendkey {window state key iso shift} {
 Tab   { set iso ; set key 9 }
 Return{ set iso ; set key 10 }
 Escape{ set iso ; set key 27 }
+Left  { set iso ; set key 28 }
+Right { set iso ; set key 29 }
+Up{ set iso ; set key 30 }
+Down  { set iso ; set key 31 }
 Space { set iso ; set key 32 }
 Delete{ set iso ; set key 127 }
 KP_Delete { set iso ; set key 127 }
-- 
1.7.3.2




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-27 Thread Marvin Humphrey
On Tue, Sep 27, 2011 at 01:59:20PM -0400, Mathieu Bouchard wrote:
 None of these combinations provide that behavior on Pd Vanilla built from
 latest git on OS X 10.6:

    control-Enter
    command-Enter
    option-Enter
    shift-Enter

 I could live with control-Enter instead of ESC (especially since I've
 rewired my caps lock key to control at the OS level using the Keyboard system
 prefs) -- though ESC works so well for switching modes in Vim. :)

 The only thing that has made sense to me is :

   Enter for accepting changes made in a box's text and exit that mode ;

Well, that's the simplest and possibly the best design.   It mates up the
most easy and obvious keypress with the most common case.

However, it's also the most invasive modification.  If anyone is accustomed to
being able to produce a newline with Enter while editing text into Message or
Comment boxes, they will have to change their habits.  Are there people who
would object to such an change?

   Escape for cancelling those changes and exit that mode too ;

Good idea -- that's consistent with Mac GUI design for closing dialog boxes
without making changes.  I like it!

Is that also consistent with the traditional behavior of Escape under Windows
and X?

   Shift-Enter to insert a literal newline in a box's text (currently
   meaningless because they get replaced by Space by the loader/saver) ;

Newlines seem to be normalized to Spaces for Pd Objects, but that doesn't seem
to be the case for either Messages or Comments.

Using Shift-Enter for newlines doesn't seem like a very intuitive design to
me.  I suspect that a significant fraction of the people who want newlines
will never discover the magic key combo.  However, that may be a price worth
paying to optimize the common case.

   Those shortcuts don't necessarily apply to the main Edit Mode... I don't
   recall whether we bound Enter to « switch to text edition ». 

Your English is 100x better than my French, but I assume that when you wrote
edition, you meant editing?  

   Escape has no effect in that context, because there's no modal
   dialogue-like thing to get out of.

So, if I understand correctly, you are suggesting that these key bindings
would only take effect while actively editing the text of an Object, Message,
or Comment.  If that's the case, +1 -- I agree.

Cheers,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-27 Thread Marvin Humphrey
On Tue, Sep 27, 2011 at 11:34:43AM -0400, Mathieu Bouchard wrote:
 The three clauses of the BSD license used by Pd Vanilla are compatible with 
 both
 the GPL v2  v3

 Integrating GPL code with BSD code makes GPL the overall dominant 
 license, as in it has all the clauses of BSD and makes the most 
 restrictions. The BSD license still applies to any portions still under 
 BSD license.

 The pdextended license (GPL) doesn't say to which parts of the programme  
 it applies, and all the copyright/license notices I can find (in a bêta 
 of 42) are all BSD. Changes  additions to BSD code don't have to be 
 under the BSD license, thus if it's not stated, it's somewhat harder to 
 make any assumptions...

According to Intellectual Property and Open Source by Van Lindberg[1] (which
I highly recommend), a patch which is offered up on a mailing list or through
a patch tracker comes with an implicit grant of license to use it in the
project, which means that it must be licensed under the same terms as the
project itself.  I can't imagine that some sort of submarine licensing attempt
would hold up in court: Yes, I acknowledge that my patch was against a file
with a BSD license header, but even though I didn't say so, I contributed it
under the terms of the GPL and I refuse to grant a BSD license.  Gimme a
break!

I think it's rational to assume that mistakes notwithstanding[2], all content
of any BSD-licensed file in the Pd source is under the BSD license, and all
content of any file with a GPL notice is under the GPL.

If any contributor ever intended some other outcome but did not communicate
their desires explicitly, that cannot possibly be worth worrying about.  To
make trouble, the disgruntled contributor would have to be A) prepared to sue
over the distinction between two free software licenses and B) prepared to
lose.

 That kind of license fuzz is tolerated because pd developers have no  
 expectation that lawyers ever have to put their nose in the project... 
 and even if they did, they would not have the background to know how to 
 fix it, or know which advice they can trust.

While copyright violations do not result in injunctions unless a litigant
appears, I do not believe it is in the interest of any project to neglect the
law.

 I think that this is true of many (if not most) open/free projects.

I'm not comfortable with that generalization.

Open source projects with commercial involvement tend to be fastidious about
intellectual property, and there is a lot of activity in that area these days.
Indeed, part of the appeal of Apache projects is that the ASF is known to
emphasize IP cleanliness, and companies feel more comfortable sponsoring
development on projects that aren't likely to be sunk by completely avoidable
legal problems.

Ever increasing numbers of developers are paid to work on open source, which
is a glorious and beautiful thing.  But personally, even before most of my
open source dev work was sponsored, I was careful about IP, partly because
it's the right thing to do and partly because I was determined not to squander
untold hours of labor and creativity.  I don't think that outlook is uncommon. 

It makes sense for us as developers to protect our investments by doing our
best to understand and adhere to relevant laws -- whether our livelihoods
depend on it, or whether we work on a project for fun or other personal
reasons.

Marvin Humphrey

[1] 
http://www.amazon.com/Intellectual-Property-Open-Source-Protecting/dp/0596517963

[2] Mistakes do happen.  Sometimes they are fixable:

https://issues.apache.org/jira/browse/LUCENE-675?focusedCommentId=12901057page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12901057


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-27 Thread Marvin Humphrey
On Wed, Sep 28, 2011 at 12:43:06AM -0400, Hans-Christoph Steiner wrote:
 The question with this patch then, is does it work fine on GNU/Linux and 
 Windows?

I don't know.  I'm experienced with cross-platform development and I have a
Windows 7 dev environment available via a Bootcamp partition, so in theory I
could check.  It seems likely to work, but it has not been verified.  It's a
PITA to power down OS X and fire up Windows, so I don't do it very often.  No
X Windows box immediately available, either.

I don't see any unit tests.   Are there any?

 I really think the whole key handling code in both Tcl and C 
 needs rewriting rather than patching.

I'm not prepared to offer an opinion on that, as I'm not yet sufficiently
familiar with the code base.

If we were to make such an attempt, I'd suggest preserving the existing
interface while changing the implementation.  And of course it would seem wise
to secure the blessing of Mr. Puckette in advance as to the general approach.

 Perhaps matju's answer is the way forward, making it based on the %K bind
 var rather the %k.

That seemed logical to me and I attempted to figure it out, but came up short.
Grepping the source for %k didn't turn up anything.  Grepping for %K
turned up the pd_bindings.tcl file, and I hacked from there.

 I added a couple more keys to your origin one:

Nice!

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-26 Thread Marvin Humphrey
On Mon, Sep 26, 2011 at 11:20:13AM -0400, Hans-Christoph Steiner wrote:
 Welcome to Pd!  This is a nice entry, showing up with a patch to fix a  
 bug :-D.  

Thanks, nice to meet you.  I may as well put these C skills to use, eh?

 The whole canvas_key thing is pretty messy, so I think your  
 patch is probably as good as its going to get.  I'll apply it.  Patches 
 are definitely very welcome :-D.

Thanks for being so responsive.

 In the future, please submit them to the patch tracker, the 'git
 format-patch' format is preferred:

 http://puredata.info/dev/patchtracker

Well, I wasn't yet convinced that the patch was in its final form -- the
inlined diff was intended for discussion. :)

FWIW, I'd seen reference to the patch tracker while browsing through
http://puredata.info/dev.  There's a decent amount of documentation there
for potential contributors to orient themselves, though like most wikis the
world over, some of the material is out of date.

If I figure out further improvements, I will submit final patches to the patch
tracker according to the project's preferred procedures.

Ideally, I would like to eliminate the #ifdef __APPLE__ altogether.  That's
probably not possible.  My second choice would be to keep only the higher
keyval numbers, since that's what my current system needs.  But maybe I've
been going down the wrong path this whole time...

Curiously, the official Pd 0.43 OS X binary does not have any problems on Snow
Leopard with regards to cursor keys.  I only get these problems when building
from source. 

I tried compiling from the 0.43 source tarball.  (I tried first to find a git
tag corresponding to 0.43; git tag -l didn't find anything, but I'm not a
git power user and maybe I'm missing something.)  Building with the new
build system required the fix launching on Mac OS X patch (3360aba7).
(Building with the old build system failed spectacularly and I wasn't sure
how to proceed.)

Compiling the 0.43 sources produced a binary that doesn't handle cursor keys
correctly.  So, something about my Snow Leopard build environment is causing
the problem... 

Hmm, I had ActiveTCL 8.6 installed... but disabling that didn't help.  (Aside:
It's a pain to hide everything that Tcl installs.)

Any ideas?  How does my system differ from the system which was used to build
the official 0.43 OS X binary?

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-26 Thread Marvin Humphrey
On Mon, Sep 26, 2011 at 11:26:27AM -0400, Hans-Christoph Steiner wrote:
 Check out the GUI plugins, they could be a fun way for you to learn Tcl. 

Yes, this is actually one of my motivations. :)  I went through some of the
Pd tutorials a couple years ago, and have meant to get back into it for a
while.  Then recently, I gained a professional reason to learn Tcl, and it's
provided me with an excuse to dive into the Pd source code.  :)

 You can customize a lot of the way the GUI works using them.  Key  
 bindings are easy.  You could check out the completion-plugin to see how 
 it does the Enter key binding, and then just use that to bind to Esc.

 http://puredata.info/docs/guiplugins/

 http://download.puredata.info/completion-plugin

Unfortunately, this plugin is GPL'd.  I cannot create a derivative work from
it to supply to Vanilla.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-26 Thread Marvin Humphrey
On Mon, Sep 26, 2011 at 08:40:22AM -0700, Jonathan Wilkes wrote:
  so if you want your patches to be included into Pd proper, then they
  must (legally) be BSD3.
 
 The main restriction here is that you cannot take or revise someone else's 
 code that 
 is licensed under the GPL and decide to _change_ the license to something 
 else.  
 The GPL does not allow that.
 
Unless you are the copyright holder, you can't *change* the license of BSD3
code, either.

You can bundle BSD licensed code in a collective work which is released under
the GPL.  However, you cannot remove the license nor the copyright notice from
a BSD-licensed file.  You don't own the IP, you just have permission to use it
under the terms of the BSD license, which includes this provision:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

This makes life challenging in a multi-licensing environment, since code
cannot move easily between files under different licenses.  Here is how the
Apache Software Foundation recommends that its projects handle differently
licensed code:

http://www.apache.org/legal/src-headers.html#3party

4. Minor modifications/additions to third-party source files should
   typically be licensed under the same terms as the rest of the rest of the
   third-party source for convenience.

5. Major modifications/additions to third-party should be dealt with on a
   case-by-case basis by the PMC.

At the ASF, though, we only deal with modifications to third-party files with
permissive licenses (MIT, BSD, Apache, etc).  Things get trickier when one of
the licenses is the GPL, because the GPL stakes its claim at the boundary of
derivative work, and it takes effort to ensure that BSD code within a
project is in no way derived from any of the GPL code in the next directory
over.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-26 Thread Marvin Humphrey
On Mon, Sep 26, 2011 at 08:29:45PM -0400, Hans-Christoph Steiner wrote:
 Wow, that's interesting.  I don't often hear that, people using Tcl in  
 their work.

I write open source code for a living -- Eventful sponsors my work on the
Apache Lucy search engine library, and that's where about 75% of my hours go.
A volunteer showed up a little while ago who wants to add Tcl bindings for
Lucy.  I'm teaching myself Tcl so that I can work with this volunteer more
effectively.

 Sure you can, its a .tcl script, meaning you are giving the user the  
 source whenever you are giving the user the program.  So its even kind  
 of BSD-ish because you can't give the user a GUI plugin without giving  
 them the source, so you don't need to do anything else to distribute the 
 source. Pd patches are the same idea.

I am sincerely grateful for the pointer to this plugin and for your generosity
with your time and support, but I assume that a miscommunication has occurred
and I am not understanding your suggestion properly.  I cannot take code from
this plugin, make changes to adapt it for Vanilla, remove the GPL tag and
replace it with an implicit BSD license by submitting it to the patch tracker.
That would not adhere to the original author's license, and it would be a
violation of copyright.

If I wish to supply the proposed functionality for Vanilla my options are
either to create a new patch from scratch which cannot be considered a
derivative work of that plugin, or to track down all the original authors of
that plugin, persuade them to issue their code under an additional BSD3
license, and then once that process is complete, create a derivative work and
submit it.

Best,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-25 Thread Marvin Humphrey
On Sun, Sep 25, 2011 at 05:16:23PM +1000, Richie Cyngler wrote:
 If you drag select an object or group of objects you can use the nudge
 functionality with cursor keys, you can also hold shift for block moves. So
 that functionality is already there.

Thanks, Richie.  It seems that there is a bug affecting Pd on Mac OS X (at
least 10.6), and the cursor keys do not function properly.


http://sourceforge.net/tracker/index.php?func=detailaid=3187517group_id=55736atid=478070

The bug was reported for 0.43.0-extended-20110119, but is affecting my
up-to-date clone of
git://pure-data.git.sourceforge.net/gitroot/pure-data/pure-data.

When I drag-select an object and then press any of the cursor keys, nothing
happens, regardless of whether shift is depressed.

Furthermore, when editing text inside either an object or a message, pressing
any of the cursor keys produces strange effects: 

  * When appending to existing text, the cursor position does not
move, but an invisible character is inserted to the right of the cursor.
  * When either the box is empty, or all existing text is selected (so the
next character will replace it) pressing any cursor key inserts a box
character.

According to the bug report linked above, it seems that the arrow keys work
fine on the other platforms.

Perhaps it's time to take this to the dev list, as I'm now digging in the
source code and it looks like src/g_editor.c and the canvas_key function are
the place to start.

 In regards to a key, like enter, to complete an object I think that's a
 great idea. I was just thinking the same thing actually.

OK, if this is new functionality, I think it should be something other than
ENTER.  The problem with ENTER is that it is sometimes necessary to insert
a newline when editing, especially with comments, and the same key should be
used to release focus from any text entry situation.  My preference would be
for ESC.

Cheers,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-25 Thread Marvin Humphrey
On Sun, Sep 25, 2011 at 07:11:32AM -0700, Marvin Humphrey wrote:
 On Sun, Sep 25, 2011 at 05:16:23PM +1000, Richie Cyngler wrote:
  If you drag select an object or group of objects you can use the nudge
  functionality with cursor keys, you can also hold shift for block moves. So
  that functionality is already there.
 
 Thanks, Richie.  It seems that there is a bug affecting Pd on Mac OS X (at
 least 10.6), and the cursor keys do not function properly.
 
 
 http://sourceforge.net/tracker/index.php?func=detailaid=3187517group_id=55736atid=478070

The patch below fixes the problem.  I don't know if it's the right solution,
though.

Assuming that cursor keys worked at one time on OS X in Pd... it seems that the
keycode sent when a cursor key is pressed may have changed in Snow Leopard.  I
haven't been able to track down any official documentation, though, nor any
other bug reports that describe the root of the problem.

Marvin Humphrey

diff --git a/src/g_editor.c b/src/g_editor.c
index f494732..76586fa 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -1700,13 +1700,13 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, 
t_atom *av)
 keynamesym = gensym(#keyname);
 }
 #ifdef __APPLE__
-if (keynum == 30)
+if (keynum == 30 || keynum == 63232)
 keynum = 0, gotkeysym = gensym(Up);
-else if (keynum == 31)
+else if (keynum == 31 || keynum == 63233)
 keynum = 0, gotkeysym = gensym(Down);
-else if (keynum == 28)
+else if (keynum == 28 || keynum == 63234)
 keynum = 0, gotkeysym = gensym(Left);
-else if (keynum == 29)
+else if (keynum == 29 || keynum == 63235)
 keynum = 0, gotkeysym = gensym(Right);
 #endif
 if (keynumsym-s_thing  down)




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-25 Thread Marvin Humphrey
On Sun, Sep 25, 2011 at 10:51:56AM -0700, Jonathan Wilkes wrote:
 I'm using Pd-l2ork, and control-Enter toggles between creating the object
 and editing the text in the box.
 
 I thought Pd-extended had this same key binding, but Pd as installed from
 the debian package in Wheezy does not.

None of these combinations provide that behavior on Pd Vanilla built from
latest git on OS X 10.6:

control-Enter
command-Enter
option-Enter
shift-Enter

I could live with control-Enter instead of ESC (especially since I've
rewired my caps lock key to control at the OS level using the Keyboard system
prefs) -- though ESC works so well for switching modes in Vim. :)

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-25 Thread Marvin Humphrey
On Mon, Sep 26, 2011 at 08:34:26AM +1000, Richie Cyngler wrote:
 Oh wow, command+enter works for me! Thanks Jonathan my workflow just got a
 whole lot smoother! Marvin I'm on OSX 10.6.8 running Pd-extended. Drag
 select and cursors keys are also working for me. Maybe give Pd-extended a
 try?

Thanks, but if I become a serious user, I hope to make substantial
contributions to Pd at some point, and for various reasons my preference is to
contribute to a BSD-licensed project over one that is licensed under the GPL.
(Not trying to start a discussion, just explaining why I will continue to use
Vanilla for now.  If someone absolutely must ask why, I expect to reply
offlist in the interests of being a good guest.) :)

I was under the impression that Pd-extended consisted of augmentations to
Vanilla.  Is it actually a fork?

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Keyboard shortcuts for nudge, done editing

2011-09-25 Thread Marvin Humphrey
On Sun, Sep 25, 2011 at 05:33:22PM -0700, Jonathan Wilkes wrote:
 If you are planning on making substantial contributions to Pd Vanilla,

I wouldn't say I'm planning on it -- more that I'd like to keep that option
open.

 you should consider making a few test contributions to gauge the amount of
 time and energy it will take you to get patches accepted; something like a
 patch for getting this control-enter key binding would be a good start.

Indeed, I've already started that process, by negotiating the shape of the
patch to come and building consensus.  :) There's been some question as to
what key combo should be used.  It seems that [modifier]-Enter is already in
use and people are happy with it, so I'll go that direction despite my mild
personal preference for ESC. 

A patch which has consensus support from the community probably has a better
chance at being applied, even under BDFL governance.  :)   But consensus can
be costly to achieve depending on the project's culture...

 Also, realize that any substantial changes you make may sit in the patch
 tracker for some time -- it's not easy getting them accepted, nor
 communicating with Miller if they don't.

Well, controlling entities for open source projects have to be responsive to
their communities.  If they are not, they get forked, or people move on to
other things.

But it's also generally true that large, boil-the-ocean patches are costly to
review, especially for stable projects with large user bases, and so
contributors are well-advised to bear that in mind and prepare small,
easily-digested morsels when possible.

 Additionally, if they are big, desirable improvements to the Pd community 
 they may find their way into Pd-extended anyway.

So long as contributions to Vanilla are integrated into Pd-extended in a way
that adheres to the provisions of Vanilla's BSD license, then there's no
problem. :)

Cheers,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Keyboard shortcuts for nudge, done editing

2011-09-24 Thread Marvin Humphrey
Greetings,

A couple questions from a PD noob:

First, is there any keyboard shortcut to signal I'm done editing text?  When
entering text into an object, a message, etc, it seems that the only way to
signal that you are finished is a mouse click outside of the item being
edited.  I'd like to press a key -- ESC, TAB, ENTER, whatever -- and
have the focus leave the text box.

Second, is there any keyboard shortcut to nudge an element?  It would be
great to select an object (or a group of objects), then press LEFT_ARROW to
move it one pixel, or CONTROL/COMMANDLEFT_ARROW to move it 10 pixels (or N
pixels).

If such things are not possible, I'm curious what other mechanisms people have
come up with to streamline the editing process, because it feels like I'm
having to touch the mouse waaay too often and it's slowing me down.  It
seems I'm not the only person to have made such observations:

http://artengine.ca/~catalogue-pd/18-Lee-Bouchard.pdf

One obvious shortcoming is that users are required to constantly switch
between keyboard and mouse to operate the program. This becomes especially
problematic in the context where patches are developed rapidly. 

I'm using PD Vanilla, built from the latest sources.  I'm an experienced open
source developer, fluent in C and learning Tcl, so suggestings that involve
hacking the source are welcome.  

Cheers,

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd~ object under windows - 'can't create'

2010-06-07 Thread Marvin Humphrey
On Mon, Jun 07, 2010 at 08:46:37AM -0700, Miller Puckette wrote:
 I'm open to suggestions as to how to et it to work on windows though!
 (maybe there's an open source pipe implementation somewhere, or maybe I
 should hack up a shared memory version?)

It might be posible to share information using memory mapped files, via
mmap() on Unixen and MapViewOfFile() on Windows.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdpedia and spam

2009-10-17 Thread Marvin Humphrey
On Sat, Oct 17, 2009 at 12:54:16PM +0100, Philip Potter wrote:

 Given that it doesn't seem to be used much, I am considering stepping
 down and leaving it to the spam fiends. 

I had a choice once for a wiki I ran.

  A) Leave it to the spam fiends.
  B) Install captchas.

I chose B.  The rationale: a wiki with no captchas is better than a wiki with
captchas, but a wiki with captchas is better than no wiki at all.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdpedia and spam

2009-10-17 Thread Marvin Humphrey
On Sat, Oct 17, 2009 at 03:59:03PM -0400, Mathieu Bouchard wrote:

 why wouldn't it be better to just have no wiki at all, 

Maybe it would be better to kill it off, I dunno. 

If you're gonna do that, though, either remove it completely or preserve it as
a read-only resource.  Don't leave the rotting carcass lying around for
spammer maggots to feast on.

 even in a situation where there wouldn't be any spam and the captcha
 wouldn't be annoying?

I don't think spammers ought to be driving the decision when there are
countermeasures available.  If the wiki is underused or outdated or whatever,
do something to address that, such as retiring it.  But if it's being used and
the problem is the spam-to-edit ratio, captchas, whatever their drawbacks, can
treat the spammer pestilence and let the wiki live on to die a natural death
at the end of its natural lifespan.

Marvin Humphrey


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list