www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - std.string and ranges

reply dsimcha <dsimcha yahoo.com> writes:
Is std.string by any chance going to see any ripple effects from ranges?  I
want to write some patches to make it work with CTFE, which would be useful
for some compile time mixin generation, but I don't want to waste time working
on a module that Andrei is going to completely revamp anyway.
Feb 07 2009
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
dsimcha wrote:
 Is std.string by any chance going to see any ripple effects from ranges?  I
 want to write some patches to make it work with CTFE, which would be useful
 for some compile time mixin generation, but I don't want to waste time working
 on a module that Andrei is going to completely revamp anyway.
Yes, std.string must be revamped too. You may want to hold onto your work for a little while more. Andrei
Feb 07 2009
parent reply Frits van Bommel <fvbommel REMwOVExCAPSs.nl> writes:
Andrei Alexandrescu wrote:
 dsimcha wrote:
 Is std.string by any chance going to see any ripple effects from 
 ranges?  I
 want to write some patches to make it work with CTFE, which would be 
 useful
 for some compile time mixin generation, but I don't want to waste time 
 working
 on a module that Andrei is going to completely revamp anyway.
Yes, std.string must be revamped too. You may want to hold onto your work for a little while more.
Then I suppose the next question should be: will a char[] be a range of char, or a range of dchar? (Let's keep wchar out of it) On the one hand, char is the logical option since that's what the array actually contains. Also, this better allows for mutability (since encoding dchars can lead to not having enough space to store replacements in the current position). On the other hand, dchars would probably be more useful in many situations. Maybe an adapter could be written, taking a char[] (or any range of chars/wchars) and acting as a range of dchars? Perhaps also similar adapters to convert to chars and wchars?
Feb 08 2009
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Frits van Bommel wrote:
 Andrei Alexandrescu wrote:
 dsimcha wrote:
 Is std.string by any chance going to see any ripple effects from 
 ranges?  I
 want to write some patches to make it work with CTFE, which would be 
 useful
 for some compile time mixin generation, but I don't want to waste 
 time working
 on a module that Andrei is going to completely revamp anyway.
Yes, std.string must be revamped too. You may want to hold onto your work for a little while more.
Then I suppose the next question should be: will a char[] be a range of char, or a range of dchar? (Let's keep wchar out of it)
Glad you asked. Given type C[] in { char[], wchar[], dchar[] }, here are the ranges that can be used to iterate them: a) byCharacter: a bidirectional range with immutable elements. The element type is always dchar, and the range goes over the full characters in the string. If C == dchar, the range has random access. b) byCharacterWritable: a more expensive bidirectional range that still has element type dchar but holds a reference to the original string such that it can go back and change it. (This is tricky because writing back a dchar into the string may change its length.) The language needs the alias this feature and solid proxy objects to be able to implement this. If C == dchar, the range has random access and fast writes. c) byNaturalWidth: a random-access range that iterates the raw elements.
 On the one hand, char is the logical option since that's what the array 
 actually contains. Also, this better allows for mutability (since 
 encoding dchars can lead to not having enough space to store 
 replacements in the current position).
 
 On the other hand, dchars would probably be more useful in many situations.
 
 Maybe an adapter could be written, taking a char[] (or any range of 
 chars/wchars) and acting as a range of dchars?
 Perhaps also similar adapters to convert to chars and wchars?
Quite so. The important things are (1) only bidirectional, not random, access is affordable when reading one dchar at a time from char[] or wchar[]; (b) proxy objects are important in assuring proper mutability. Andrei
Feb 08 2009
prev sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 Yes, std.string must be revamped too.
From what you say in several of your last posts it seems std will be almost fully rewritten. I think this is positive, and while sometimes I think D2 language (and its std lib) is becoming too much complex for my tastes (I have appreciated D1 a lot because it's simple enough and it gives me quite more than what I give to it. D2 asks me quite more, but gives me a bit more), I like and silently agree with most of the things you want to do to improve the std lib. It seems D2 is becoming a language really different from D1, so I think Tango for D2 will need very large changes. It may be positive to copy few things from Tango, like BigInt, etc to the future std of D2. I think the current std.random needs many changes (I have expressed my ideas on this in a past email but if you want I can say them again). I may want to work a little to help you develop such std lib of D2, for example the std.random, but sometimes the things you say seem a bit too much sophisticated for me, so I may not be able to help much in practice... What I have recently said regarding the lazy generators can be applied to other things: having two ways to do things is generally bad, but if one of those ways is really easy and short to write and the other is very flexible and fast, then two ways to do something may coexist. For example this idea can applied to the foreach, the std.random, etc. I also hope to see the printing function(s) of D2 improved in the ways I have explained you recently. The bad thing is that beside you I think no one else has expressed a comment regarding those functions. So I don't know if others like those ideas. Bye, bearophile
Feb 08 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 Yes, std.string must be revamped too.
From what you say in several of your last posts it seems std will be almost fully rewritten.
Well at some point I hope to be able to rally a few volunteers to help.
 I think this is positive, and while sometimes I think D2 language
 (and its std lib) is becoming too much complex for my tastes (I have
 appreciated D1 a lot because it's simple enough and it gives me quite
 more than what I give to it. D2 asks me quite more, but gives me a
 bit more), I like and silently agree with most of the things you want
 to do to improve the std lib. It seems D2 is becoming a language
 really different from D1, so I think Tango for D2 will need very
 large changes.
 
 It may be positive to copy few things from Tango, like BigInt, etc to
 the future std of D2.
Yah, if only the political barriers would fall. (BigInt in particular is written by Don and will be in Phobos2 as well.)
 I think the current std.random needs many changes (I have expressed
 my ideas on this in a past email but if you want I can say them
 again). I may want to work a little to help you develop such std lib
 of D2, for example the std.random, but sometimes the things you say
 seem a bit too much sophisticated for me, so I may not be able to
 help much in practice...
I searched google for bearophile std.random site:digitalmars.com and couldn't find the message, so I'd appreciate a link. In my view std.random needs some obvious changes such as obeying the range interface (i.e., any random generator is an infinite range). I effected that, and also simplified uniform a bit such that you don't ever need to pass explicit template parameters into it. There's plenty of more work to do on random, particularly on generating non-uniform distributions, and probably others so I'd appreciate your input.
 What I have recently said regarding the lazy generators can be
 applied to other things: having two ways to do things is generally
 bad, but if one of those ways is really easy and short to write and
 the other is very flexible and fast, then two ways to do something
 may coexist. For example this idea can applied to the foreach, the
 std.random, etc.
I'm not sure I understand this.
 I also hope to see the printing function(s) of D2 improved in the
 ways I have explained you recently. The bad thing is that beside you
 I think no one else has expressed a comment regarding those
 functions. So I don't know if others like those ideas.
I think your ideas on improving I/O are very sensible. (I wouldn't want to format tuples the same way though.) Andrei
Feb 10 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:

Well at some point I hope to be able to rally a few volunteers to help.<
I hope to be able to understand how to do the things :-)
I searched google for bearophile std.random site:digitalmars.com and couldn't
find the message, so I'd appreciate a link<
I can just repeat the things I have said, improving them.
There's plenty of more work to do on random, particularly on generating
non-uniform distributions, and probably others so I'd appreciate your input.<
In my dlibs there's a random module too, I have not finished it, but it already contains some useful stuff. http://www.fantascienza.net/leonardo/so/dlibs/random.html A module like that in a standard lib needs functions like: - choice: given an iterable of items, picks one at random - randInt: gives a random integer in an interval, the lower bound is zero by default. - shuffle: to shuffle randomly a given array (or range with random access, I'd say) in place. - shuffled: like shuffle, but creates a copy of the items. Return an array. - uniform: gives a random real/float/double in a given interval - sample: extracts n items from an iterable with uniform distribution, without replacement - weightedChoice: like choice, but the user can specify the relative probability of choosing each item. I can assure you that such functions are hugely useful in tons of programs. Yet, you don't need more than few days to implement all those things (I already have implementations of most of them). Few basic and easy distributions may be useful too. A random module has to be used by lot of different people in many different situations: - Some people need very good random numbers, even if they are slow to produce. Other people may also need a thread safe random generator. - Some people need just to write a 15-lines long D program that looks like a script. Their code often doesn't need to be very fast, but the code must be as simple as possible, and the faster possible to write, so the syntax has to be short and very intuitive. The programmer doesn't want to read the docs to write such code. - Some people need to produce tons of random numbers, as fast as possible, but they don't need to be high quality. In such situation thread safety may be less important. - Some people just need to write safe and fast code, something normal. So to fulfill all such purposes I think the random module needs needs three different random generators: - A really fast one. I think R250/521 is the best for this purpose, it's faster than the usual one used in C and it's much better. It needs a certain amount of good random numbers to start, that can be given by the other slower and better random generators. Such code is designed to be as fast as possible. - A multi-purpose average random generator, very easy to use, so it doesn't need to instantiate a class if you are writing a single threaded program, you just use simple functions. A generator like KISS of Tango is good here, but the API can be made simpler and very easy. - A very good generator, thread safe. For this a variant of the Mersenne Twister is good. Info about R250/521: http://www.informs-cs.org/wsc97papers/0127.PDF C implementation of R250/521: /* Copyright (c) 2006 the authors listed at the following URL: http://literateprograms.org/R250/521_(C)?action=history&offset=20060711142344 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Retrieved from: http://literateprograms.org/R250/521_(C)?oldid=6914 */ #include <stdlib.h> #define R250_LEN 250 #define R521_LEN 521 #define ULONG_BITS (8*sizeof(unsigned long)) unsigned long r250_buffer[R250_LEN]; unsigned long r521_buffer[R521_LEN]; int r250_index; int r521_index; void r250_521_init() { unsigned long mask1 = 1; unsigned long mask2 = (unsigned long)(-1L); int i = R521_LEN; while (i-- > R250_LEN) { r521_buffer[i] = rand(); } while (i-- > ULONG_BITS) { r250_buffer[i] = rand(); r521_buffer[i] = rand(); } while (i-- > 0) { r250_buffer[i] = (rand() | mask1) & mask2; r521_buffer[i] = (rand() | mask1) & mask2; mask2 ^= mask1; mask1 >>= 1; } r250_buffer[0] = mask1; r521_buffer[0] = mask2; r250_index = 0; r521_index = 0; } #define R250_IA (sizeof(unsigned long)*103) #define R250_IB (sizeof(unsigned long)*R250_LEN - R250_IA) #define R521_IA (sizeof(unsigned long)*168) #define R521_IB (sizeof(unsigned long)*R521_LEN - R521_IA) unsigned long r250_521_random() { unsigned long r, s; unsigned char * b1 = (unsigned char*)r250_buffer; unsigned char * b2 = (unsigned char*)r521_buffer; unsigned long * tmp1, * tmp2; int i1 = r250_index; int i2 = r521_index; int j1, j2; j1 = i1 - R250_IB; if (j1 < 0) j1 = i1 + R250_IA; j2 = i2 - R521_IB; if (j2 < 0) j2 = i2 + R521_IA; tmp1 = (unsigned long *)(b1 + i1); r = (*(unsigned long *)(b1 + j1)) ^ (*tmp1); *tmp1 = r; tmp2 = (unsigned long *)(b2 + i2); s = (*(unsigned long *)(b2 + j2)) ^ (*tmp2); *tmp2 = s; i1 = (i1 != sizeof(unsigned long)*(R250_LEN-1)) ? (i1 + sizeof(unsigned long)) : 0; r250_index = i1; i2 = (i2 != sizeof(unsigned long)*(R521_LEN-1)) ? (i2 + sizeof(unsigned long)) : 0; r521_index = i2; return r ^ s; }
 What I have recently said regarding the lazy generators can be applied to
other things: having two ways to do things is generally bad, but if one of
those ways is really easy and short to write and the other is very flexible and
fast, then two ways to do something may coexist. For example this idea can
applied to the foreach, the std.random, etc.<<
I'm not sure I understand this.<
I have expressed that idea once in the past too, and I have just explained an example of it regarding std.random. I can try again to explain myself. When you design a feature in a language you have to find compromises among different needs: - Such feature needs a short and easy syntax that is not error-prone. - Such feature has to be efficient in space and time, and very flexible. Often such two purposes are almost opposite, it's not easy to have both at the same time. A language like C++ often choses the second, and a language like Python or Ruby the first (but there are many exceptions). So I may be tempted to ask you to put two different implementations of such feature: - One very easy to use, short and easy to remember, not much efficient. - One more flexible, more complex, less easy to remember (you may have to look into the docs to use it), very effficient. But generally in a language duplicating things and having two ways to do the same thing is bad, it's extra complexity. Let's call C1 the complexity (for the programmer) to use the first way, and C2 the complexity of using the second way. In several situations I have seen that if C1 <<< C2 then C1+C2 ~= C2, so C1 doesn't add much complex to the language, so they both can coexist.
I think your ideas on improving I/O are very sensible.<
I/O is used during debugging, logging, etc. What I'd like is to have a very nice, very readable, little/unambigous way to show any built-in type. I may also want two ways to represent such data, a readable one and one for ASCII serialization (but readable still, if possible), as in Python. Note this may need another default method beside toString, somethign like toRepr, or toSerialize, that returns a textual representation that given to the object (to a standard method, if you want, like fromSerialize? or fromRepr), re-creates the original built-in data or object. I also print things often, so the find the printing syntax used by Tango confusing, and too much long. I think function names like put/putr/putf/putfr are the best, because they are clean, short to type, etc. put prints, put prints with a newline, and the versions with f format too in some way (using %
(I wouldn't want to format tuples the same way though.)<
Well, nothing I have done is perfect, everything can be improved. Do you mean structs or tuples? If you give a tuple to one of my printing functions you just receive a string-fication of all the items, with no spaces beteen them. It's a bare-bones thing. My put/putr show a standard representation of structs, if they miss a toString. I'd also like every struct to have a built in copy, toHash, opEquals (they already have this), a default toString, a default opCmp too, etc. My record()/Record!() structs already have such qualities, even recursively, even if you nest normal structs into them. Bye, bear hugs, bearophile
Feb 10 2009
next sibling parent reply Leandro Lucarella <llucax gmail.com> writes:
bearophile, el 10 de febrero a las 15:50 me escribiste:
 Andrei Alexandrescu:
 
Well at some point I hope to be able to rally a few volunteers to help.<
I hope to be able to understand how to do the things :-)
I searched google for bearophile std.random site:digitalmars.com and couldn't
find the message, so I'd appreciate a link<
I can just repeat the things I have said, improving them.
There's plenty of more work to do on random, particularly on generating
non-uniform distributions, and probably others so I'd appreciate your input.<
In my dlibs there's a random module too, I have not finished it, but it already contains some useful stuff. http://www.fantascienza.net/leonardo/so/dlibs/random.html A module like that in a standard lib needs functions like:
http://docs.python.org/library/random.html#module-random ;) -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- Skepticism is the beginning of failure
Feb 11 2009
parent bearophile <bearophileHUGS lycos.com> writes:
Leandro Lucarella:
 A module like that in a standard lib needs functions like:
http://docs.python.org/library/random.html#module-random ;)
You can notice some differences, shuffle/shuffled, and weightedChoice are different or missing. You can also see I have not included other things like randRange. I have also discussed about thread safety, about having three different rnd generators in the std lib, etc. Bye, bearophile
Feb 11 2009
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 There's plenty of more work to do on random, particularly on generating
non-uniform distributions, and probably others so I'd appreciate your input.<
In my dlibs there's a random module too, I have not finished it, but it already contains some useful stuff. http://www.fantascienza.net/leonardo/so/dlibs/random.html
Are you sure we're looking at the same libraries? What I see is that the std.algorithm has most of what you ask below, and that dlibs random is rather thin.
 A module like that in a standard lib needs functions like:
 - choice: given an iterable of items, picks one at random
int array[100]; auto rnd = Random(unpredictableSeed); auto rndElement = array[uniform(rnd, 0, 100)];
 - randInt: gives a random integer in an interval, the lower bound is zero by
default.
auto randInt = uniform(rnd, 0, 10);
 - shuffle: to shuffle randomly a given array (or range with random access, I'd
say) in place.
randomShuffle(array, rnd);
 - shuffled: like shuffle, but creates a copy of the items. Return an array.
auto another = array.dup; randomShuffle(another, rnd);
 - uniform: gives a random real/float/double in a given interval
double d = uniform(rnd, 0, 1);
 - sample: extracts n items from an iterable with uniform distribution, without
replacement
I'll add this.
 - weightedChoice: like choice, but the user can specify the relative
probability of choosing each item.
auto x = dice(rnd, 70, 20, 10);
 I can assure you that such functions are hugely useful in tons of programs.
Yet, you don't need more than few days to implement all those things (I already
have implementations of most of them).
Again, I'm looking at dlibs/random and std/random and am a bit confused. I should be saying what you're saying! Are you sure you're not talking about rand in D 1.0 and about a dlibs from the future?
 Few basic and easy distributions may be useful too.
That I'd definitely appreciate your help with. For example, things like Gaussian and Poisson distribution would be very useful for many machine learning applications.
 A random module has to be used by lot of different people in many different
situations:
 - Some people need very good random numbers, even if they are slow to produce.
Other people may also need a thread safe random generator.
 - Some people need just to write a 15-lines long D program that looks like a
script. Their code often doesn't need to be very fast, but the code must be as
simple as possible, and the faster possible to write, so the syntax has to be
short and very intuitive. The programmer doesn't want to read the docs to write
such code.
 - Some people need to produce tons of random numbers, as fast as possible, but
they don't need to be high quality. In such situation thread safety may be less
important.
 - Some people just need to write safe and fast code, something normal.
 
 So to fulfill all such purposes I think the random module needs needs three
different random generators:
 - A really fast one. I think R250/521 is the best for this purpose, it's
faster than the usual one used in C and it's much better. It needs a certain
amount of good random numbers to start, that can be given by the other slower
and better random generators. Such code is designed to be as fast as possible.
std.random offers MinStdRand0 and MinStdRand, two linear congruential random generators that are fast. Also you can use LinearCongruentialEngine to create your own, with different parameters.
 - A multi-purpose average random generator, very easy to use, so it doesn't
need to instantiate a class if you are writing a single threaded program, you
just use simple functions. A generator like KISS of Tango is good here, but the
API can be made simpler and very easy.
Perhaps there is some merit in having some random generation that doesn't involve creating an object. I don't think it's paramount, but it's a marginal convenience.
 - A very good generator, thread safe. For this a variant of the Mersenne
Twister is good.
Like std.random.MersenneTwisterEngine I presume :o).
 Info about R250/521:
 http://www.informs-cs.org/wsc97papers/0127.PDF
How does R250/521 compare with linear congruential and the Mersenne Twister engine? A cursory look failed to answer that question, and I don't have time for a closer read. Anyhow, it would be great to include more generators in Phobos, so if you plan to contribute some please let me know. The planned interface is similar with the range interface. Andrei
Feb 11 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:

What I see is that the std.algorithm has most of what you ask below,<
"shuffle"/"shuffler" are of course algorithms, but I think mixing all kind of algorithms into a module isn't good, it's better to move the random-related algorithms into std.random. It helps the memory of the programmer to know where to look for, and avoids lumping too many mixed things into a single module.
 int array[100];
 auto rnd = Random(unpredictableSeed);
 auto rndElement = array[uniform(rnd, 0, 100)];
That's just a starting point, now you can wrap that into a nice single function with this interface: choice(iterable) that works with any iterable, lazy too. I know that's slow code, but in many situations you don't care and you want handy and safe functions. And where you need max speed, you don't use it. I don't like this: uniform(rnd, 0, 100) This seems better: rnd.uniform(0, 100) Then 0 can be the default lower bound: rnd.uniform(100) And for simple usages you may just want the default struct: uniform(100)
 - randInt: gives a random integer in an interval, the lower bound is zero by
default.
auto randInt = uniform(rnd, 0, 10);
 - uniform: gives a random real/float/double in a given interval
double d = uniform(rnd, 0, 1);
How can uniform return ints or doubles according to the input? I think it may be better to have two different functions. (And you can optimize efficiency if you know you need an integral value as result). A normal(avg, stddev) function can be good too, where avg may be by default zero again :-) A fastNormal(avg, stddev) function too can be useful, less precise but faster.
 - shuffled: like shuffle, but creates a copy of the items. Return an array.
auto another = array.dup; randomShuffle(another, rnd);
shuffled() is meant to be used in a single line, so you can use it into an expression. And dup works with arrays only, so you need to put into shuffled() a call to something like the array() function of my libs to have something more general.
 - weightedChoice: like choice, but the user can specify the relative
probability of choosing each item.<
auto x = dice(rnd, 70, 20, 10);<
I don't understand that interface, this isn't good. I was talking about a function that given an iterable of items and an iterable of frequences (or probabilities) returns an item at random according to the given probabilities.
How does R250/521 compare with linear congruential and the Mersenne Twister
engine?<
R250/521: - is generates better rnd values than linear congruential, and is a bit faster. - is faster than KISS. - is much much faster than Mersenne Twister. - needs few good rnd numbers to start, so they can be given by a Mersenne Twister (they may be even hard-coded).
Anyhow, it would be great to include more generators in Phobos, so if you plan
to contribute some please let me know.<
I think it's better to not overdo the number of generators, and put there only few of them, that the programmer can tell apart in a simple way. I think 3 generators like R250/521 (that you can choose to use a set of free functions or as struct methods), KISS (two iterfaces), and Mersenne Twister (only the thread safe API) may cover most basic usages and some of nonbasic ones. Then it's easy to help the programmer to tell them apart, you can sort them just according to their speed: fastRnd ==> R250/521 rnd ==> KISS slowRnd ==> Mersenne Twister (if you think that people will not use the third if you put "show" there, then you can call it preciseRND, but it's a longer name). Later it can be added a way to generate huge random BigInts too. Bye, bearophile
Feb 11 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 
 What I see is that the std.algorithm has most of what you ask below,<
"shuffle"/"shuffler" are of course algorithms, but I think mixing all kind of algorithms into a module isn't good, it's better to move the random-related algorithms into std.random. It helps the memory of the programmer to know where to look for, and avoids lumping too many mixed things into a single module.
It's there. Read The Fine Manual: http://www.digitalmars.com/d/2.0/phobos/std_random.html
 int array[100];
 auto rnd = Random(unpredictableSeed);
 auto rndElement = array[uniform(rnd, 0, 100)];
That's just a starting point, now you can wrap that into a nice single function with this interface: choice(iterable) that works with any iterable, lazy too. I know that's slow code, but in many situations you don't care and you want handy and safe functions. And where you need max speed, you don't use it.
That would only work with ranges that know their length, right? I don't know how to select a random element of an infinite range or one that has an unknown length.
 I don't like this:
 uniform(rnd, 0, 100)
 This seems better:
 rnd.uniform(0, 100)
 Then 0 can be the default lower bound:
 rnd.uniform(100)
 And for simple usages you may just want the default struct:
 uniform(100)
Well this becomes nitpicky.
 - randInt: gives a random integer in an interval, the lower bound is zero by
default.
auto randInt = uniform(rnd, 0, 10);
 - uniform: gives a random real/float/double in a given interval
double d = uniform(rnd, 0, 1);
How can uniform return ints or doubles according to the input? I think it may be better to have two different functions. (And you can optimize efficiency if you know you need an integral value as result).
I meant: double d = uniform(rnd, 0.0, 1.0); The "uniform" function infers the type of its result from its arguments.
 A normal(avg, stddev) function can be good too, where avg may be by default
zero again :-)
 
 A fastNormal(avg, stddev) function too can be useful, less precise but faster.
Where's the underlying random generator?
 - shuffled: like shuffle, but creates a copy of the items. Return an array.
auto another = array.dup; randomShuffle(another, rnd);
shuffled() is meant to be used in a single line, so you can use it into an expression. And dup works with arrays only, so you need to put into shuffled() a call to something like the array() function of my libs to have something more general.
Right. So what you're saying is that the concern of copying is separated from the concern of shuffling. So the two shouldn't be collapsed together unless there's an obvious necessity or benefit. Saving a line of code doesn't seem convincing.
 - weightedChoice: like choice, but the user can specify the relative
probability of choosing each item.<
auto x = dice(rnd, 70, 20, 10);<
I don't understand that interface, this isn't good.
Well it would be good if you read the documentation, which seems increasingly clear to me you haven't.
 How does R250/521 compare with linear congruential and the Mersenne Twister
engine?<
R250/521: - is generates better rnd values than linear congruential, and is a bit faster. - is faster than KISS. - is much much faster than Mersenne Twister. - needs few good rnd numbers to start, so they can be given by a Mersenne Twister (they may be even hard-coded).
 Anyhow, it would be great to include more generators in Phobos, so if you plan
to contribute some please let me know.<
I think it's better to not overdo the number of generators, and put there only few of them, that the programmer can tell apart in a simple way.
Well it looks like everyone thinks their favorite generator is the "best". As far as Phobos is concerned, the source for the design of std.random is inspired from http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf, which goes for defining several generators. Andrei
Feb 11 2009
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:

I don't know how to select a random element of an infinite range or one that
has an unknown length.<
The programmer has to take care of not giving an infinite range, because it may lead to an unbounded time to wait. If the range is finite, but its length isn't know, there are algorithms to extract an item randomly with uniform probability. (Do you remember your quiz to extract a random line from a file, where at the beginning you don't know how many lines it has?)
Well this becomes nitpicky.<
You are right, I am sorry, I was getting a bit nervous. You are usually gentle with me, and this helps me think much better. Maybe this time you are nervous/angry because I have not read the docs of sts.random of Phobos of D2.
 double d = uniform(rnd, 0.0, 1.0);
 The "uniform" function infers the type of its result from its arguments.
If you have forgotten to put a .0 there in a small example, then it looks a bit too much bug-prone. I think I prefer two functions still, it's also useful as self-documentation of the program.
Where's the underlying random generator?<
If not specified it uses the default non-thread-safe generator (something like KISS in my suggestions, that is the middle one).
Saving a line of code doesn't seem convincing.<
It's not a line of code, shuffled() is an expression, so you can put it inside other expressions, it may save more than one line. One line here and one line there make the difference. Having only functionally atomic functions/things is useful because you can combine them, but when you program you may see that 80% of the times you want to combine then in small amount of certain specific way. So it's positive to add such common idioms as handy functions (that can also be used as an expression too).
Well it would be good if you read the documentation,<
I have taken a look at the docs for dice(), I don't like its name because isn't intuitive at all, but its usage is easy. The usage of the function I have suggested is a bit more higher level. An possible alternative design for such function is to take in input an already sorted array of the weights (beside the iterable of the items), this may speed up this function a bit (it just needs to call the algorithm for bisect search, I presume).
Well it looks like everyone thinks their favorite generator is the "best".<
I have suggested three generators because there's no "best": the numbers generated by R250/521 are worse than ones generated by KISS and much worse than ones generated by Mersenne.
 http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf
, which goes for defining several generators.
I have read about R250/521, and I have used it in some simulations in C/D, with good/acceptable results. But I can't "compete" with groups of people that define C++. Among them there are probably people expert about random generators, so it may be wiser for you to follow them and to ignore me. Regarding C++, if not already present, the default sort of D arrays may become the stable sort of some good C++ STL. Bye, bearophile
Feb 11 2009
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 You are right, I am sorry, I was getting a bit nervous. You are
 usually gentle with me, and this helps me think much better. Maybe
 this time you are nervous/angry because I have not read the docs of
 sts.random of Phobos of D2.
There's no reason for you to allow your conduct being influenced negatively by anyone. If you're right then this is what matters. One joy of hanging out in this group is that it's not the field of turf wars as it once was (and as I believe it could become again in the future). My perception is that this is largely a group in which respect is earned on technical grounds. Andrei
Feb 11 2009
prev sibling parent Benji Smith <dlanguage benjismith.net> writes:
bearophile wrote:
 I have taken a look at the docs for dice(), I don't like its name because
isn't intuitive at all, but its usage is easy. The usage of the function I have
suggested is a bit more higher level.
 
 An possible alternative design for such function is to take in input an
already sorted array of the weights (beside the iterable of the items), this
may speed up this function a bit (it just needs to call the algorithm for
bisect search, I presume).
FWIW, I've implemented this sort of thing before. In my implementation, it was called ProbabilisticChooser(T), and I could instantiate it either with a pair of parallel arrays or with a HashMap(T, double). In my case, I didn't lump it in with my other random-number related code, because I had a set of other classes implementing the Chooser(T) interface. Some of them were random and some were deterministic, but they all provided the same "choose" function on top of a "choice strategy" implementation. --benji
Feb 11 2009
prev sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Wed, 11 Feb 2009 19:14:38 +0300, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:

 bearophile wrote:
 Andrei Alexandrescu:

 What I see is that the std.algorithm has most of what you ask below,<
"shuffle"/"shuffler" are of course algorithms, but I think mixing all kind of algorithms into a module isn't good, it's better to move the random-related algorithms into std.random. It helps the memory of the programmer to know where to look for, and avoids lumping too many mixed things into a single module.
It's there. Read The Fine Manual: http://www.digitalmars.com/d/2.0/phobos/std_random.html
 int array[100];
 auto rnd = Random(unpredictableSeed);
 auto rndElement = array[uniform(rnd, 0, 100)];
That's just a starting point, now you can wrap that into a nice single function with this interface: choice(iterable) that works with any iterable, lazy too. I know that's slow code, but in many situations you don't care and you want handy and safe functions. And where you need max speed, you don't use it.
That would only work with ranges that know their length, right? I don't know how to select a random element of an infinite range or one that has an unknown length.
 I don't like this:
 uniform(rnd, 0, 100)
 This seems better:
 rnd.uniform(0, 100)
 Then 0 can be the default lower bound:
 rnd.uniform(100)
 And for simple usages you may just want the default struct:
 uniform(100)
Well this becomes nitpicky.
 - randInt: gives a random integer in an interval, the lower bound is  
 zero by default.
auto randInt = uniform(rnd, 0, 10);
 - uniform: gives a random real/float/double in a given interval
double d = uniform(rnd, 0, 1);
How can uniform return ints or doubles according to the input? I think it may be better to have two different functions. (And you can optimize efficiency if you know you need an integral value as result).
I meant: double d = uniform(rnd, 0.0, 1.0); The "uniform" function infers the type of its result from its arguments.
 A normal(avg, stddev) function can be good too, where avg may be by  
 default zero again :-)
  A fastNormal(avg, stddev) function too can be useful, less precise but  
 faster.
Where's the underlying random generator?
 - shuffled: like shuffle, but creates a copy of the items. Return an  
 array.
auto another = array.dup; randomShuffle(another, rnd);
shuffled() is meant to be used in a single line, so you can use it into an expression. And dup works with arrays only, so you need to put into shuffled() a call to something like the array() function of my libs to have something more general.
Right. So what you're saying is that the concern of copying is separated from the concern of shuffling. So the two shouldn't be collapsed together unless there's an obvious necessity or benefit. Saving a line of code doesn't seem convincing.
I'm with bearophile here. Not because his version is shorter, but because 1) some containers/ranges might not have a dup method 2) it is potentially faster because it may avoid unnecessary data copying (relevant for large arrays). That said, having both versions is preferred by me with names like shuffle and shuffledCopy. The same could be applied to sort - sortedCopy might be useful, too.
 - weightedChoice: like choice, but the user can specify the relative  
 probability of choosing each item.<
auto x = dice(rnd, 70, 20, 10);<
I don't understand that interface, this isn't good.
Well it would be good if you read the documentation, which seems increasingly clear to me you haven't.
 How does R250/521 compare with linear congruential and the Mersenne  
 Twister engine?<
R250/521: - is generates better rnd values than linear congruential, and is a bit faster. - is faster than KISS. - is much much faster than Mersenne Twister. - needs few good rnd numbers to start, so they can be given by a Mersenne Twister (they may be even hard-coded).
 Anyhow, it would be great to include more generators in Phobos, so if  
 you plan to contribute some please let me know.<
I think it's better to not overdo the number of generators, and put there only few of them, that the programmer can tell apart in a simple way.
Well it looks like everyone thinks their favorite generator is the "best". As far as Phobos is concerned, the source for the design of std.random is inspired from http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf, which goes for defining several generators. Andrei
Feb 11 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Denis Koroskin wrote:
[about shuffling ranges]
 I'm with bearophile here. Not because his version is shorter, but because
 1) some containers/ranges might not have a dup method
 2) it is potentially faster because it may avoid unnecessary data 
 copying (relevant for large arrays).
 
 That said, having both versions is preferred by me with names like 
 shuffle and shuffledCopy.
 The same could be applied to sort - sortedCopy might be useful, too.
Oh, I understand now. Incidentally topNCopy exists already, and it becomes a sortedCopy for n = input.length. But perhaps an explicit function would drive the point home better. About shuffleCopy, you and Leonardo are both right that it could be significantly faster than copying and then shuffling the copy. The solution that I see most in the spirit of the new range design is to have a ShuffledRange that, given another range, iterates it in a random manner. An ordinary copy() call closes the deal if a copy is needed. Thanks, Andrei
Feb 11 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Andrei Alexandrescu wrote:
 Denis Koroskin wrote:
 [about shuffling ranges]
 I'm with bearophile here. Not because his version is shorter, but because
 1) some containers/ranges might not have a dup method
 2) it is potentially faster because it may avoid unnecessary data 
 copying (relevant for large arrays).

 That said, having both versions is preferred by me with names like 
 shuffle and shuffledCopy.
 The same could be applied to sort - sortedCopy might be useful, too.
Oh, I understand now. Incidentally topNCopy exists already, and it becomes a sortedCopy for n = input.length. But perhaps an explicit function would drive the point home better. About shuffleCopy, you and Leonardo are both right that it could be significantly faster than copying and then shuffling the copy. The solution that I see most in the spirit of the new range design is to have a ShuffledRange that, given another range, iterates it in a random manner. An ordinary copy() call closes the deal if a copy is needed.
Wait, I take that back. I don't know of solid ways to sort into a copy or shuffle into a copy. For shuffling I'd need auxiliary memory (in addition to the copy itself), and for sorting I'd be better off copying and then sorting in place. Could anyone illuminate me about better ways? Andrei
Feb 11 2009
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Thu, 12 Feb 2009 07:46:31 +0300, Andrei Alexandrescu  
<SeeWebsiteForEmail erdani.org> wrote:

 Andrei Alexandrescu wrote:
 Denis Koroskin wrote:
 [about shuffling ranges]
 I'm with bearophile here. Not because his version is shorter, but  
 because
 1) some containers/ranges might not have a dup method
 2) it is potentially faster because it may avoid unnecessary data  
 copying (relevant for large arrays).

 That said, having both versions is preferred by me with names like  
 shuffle and shuffledCopy.
 The same could be applied to sort - sortedCopy might be useful, too.
Oh, I understand now. Incidentally topNCopy exists already, and it becomes a sortedCopy for n = input.length. But perhaps an explicit function would drive the point home better. About shuffleCopy, you and Leonardo are both right that it could be significantly faster than copying and then shuffling the copy. The solution that I see most in the spirit of the new range design is to have a ShuffledRange that, given another range, iterates it in a random manner. An ordinary copy() call closes the deal if a copy is needed.
Wait, I take that back. I don't know of solid ways to sort into a copy or shuffle into a copy. For shuffling I'd need auxiliary memory (in addition to the copy itself), and for sorting I'd be better off copying and then sorting in place. Could anyone illuminate me about better ways? Andrei
That's why I said it /might/ be faster. It doesn't have to, the default implementation may look as follows: typeof(Range.first)[] shuffledCopy(Range)(Range range) { return shuffle(createCopy(range)); } However, it may be implemented quite differently if not inplace. For this to work we need two primitives that I didn't find in std.range (I know names are not good, feel free to rename them as you please): struct RandomNumbers(Rnd = Random) { // ... } A finite range of length 'max' that generates random numbers in interval [0..max) without repeating. An example: Random rnd; auto gen = RandomNumbers(10, rnd); foreach (n; gen) { writefln(n); } Sample output: 2 6 8 1 4 7 5 9 0 3 Sample implementation is attached. Next we need RandomItems - a finite range the acepts a random access range and returns random elements one-by-one without repeating: struct RandomItems(Range, Rnd = Random) { // ... } It makes use of RandomNumbers generator and is very simple (sample source attached, too). Now we can create shuffledCopy easily: auto shuffledCopy(Range)(Range range) { auto gen = RandomItems!(Range)(range); typeof(range[0])[] copy = new typeof(range[0])[range.length]; foreach (ref elem; copy) { elem = gen.head; gen.next(); } return copy; }
Feb 12 2009
parent reply Steve Schveighoffer <schveiguy yahoo.com> writes:
On Thu, 12 Feb 2009 14:41:26 +0300, Denis Koroskin wrote:

 On Thu, 12 Feb 2009 07:46:31 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Wait, I take that back. I don't know of solid ways to sort into a copy
 or shuffle into a copy. For shuffling I'd need auxiliary memory (in
 addition to the copy itself), and for sorting I'd be better off copying
 and then sorting in place. Could anyone illuminate me about better
 ways?

 Andrei
That's why I said it /might/ be faster. It doesn't have to, the default implementation may look as follows: typeof(Range.first)[] shuffledCopy(Range)(Range range) { return shuffle(createCopy(range)); } However, it may be implemented quite differently if not inplace. For this to work we need two primitives that I didn't find in std.range (I know names are not good, feel free to rename them as you please): struct RandomNumbers(Rnd = Random) { // ... } A finite range of length 'max' that generates random numbers in interval [0..max) without repeating. An example:
That's the problem. How do you do this without remembering all the number you have returned so far (i.e. generate an array of N integers)? I've done algorithms like this, and generally you have to mutate the source array (swapping used items with the item at the location you took from). You may save some time on swapping by building a temporary array of pointers or indexes, but you still have to build a temporary array, which is what Andrei was saying. -Steve
Feb 12 2009
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Thu, 12 Feb 2009 15:14:34 +0300, Steve Schveighoffer  
<schveiguy yahoo.com> wrote:

 On Thu, 12 Feb 2009 14:41:26 +0300, Denis Koroskin wrote:

 On Thu, 12 Feb 2009 07:46:31 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Wait, I take that back. I don't know of solid ways to sort into a copy
 or shuffle into a copy. For shuffling I'd need auxiliary memory (in
 addition to the copy itself), and for sorting I'd be better off copying
 and then sorting in place. Could anyone illuminate me about better
 ways?

 Andrei
That's why I said it /might/ be faster. It doesn't have to, the default implementation may look as follows: typeof(Range.first)[] shuffledCopy(Range)(Range range) { return shuffle(createCopy(range)); } However, it may be implemented quite differently if not inplace. For this to work we need two primitives that I didn't find in std.range (I know names are not good, feel free to rename them as you please): struct RandomNumbers(Rnd = Random) { // ... } A finite range of length 'max' that generates random numbers in interval [0..max) without repeating. An example:
That's the problem. How do you do this without remembering all the number you have returned so far (i.e. generate an array of N integers)? I've done algorithms like this, and generally you have to mutate the source array (swapping used items with the item at the location you took from). You may save some time on swapping by building a temporary array of pointers or indexes, but you still have to build a temporary array, which is what Andrei was saying. -Steve
Well, I've attached the source code, so take a look at it. I don't remember all the values returned so far but I still use O(N) temporary storage. Copying and modifying array of int is often preffered to copying and modifying and array of structs (they can be big, have heavyweight assignment operators etc). Even if shuffledCopy won't get into algorithms, RandomNumbers/RandomItems are still pretty useful ranges.
Feb 12 2009
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Denis Koroskin" wrote
 On Thu, 12 Feb 2009 15:14:34 +0300, Steve Schveighoffer
 On Thu, 12 Feb 2009 14:41:26 +0300, Denis Koroskin wrote:

 On Thu, 12 Feb 2009 07:46:31 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Wait, I take that back. I don't know of solid ways to sort into a copy
 or shuffle into a copy. For shuffling I'd need auxiliary memory (in
 addition to the copy itself), and for sorting I'd be better off copying
 and then sorting in place. Could anyone illuminate me about better
 ways?

 Andrei
That's why I said it /might/ be faster. It doesn't have to, the default implementation may look as follows: typeof(Range.first)[] shuffledCopy(Range)(Range range) { return shuffle(createCopy(range)); } However, it may be implemented quite differently if not inplace. For this to work we need two primitives that I didn't find in std.range (I know names are not good, feel free to rename them as you please): struct RandomNumbers(Rnd = Random) { // ... } A finite range of length 'max' that generates random numbers in interval [0..max) without repeating. An example:
That's the problem. How do you do this without remembering all the number you have returned so far (i.e. generate an array of N integers)? I've done algorithms like this, and generally you have to mutate the source array (swapping used items with the item at the location you took from). You may save some time on swapping by building a temporary array of pointers or indexes, but you still have to build a temporary array, which is what Andrei was saying. -Steve
Well, I've attached the source code, so take a look at it. I don't remember all the values returned so far but I still use O(N) temporary storage.
Yes, you are remembering. The O(N) temporary storage is the part that remembers what you have returned (or rather, what you have not yet returned). However, it is clever how you do not have to initialize the array to begin with. I'm still not quite sure how it works.
 Copying and modifying array of int is often preffered to copying and 
 modifying and array of structs (they can be big, have heavyweight 
 assignment operators etc).
Yes, but Andrei said "I don't know of solid ways to ... shuffle into a copy. For shuffling I'd need auxiliary memory (in addition to the copy itself)" the O(N) space requirement could be quite costly for large arrays. -Steve
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Steven Schveighoffer wrote:
 "Denis Koroskin" wrote
 On Thu, 12 Feb 2009 15:14:34 +0300, Steve Schveighoffer
 On Thu, 12 Feb 2009 14:41:26 +0300, Denis Koroskin wrote:

 On Thu, 12 Feb 2009 07:46:31 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Wait, I take that back. I don't know of solid ways to sort into a copy
 or shuffle into a copy. For shuffling I'd need auxiliary memory (in
 addition to the copy itself), and for sorting I'd be better off copying
 and then sorting in place. Could anyone illuminate me about better
 ways?

 Andrei
That's why I said it /might/ be faster. It doesn't have to, the default implementation may look as follows: typeof(Range.first)[] shuffledCopy(Range)(Range range) { return shuffle(createCopy(range)); } However, it may be implemented quite differently if not inplace. For this to work we need two primitives that I didn't find in std.range (I know names are not good, feel free to rename them as you please): struct RandomNumbers(Rnd = Random) { // ... } A finite range of length 'max' that generates random numbers in interval [0..max) without repeating. An example:
That's the problem. How do you do this without remembering all the number you have returned so far (i.e. generate an array of N integers)? I've done algorithms like this, and generally you have to mutate the source array (swapping used items with the item at the location you took from). You may save some time on swapping by building a temporary array of pointers or indexes, but you still have to build a temporary array, which is what Andrei was saying. -Steve
Well, I've attached the source code, so take a look at it. I don't remember all the values returned so far but I still use O(N) temporary storage.
Yes, you are remembering. The O(N) temporary storage is the part that remembers what you have returned (or rather, what you have not yet returned). However, it is clever how you do not have to initialize the array to begin with. I'm still not quite sure how it works.
Yah, the implementation is neat. The thing is it's not "RandomNumbers", it's "RandomPermutation" because what it really generates is a permutation of the numbers {0, 1,...., n}. Maybe a convenient way to generate permutations in std.random would please everybody. Then you index an array by a random permutation of its indices and you obtain a random cover of the array. Andrei
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Ok, following Leonardo's and Denis' ideas on covering an immutable array 
in random order, I thought about it and came up with one algorithm, in 
addition to the obvious one that stores one integer per element (see 
Denis' code).

Here's the algorithm. It stores one bit per element and takes O(n log n) 
time to cover a range of length n.

1. Given a random-access range r of length n, create a bitmap with one 
bit per element in r. The range is initially all zeros.

2. At each step, select a random index in the _original_ array, i.e. a 
random number in 0 .. r.length. Then walk upwards (with wrapping at the 
end of the range) until you find a bit = 0 in the bitmap. Mark that bit 
= 1 and return the found element.

3. The cover ends when all bits in the bitmap are 1.

I did a ballpark complexity estimate by approximating the average number 
of steps in (2) with n / (n - k), where k is the number of 1s in the 
bitmap. IIRC the average number of steps to hit a 1 in a binomial 
distribution with p = (n - k) / n is 1/p. Right? In that case, the total 
number of steps taken by the algo above is:

N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n 
- 1)) < O (n log n)

Makes sense?

If the range does not offer random access, I think this algorithm will 
have quadratic complexity because it needs to make a number of steps 
proportional to n at each iteration.


Andrei
Feb 12 2009
next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Andrei Alexandrescu" wrote
 Ok, following Leonardo's and Denis' ideas on covering an immutable array 
 in random order, I thought about it and came up with one algorithm, in 
 addition to the obvious one that stores one integer per element (see 
 Denis' code).

 Here's the algorithm. It stores one bit per element and takes O(n log n) 
 time to cover a range of length n.

 1. Given a random-access range r of length n, create a bitmap with one bit 
 per element in r. The range is initially all zeros.

 2. At each step, select a random index in the _original_ array, i.e. a 
 random number in 0 .. r.length. Then walk upwards (with wrapping at the 
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit = 
 1 and return the found element.

 3. The cover ends when all bits in the bitmap are 1.

 I did a ballpark complexity estimate by approximating the average number 
 of steps in (2) with n / (n - k), where k is the number of 1s in the 
 bitmap. IIRC the average number of steps to hit a 1 in a binomial 
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total 
 number of steps taken by the algo above is:

 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n - 
 1)) < O (n log n)

 Makes sense?
OK, but you still have O(n) space requirement (albeit with a much smaller constant). There are some other optimizations you can make. For instance, finding a bit can be optimized somewhat (i.e. if one integer's worth of bits is 0xffffffff, you can skip 32 bits, and when you find an int which contains some 0 bits, you can even use a lookup table for 8 bits to tell you what the next bit should be, then you can go 8 bits at a time looking for your empty bit). This might reduce the "search time" to a more acceptable number. At most, the search time for a bit will be n / 32 + 3. I think the tradeoff might be significant between a larger space requirement and an O(n) vs. O(nlgn) algo, but it would be highly dependent on the dataset size. There's one other "obvious" algorithm.. store pointers to the original elements, or null if the element hasn't been swapped. The code would look something like: T [] _origArray; T *[] _tmparray; T *_headElem; private T *getElem(int idx) { if(auto retval = _tmparray[idx]) return retval; return &_origArray[idx]; } void next() { int idx = randomInt(0.._tmparray.length); _headElem = getElem(idx); _tmparray[idx] = getElem(_tmparray.length - 1); _tmparray.length = _tmparray.length - 1; } Same space requirements as the index generating range, but it may be faster in terms of looking up values. -Steve
Feb 12 2009
prev sibling next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 Ok, following Leonardo's and Denis' ideas on covering an immutable array 
 in random order, I thought about it and came up with one algorithm, in 
 addition to the obvious one that stores one integer per element (see 
 Denis' code).
 
 Here's the algorithm. It stores one bit per element and takes O(n log n) 
 time to cover a range of length n.
 
 1. Given a random-access range r of length n, create a bitmap with one 
 bit per element in r. The range is initially all zeros.
 
 2. At each step, select a random index in the _original_ array, i.e. a 
 random number in 0 .. r.length. Then walk upwards (with wrapping at the 
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit 
 = 1 and return the found element.
 
 3. The cover ends when all bits in the bitmap are 1.
So far so good.
 I did a ballpark complexity estimate by approximating the average number 
 of steps in (2) with n / (n - k), where k is the number of 1s in the 
 bitmap. IIRC the average number of steps to hit a 1 in a binomial 
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total 
 number of steps taken by the algo above is:
 
 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n 
 - 1)) < O (n log n)
 
 Makes sense?
No. Your wording sounds like you're doing stuff that's way off, but the resulting math is correct. My calculation would be based on the average length of a sequence of 1's (k/(n-k)). That means the work is 1+k/(n-k) = n/(n-k). Given that O(n*log(n)) is the theoretical best you can do, having a result that is < O(n*log(n)) is highly suspect. The sum 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + ... is in fact O(log(n)).
 If the range does not offer random access, I think this algorithm will 
 have quadratic complexity because it needs to make a number of steps 
 proportional to n at each iteration.
That's when copying may be the best implementation
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Jason House wrote:
 Andrei Alexandrescu Wrote: 
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
 Given that O(n*log(n)) is the theoretical best you can do, having a
 result that is < O(n*log(n)) is highly suspect.  The sum 1/1 + 1/2 +
 1/3 + 1/4 + 1/5 + ... is in fact O(log(n)).
Ever so pedantic. :o) I meant "<=" because I wasn't aware of the best theoretical bound. Do you have a pointer? Thanks. I have the feeling there is something clever to do after half of the array was covered. After that, the probability of a random element being uncovered falls below 0.5. I also have the feeling that interesting things can be done if the length of the range has certain values, such as the period of certain generators with certain parameters. I don't have the time to look into that now. Anyone versed in e.g. linear congruential generators with a given period? One way or another, I'll add RandomCover to std.random. Thanks Leonardo, Denis, Steve, and Jason. Andrei
Feb 12 2009
parent reply Bill Baxter <wbaxter gmail.com> writes:
On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot. Not sure how badly that skews the big-oh though. Sounds like a problem you'd find the answer to in an advanced text covering hashing, because it sounds just like hashing with linear probing. --bb
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Bill Baxter wrote:
 On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot.
Oops, that makes me more likely to choose some slots than other. My algorithm stinks! Consider the array at the second iteration. There are n-1 zeros and one 1 in the bitmap. The random number selection selects a number in 0..n with probability 1/n each. That's already wrong because each element was supposed to be selected with probability 1/(n-1). That extra mass goes to the element right after the one selected in the first round. I suck. Andrei
Feb 12 2009
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Bill Baxter wrote:
 On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot.
Oops, that makes me more likely to choose some slots than other. My algorithm stinks! Consider the array at the second iteration. There are n-1 zeros and one 1 in the bitmap. The random number selection selects a number in 0..n with probability 1/n each. That's already wrong because each element was supposed to be selected with probability 1/(n-1). That extra mass goes to the element right after the one selected in the first round. I suck.
Skip ahead a random number of elements before performing the linear search. Sean
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Sean Kelly wrote:
 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Bill Baxter wrote:
 On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot.
Oops, that makes me more likely to choose some slots than other. My algorithm stinks! Consider the array at the second iteration. There are n-1 zeros and one 1 in the bitmap. The random number selection selects a number in 0..n with probability 1/n each. That's already wrong because each element was supposed to be selected with probability 1/(n-1). That extra mass goes to the element right after the one selected in the first round. I suck.
Skip ahead a random number of elements before performing the linear search.
Can you prove this will yield a uniform cover? Andrei
Feb 12 2009
next sibling parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Sean Kelly wrote:
 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Bill Baxter wrote:
 On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot.
Oops, that makes me more likely to choose some slots than other. My algorithm stinks! Consider the array at the second iteration. There are n-1 zeros and one 1 in the bitmap. The random number selection selects a number in 0..n with probability 1/n each. That's already wrong because each element was supposed to be selected with probability 1/(n-1). That extra mass goes to the element right after the one selected in the first round. I suck.
Skip ahead a random number of elements before performing the linear search.
Can you prove this will yield a uniform cover?
Nope :-) But it solves the problem of favoring adjacent elements. Sean
Feb 12 2009
prev sibling next sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Fri, Feb 13, 2009 at 9:23 AM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 Sean Kelly wrote:
 Skip ahead a random number of elements before performing the linear
 search.
Can you prove this will yield a uniform cover?
I don't see how it could. If you have a linear search at all, then empty at the end of a row of filled elements will always have a higher probability of getting chosen. Pure dart throwing would clearly work though. Just keep trying randomly till you hit an empty. Won't perform very well, though. --bb
Feb 12 2009
prev sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Fri, Feb 13, 2009 at 9:37 AM, Bill Baxter <wbaxter gmail.com> wrote:
 On Fri, Feb 13, 2009 at 9:23 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Sean Kelly wrote:
 Skip ahead a random number of elements before performing the linear
 search.
Can you prove this will yield a uniform cover?
I don't see how it could. If you have a linear search at all, then empty at the end of a row of filled elements will always have a higher probability of getting chosen. Pure dart throwing would clearly work though. Just keep trying randomly till you hit an empty. Won't perform very well, though.
If you count the total number of 1's that precede the 0 you've chosen, you can tell how biased the choice was. Say it was k/n when it should have been just 1/m (n the total number, m the 0's remaining). If you know this, you can systematically discard the choice and try again with probability such that the combined probability of both choices comes out to 1/m. So that would be k/n * x = 1/m, thus x = n/(k*m). So you keep the value found by linear probing with probability n/(k*m), otherwise you try again. Nice thing is as m is getting smaller, typical k's are approaching n, and so towards the end you get to keep more and more of your choices. So it fixes the problem with pure dart throwing where it takes a longer and longer time to find the last few empty slots. How's that sound? --bb
Feb 12 2009
prev sibling parent Christopher Wright <dhasenan gmail.com> writes:
Andrei Alexandrescu wrote:
 Bill Baxter wrote:
 On Fri, Feb 13, 2009 at 7:21 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Jason House wrote:
 Andrei Alexandrescu Wrote:
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
Except your holes aren't randomly distributed, because you are more likely to fill a hole next to an already filled slot.
Oops, that makes me more likely to choose some slots than other. My algorithm stinks!
On a similar note, we previously suggested using merge sort with a random comparer in order to shuffle a list outside memory. My experimentation showed a heavy bias toward certain permutations, though; can anyone determine why that should be?
Feb 13 2009
prev sibling next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Ok, following Leonardo's and Denis' ideas on covering an immutable array
 in random order, I thought about it and came up with one algorithm, in
 addition to the obvious one that stores one integer per element (see
 Denis' code).
 Here's the algorithm. It stores one bit per element and takes O(n log n)
 time to cover a range of length n.
 1. Given a random-access range r of length n, create a bitmap with one
 bit per element in r. The range is initially all zeros.
 2. At each step, select a random index in the _original_ array, i.e. a
 random number in 0 .. r.length. Then walk upwards (with wrapping at the
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit
 = 1 and return the found element.
 3. The cover ends when all bits in the bitmap are 1.
 I did a ballpark complexity estimate by approximating the average number
 of steps in (2) with n / (n - k), where k is the number of 1s in the
 bitmap. IIRC the average number of steps to hit a 1 in a binomial
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total
 number of steps taken by the algo above is:
 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n
 - 1)) < O (n log n)
 Makes sense?
 If the range does not offer random access, I think this algorithm will
 have quadratic complexity because it needs to make a number of steps
 proportional to n at each iteration.
 Andrei
The concern I have with this scheme is that iterating over an array with this cover would not produce an unbiased distribution of permutations. A good shuffling algorithm will produce a perfectly uniform distribution over all possible permutations of the original range, assuming the underlying random number generator is unbiased. In other words, given an array of length N, every permutation should have an equal probability 1/N!. To get this unbiasedness, after selecting M values from a larger set N, the probabilities of selecting any of the remaining N - M elements as element M + 1 must be uniform. In this case, it is clearly not, since elements just after elements that have already been selected are "bigger targets". Similar problems exist for naive implementations of the Fisher-Yates algorithm (http://en.wikipedia.org/wiki/Fisher-Yates_shuffle). In other words, unless one is very careful, one will not get a truly unbiased, random permutation. That said, for certain applications, what you propose may be "random enough." However, if you do include it, please at least document that it is biased and should not be used for things like monte carlo simulations or gambling, where people might care.
Feb 12 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
dsimcha wrote:
 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Ok, following Leonardo's and Denis' ideas on covering an immutable array
 in random order, I thought about it and came up with one algorithm, in
 addition to the obvious one that stores one integer per element (see
 Denis' code).
 Here's the algorithm. It stores one bit per element and takes O(n log n)
 time to cover a range of length n.
 1. Given a random-access range r of length n, create a bitmap with one
 bit per element in r. The range is initially all zeros.
 2. At each step, select a random index in the _original_ array, i.e. a
 random number in 0 .. r.length. Then walk upwards (with wrapping at the
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit
 = 1 and return the found element.
 3. The cover ends when all bits in the bitmap are 1.
 I did a ballpark complexity estimate by approximating the average number
 of steps in (2) with n / (n - k), where k is the number of 1s in the
 bitmap. IIRC the average number of steps to hit a 1 in a binomial
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total
 number of steps taken by the algo above is:
 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n
 - 1)) < O (n log n)
 Makes sense?
 If the range does not offer random access, I think this algorithm will
 have quadratic complexity because it needs to make a number of steps
 proportional to n at each iteration.
 Andrei
The concern I have with this scheme is that iterating over an array with this cover would not produce an unbiased distribution of permutations. A good shuffling algorithm will produce a perfectly uniform distribution over all possible permutations of the original range, assuming the underlying random number generator is unbiased. In other words, given an array of length N, every permutation should have an equal probability 1/N!. To get this unbiasedness, after selecting M values from a larger set N, the probabilities of selecting any of the remaining N - M elements as element M + 1 must be uniform. In this case, it is clearly not, since elements just after elements that have already been selected are "bigger targets". Similar problems exist for naive implementations of the Fisher-Yates algorithm (http://en.wikipedia.org/wiki/Fisher-Yates_shuffle). In other words, unless one is very careful, one will not get a truly unbiased, random permutation. That said, for certain applications, what you propose may be "random enough." However, if you do include it, please at least document that it is biased and should not be used for things like monte carlo simulations or gambling, where people might care.
I can't believe I fell for this. I knew Fisher-Yates and used it in randomShuffle! I won't put a subtly skewed distribution in the standard library. The quest for finding a random cover of an array with as little extra memory consumed and with good complexity is on! I'd appreciate any ideas. Andrei
Feb 12 2009
parent reply Jason House <jason.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 dsimcha wrote:
 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Ok, following Leonardo's and Denis' ideas on covering an immutable array
 in random order, I thought about it and came up with one algorithm, in
 addition to the obvious one that stores one integer per element (see
 Denis' code).
 Here's the algorithm. It stores one bit per element and takes O(n log n)
 time to cover a range of length n.
 1. Given a random-access range r of length n, create a bitmap with one
 bit per element in r. The range is initially all zeros.
 2. At each step, select a random index in the _original_ array, i.e. a
 random number in 0 .. r.length. Then walk upwards (with wrapping at the
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit
 = 1 and return the found element.
 3. The cover ends when all bits in the bitmap are 1.
 I did a ballpark complexity estimate by approximating the average number
 of steps in (2) with n / (n - k), where k is the number of 1s in the
 bitmap. IIRC the average number of steps to hit a 1 in a binomial
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total
 number of steps taken by the algo above is:
 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n
 - 1)) < O (n log n)
 Makes sense?
 If the range does not offer random access, I think this algorithm will
 have quadratic complexity because it needs to make a number of steps
 proportional to n at each iteration.
 Andrei
The concern I have with this scheme is that iterating over an array with this cover would not produce an unbiased distribution of permutations. A good shuffling algorithm will produce a perfectly uniform distribution over all possible permutations of the original range, assuming the underlying random number generator is unbiased. In other words, given an array of length N, every permutation should have an equal probability 1/N!. To get this unbiasedness, after selecting M values from a larger set N, the probabilities of selecting any of the remaining N - M elements as element M + 1 must be uniform. In this case, it is clearly not, since elements just after elements that have already been selected are "bigger targets". Similar problems exist for naive implementations of the Fisher-Yates algorithm (http://en.wikipedia.org/wiki/Fisher-Yates_shuffle). In other words, unless one is very careful, one will not get a truly unbiased, random permutation. That said, for certain applications, what you propose may be "random enough." However, if you do include it, please at least document that it is biased and should not be used for things like monte carlo simulations or gambling, where people might care.
I can't believe I fell for this. I knew Fisher-Yates and used it in randomShuffle! I won't put a subtly skewed distribution in the standard library. The quest for finding a random cover of an array with as little extra memory consumed and with good complexity is on! I'd appreciate any ideas.
The obvious baseline is to make an array with 0..n. Start on the left and swap with a random element to the right. That's O(n) for both speed and memory. O(n^2) runtime algorithms are easy with a bit array. I bet a special random generator could be built for O(1) memory at the sacrifice of less random sequences. I think it should be possible to pick seed numbers to a generator that will cycle through all values in a set order. I'll think more to see if I can come up with something creative.
Feb 12 2009
next sibling parent Jason House <jaaon.james.house gmail.com> writes:
Jason House Wrote:

 Andrei Alexandrescu Wrote:
 
 dsimcha wrote:
 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 Ok, following Leonardo's and Denis' ideas on covering an immutable array
 in random order, I thought about it and came up with one algorithm, in
 addition to the obvious one that stores one integer per element (see
 Denis' code).
 Here's the algorithm. It stores one bit per element and takes O(n log n)
 time to cover a range of length n.
 1. Given a random-access range r of length n, create a bitmap with one
 bit per element in r. The range is initially all zeros.
 2. At each step, select a random index in the _original_ array, i.e. a
 random number in 0 .. r.length. Then walk upwards (with wrapping at the
 end of the range) until you find a bit = 0 in the bitmap. Mark that bit
 = 1 and return the found element.
 3. The cover ends when all bits in the bitmap are 1.
 I did a ballpark complexity estimate by approximating the average number
 of steps in (2) with n / (n - k), where k is the number of 1s in the
 bitmap. IIRC the average number of steps to hit a 1 in a binomial
 distribution with p = (n - k) / n is 1/p. Right? In that case, the total
 number of steps taken by the algo above is:
 N = n / 1 + n / 2 + ... + n / (n - 1) = n * (1 + 1/2 + 1/3 + ... + 1/(n
 - 1)) < O (n log n)
 Makes sense?
 If the range does not offer random access, I think this algorithm will
 have quadratic complexity because it needs to make a number of steps
 proportional to n at each iteration.
 Andrei
The concern I have with this scheme is that iterating over an array with this cover would not produce an unbiased distribution of permutations. A good shuffling algorithm will produce a perfectly uniform distribution over all possible permutations of the original range, assuming the underlying random number generator is unbiased. In other words, given an array of length N, every permutation should have an equal probability 1/N!. To get this unbiasedness, after selecting M values from a larger set N, the probabilities of selecting any of the remaining N - M elements as element M + 1 must be uniform. In this case, it is clearly not, since elements just after elements that have already been selected are "bigger targets". Similar problems exist for naive implementations of the Fisher-Yates algorithm (http://en.wikipedia.org/wiki/Fisher-Yates_shuffle). In other words, unless one is very careful, one will not get a truly unbiased, random permutation. That said, for certain applications, what you propose may be "random enough." However, if you do include it, please at least document that it is biased and should not be used for things like monte carlo simulations or gambling, where people might care.
I can't believe I fell for this. I knew Fisher-Yates and used it in randomShuffle! I won't put a subtly skewed distribution in the standard library. The quest for finding a random cover of an array with as little extra memory consumed and with good complexity is on! I'd appreciate any ideas.
The obvious baseline is to make an array with 0..n. Start on the left and swap with a random element to the right. That's O(n) for both speed and memory.
Oops, that's wrong. It's O(n log(n)) for memory.
 O(n^2) runtime algorithms are easy with a bit array.
It's also possible to use a bit array for remembering what was picked but pick f(n) elements at a time. The memory is then O(n + log(n)f(n)) and the runtime >= O(n^2/f(n) + f(n)log(f(n))
 I bet a special random generator could be built for O(1) memory at the
sacrifice of less random sequences. I think it should be possible to pick seed
numbers to a generator that will cycle through all values in a set order.
 
 I'll think more to see if I can come up with something creative.
Feb 13 2009
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Jason House wrote:
 I bet a special random generator could be built for O(1) memory at
 the sacrifice of less random sequences. I think it should be possible
 to pick seed numbers to a generator that will cycle through all
 values in a set order.
 
 I'll think more to see if I can come up with something creative.
A linear congruential generator http://en.wikipedia.org/wiki/Linear_congruential_generator with the recurrence x[n] = (x[n-1] * a + c) % m has period exactly m if: a) c and m are relatively prime b) (a-1) divisible by all prime factors of m c) (m-1) % 4 == 0 <= (a-1) % 4 == 0 Now most of the times people want the period to be as long as possible so they choose m = 2^32 and work some "good" a and m from there. In our situation, m is given (the length of the input range) and we need to compute a and c. Here's a simple method: 1. Factor m into primes. Obtain arrays p[], the prime factors, and w[], their powers. For example, say m = 125, then p[] = [ 3, 5 ] and w[] = [ 1, 2 ]. 2. Replace each element w[i] with a number between 1 and w[i] inclusive. 3. Construct a1=a-1 as the pointwise product w[] * p[]. If m-1 is divisible by 4 and a1 is not, multiply a1 by 2 or 4 as needed. 4. Construct a = a1 + 1 5. Construct c as a product of random powers of prime numbers, paying attention that all powers of the primes in p[] are 0. Now we have a linear congruential generator that covers the range 0 .. m exactly. Andrei
Feb 13 2009
parent "Simen Kjaeraas" <simen.kjaras gmail.com> writes:
On Fri, 13 Feb 2009 15:23:07 +0100, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:

 1. Factor m into primes. Obtain arrays p[], the prime factors, and w[],  
 their powers. For example, say m = 125, then p[] = [ 3, 5 ] and w[] = [  
 1, 2 ].
You meant for m = 75, right? Otherwise, p[] = [ 5 ] and w[] = [ 3 ]. -- Simen
Feb 13 2009
prev sibling next sibling parent Jason House <jaaon.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 Jason House wrote:
 Andrei Alexandrescu Wrote: 
 No.  Your wording sounds like you're doing
 stuff that's way off, but the resulting math is correct.  My
 calculation would be based on the average length of a sequence of 1's
 (k/(n-k)).  That means the work is 1+k/(n-k) = n/(n-k).
Well my wording means this: in an array of length n with k "holes" randomly distributed, the probability one slot is a a no-hole is (n-k)/n. What we want is to find the first no-hole starting from a random position in the array. How many steps do we do on average? That is the same as the average number of steps of rolling a fair dice with (n-k) faces until we obtain a particular face. And the average number of steps is IIRC 1/p = n/(n-k).
 Given that O(n*log(n)) is the theoretical best you can do, having a
 result that is < O(n*log(n)) is highly suspect.  The sum 1/1 + 1/2 +
 1/3 + 1/4 + 1/5 + ... is in fact O(log(n)).
Ever so pedantic. :o) I meant "<=" because I wasn't aware of the best theoretical bound. Do you have a pointer? Thanks.
I was thinking of the theoretical bound on sorting being n*log(n) but that does not apply in this case. The bound on sum(1/x) is pretty simple. The discrete sampling of 1/n can be made into either an over or under approximation of the integral depending on how you shift the starting points. That means sum(1/x) = ln(n)+C, where is 0 < C < 1
 I have the feeling there is something clever to do after half of the
 array was covered. After that, the probability of a random element being
 uncovered falls below 0.5.
 
 I also have the feeling that interesting things can be done if the
 length of the range has certain values, such as the period of certain
 generators with certain parameters. I don't have the time to look into
 that now. Anyone versed in e.g. linear congruential generators with a
 given period?
 
 One way or another, I'll add RandomCover to std.random. Thanks Leonardo,
 Denis, Steve, and Jason.
 
 
 Andrei
Feb 13 2009
prev sibling next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu>The quest for finding a random cover of an array with as
little extra memory consumed and with good complexity is on!<

This thread is very long and complex, I am unable to understand where to start
reading, etc. So can someone explain the problem to me, so I may be able to
suggest some idea/code?

Bye and thank you,
bearophile
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is on!<
 
 
 This thread is very long and complex, I am unable to understand where
 to start reading, etc. So can someone explain the problem to me, so I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going through the same element more than once. Consume minimal amounts of memory and time. Baseline solution: allocate an array of indices, shuffle it, then follow indices stored in the array. Andrei
Feb 13 2009
next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is on!<


 This thread is very long and complex, I am unable to understand where
 to start reading, etc. So can someone explain the problem to me, so I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going through the same element more than once. Consume minimal amounts of memory and time. Baseline solution: allocate an array of indices, shuffle it, then follow indices stored in the array. Andrei
One important thing to add, since we already have a solution that would be good except for this requirement: The frequency with which each of the N! permutations of each array occur must be uniform.
Feb 13 2009
parent reply Jason House <jason.james.house gmail.com> writes:
dsimcha Wrote:

 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s article
 bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is on!<


 This thread is very long and complex, I am unable to understand where
 to start reading, etc. So can someone explain the problem to me, so I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going through the same element more than once. Consume minimal amounts of memory and time. Baseline solution: allocate an array of indices, shuffle it, then follow indices stored in the array. Andrei
One important thing to add, since we already have a solution that would be good except for this requirement: The frequency with which each of the N! permutations of each array occur must be uniform.
Believe it or not, that's an unreasonable requirement. IIRC, most RNG's have periods such as 2^32. You can't get more permutations than that. Somewhere in the ballpark of 17 elements, your requurement becones impossible to meet without a highly specialized RNG. I hope someone can prove me wrong about that!
Feb 13 2009
next sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Sat, 14 Feb 2009 02:34:48 +0300, Jason House <jason.james.house gmail.com>
wrote:

 dsimcha Wrote:

 == Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s  
 article
 bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is  
on!<
 This thread is very long and complex, I am unable to understand  
where
 to start reading, etc. So can someone explain the problem to me, so  
I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going
through
 the same element more than once. Consume minimal amounts of memory and
 time. Baseline solution: allocate an array of indices, shuffle it,  
then
 follow indices stored in the array.
 Andrei
One important thing to add, since we already have a solution that would be good except for this requirement: The frequency with which each of the N! permutations of each array occur must be uniform.
Believe it or not, that's an unreasonable requirement. IIRC, most RNG's have periods such as 2^32. You can't get more permutations than that. Somewhere in the ballpark of 17 elements, your requurement becones impossible to meet without a highly specialized RNG. I hope someone can prove me wrong about that!
You are wrong! It's 13 elements :p
Feb 13 2009
prev sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Jason House:
 Believe it or not, that's an unreasonable requirement. IIRC, most RNG's have
periods such as 2^32. You can't get more permutations than that. Somewhere in
the ballpark of 17 elements, your requurement becones impossible to meet
without a highly specialized RNG. I hope someone can prove me wrong about that!<
Mersenne Twister has a period much longer, if you want. For even longer permutations you have to generate them in a different way. Bye, bearophile
Feb 13 2009
parent Don <nospam nospam.com> writes:
bearophile wrote:
 Jason House:
 Believe it or not, that's an unreasonable requirement. IIRC, most RNG's have
periods such as 2^32. You can't get more permutations than that. Somewhere in
the ballpark of 17 elements, your requurement becones impossible to meet
without a highly specialized RNG. I hope someone can prove me wrong about that!<
Mersenne Twister has a period much longer, if you want. For even longer permutations you have to generate them in a different way. Bye, bearophile
I don't think the period of the generator is particularly important. The problem is, it'd be pretty hard to get the required number of random seed bits.
Feb 14 2009
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going through 
 the same element more than once. Consume minimal amounts of memory and 
 time. Baseline solution: allocate an array of indices, shuffle it, then 
 follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
Feb 13 2009
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going 
 through the same element more than once. Consume minimal amounts of 
 memory and time. Baseline solution: allocate an array of indices, 
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
This seems to work for forward ranges as well. I'll be darned. Andrei
Feb 13 2009
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in
 random order such that the entire array is visited without going
 through the same element more than once. Consume minimal amounts of
 memory and time. Baseline solution: allocate an array of indices,
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
This seems to work for forward ranges as well. I'll be darned. Andrei
what do you mean by "If the dice chooses a specific face"? I don't understand this wording..
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Yigal Chripun wrote:
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in
 random order such that the entire array is visited without going
 through the same element more than once. Consume minimal amounts of
 memory and time. Baseline solution: allocate an array of indices,
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
This seems to work for forward ranges as well. I'll be darned. Andrei
what do you mean by "If the dice chooses a specific face"? I don't understand this wording..
If you have a dice with 6 faces (the classic dice), a "specific face" means you bet the dice will show e.g. "1" after rolling. Andrei
Feb 13 2009
parent Yigal Chripun <yigal100 gmail.com> writes:
Andrei Alexandrescu wrote:
 Yigal Chripun wrote:
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in
 random order such that the entire array is visited without going
 through the same element more than once. Consume minimal amounts of
 memory and time. Baseline solution: allocate an array of indices,
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
This seems to work for forward ranges as well. I'll be darned. Andrei
what do you mean by "If the dice chooses a specific face"? I don't understand this wording..
If you have a dice with 6 faces (the classic dice), a "specific face" means you bet the dice will show e.g. "1" after rolling. Andrei
oh, ok, thanks for clarifying
Feb 14 2009
prev sibling next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Andrei Alexandrescu" wrote
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going through 
 the same element more than once. Consume minimal amounts of memory and 
 time. Baseline solution: allocate an array of indices, shuffle it, then 
 follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity.
This significantly increases the runtime by executing the random number algorithm up to k-1 times per element. How is this different than just a linear search through the sparse array for the random(0..k)th unused element? But I do concur that it provides a uniform map. However, wouldn't the worst runtime be O(n^2)? i.e. k + k-1 + k-2 + k-3... + 1 iterations == k *(k+1) / 2? I'm not sure if average runtime is going to be O(nlgn). -Steve
Feb 13 2009
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Steven Schveighoffer" wrote
 "Andrei Alexandrescu" wrote
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going 
 through the same element more than once. Consume minimal amounts of 
 memory and time. Baseline solution: allocate an array of indices, 
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity.
This significantly increases the runtime by executing the random number algorithm up to k-1 times per element. How is this different than just a linear search through the sparse array for the random(0..k)th unused element? But I do concur that it provides a uniform map. However, wouldn't the worst runtime be O(n^2)? i.e. k + k-1 + k-2 + k-3... + 1 iterations == k *(k+1) / 2? I'm not sure if average runtime is going to be O(nlgn).
Average runtime is still going to be O(n^2), because the average element chosen should be k / 2 elements into the range. -Steve
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Steven Schveighoffer wrote:
 "Steven Schveighoffer" wrote
 "Andrei Alexandrescu" wrote
 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going 
 through the same element more than once. Consume minimal amounts of 
 memory and time. Baseline solution: allocate an array of indices, 
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity.
This significantly increases the runtime by executing the random number algorithm up to k-1 times per element. How is this different than just a linear search through the sparse array for the random(0..k)th unused element? But I do concur that it provides a uniform map. However, wouldn't the worst runtime be O(n^2)? i.e. k + k-1 + k-2 + k-3... + 1 iterations == k *(k+1) / 2? I'm not sure if average runtime is going to be O(nlgn).
Average runtime is still going to be O(n^2), because the average element chosen should be k / 2 elements into the range.
So at some point there are k slots for grabs out of n. The number of steps taken is composed of some steps taken because of the already-taken slots, plus the number of steps taken because the dice tells me to ignore the slot even if it could be taken. The first number of steps is proportional to the number of taken slots, i.e. n-k. The second number of steps is proportional to the number of options, i.e. k. If you sum you get indeed O(n) per pass. Now let us consider the following improvement: whenever an element at the front of the array is taken, we eliminate all elements in the front that were taken already. That way there's no more need to skip each time over already-occupied slots. In other words, it is an invariant that the first slot we'll look at is not taken. How does this affect complexity? Andrei
Feb 13 2009
parent Steve Schveighoffer <schveiguy yahoo.com> writes:
On Fri, 13 Feb 2009 16:45:21 -0800, Andrei Alexandrescu wrote:

 Steven Schveighoffer wrote:
 Average runtime is still going to be O(n^2), because the average
 element chosen should be k / 2 elements into the range.
So at some point there are k slots for grabs out of n. The number of steps taken is composed of some steps taken because of the already-taken slots, plus the number of steps taken because the dice tells me to ignore the slot even if it could be taken. The first number of steps is proportional to the number of taken slots, i.e. n-k. The second number of steps is proportional to the number of options, i.e. k. If you sum you get indeed O(n) per pass. Now let us consider the following improvement: whenever an element at the front of the array is taken, we eliminate all elements in the front that were taken already. That way there's no more need to skip each time over already-occupied slots. In other words, it is an invariant that the first slot we'll look at is not taken. How does this affect complexity?
It does not affect the complexity. It is an optimization, but one that is proportional to n because k is proportional to n, so it gets factored out, and still becomes O(n). even if you removed the used elements so they are not traversed, you still get O(n^2) because of the linear search. -Steve
Feb 13 2009
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 Andrei Alexandrescu wrote:
 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going 
 through the same element more than once. Consume minimal amounts of 
 memory and time. Baseline solution: allocate an array of indices, 
 shuffle it, then follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue. 3. Continue walking until the next unselected element. 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, choose that unselected element. Otherwise continue from step 3 using dices with k-1, k-2, ..., 1 faces. This has O(n log n) complexity. There is one obvious optimization: eliminate the first selected elements so we don't need to walk over them at each iteration. It's unclear to me how this affects complexity. Andrei
This seems to work for forward ranges as well. I'll be darned. Andrei
Random ranges and forward ranges should have different implementations. Most notably, random ranges can avoid a lot of unnecessary calls to next.
Feb 13 2009
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 Andrei Alexandrescu wrote:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going through 
 the same element more than once. Consume minimal amounts of memory and 
 time. Baseline solution: allocate an array of indices, shuffle it, then 
 follow indices stored in the array.
Ok, here's something that should work. Start with array a of length a.length, allocate a bitmap with one bit per element in the map. Also the number of unselected elements left in the array is kept, call it k. To implement next(): 1. Walk from the beginning of the array to the first unselected element. 2. Roll a fair dice with k faces. If the dice chooses a specific face, choose that first unselected element. Otherwise continue.
Roll die to get x in 0..k. If x==0, select this element, otherwise decrement x.
 3. Continue walking until the next unselected element.
 
 4. Roll a fair dice with k-1 faces. If the dice chooses a specific face, 
 choose that unselected element. Otherwise continue from step 3 using 
 dices with k-1, k-2, ..., 1 faces.
If x==0, return element, otherwise decrement x. This trick saves a lot of random number generation.
 This has O(n log n) complexity. 
O(n^2).
 There is one obvious optimization: 
 eliminate the first selected elements so we don't need to walk over them 
 at each iteration. It's unclear to me how this affects complexity.
  
 Andrei
Feb 13 2009
prev sibling next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going through 
 the same element more than once. Consume minimal amounts of memory and 
 time. Baseline solution: allocate an array of indices, shuffle it, then 
 follow indices stored in the array.
I have faced such problem more than once, and I have tried to solve it in various ways. The faster solution was: - create an array of m bits, set to zero - Use a random generator to generate integer numbers in [0, m-1], if the corresponding big is set, extract another random number, if it's not set then set it, increment a counter, and return the array item that corresponds to the bit. - When about 90% of the bits is set, create an array with the remaining 10% items of the array, shuffle them in place with the usual algorithm by Knuth, and return them. This is faster than more complex alternatives, and doesn't use much memory. (In the recent past I have tried more complex alternatives, like creating a second bitarray, etc, but they are a waste of time). Bye, bearophile
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 Given an array of length m, return a range that iterates the array in 
 random order such that the entire array is visited without going through 
 the same element more than once. Consume minimal amounts of memory and 
 time. Baseline solution: allocate an array of indices, shuffle it, then 
 follow indices stored in the array.
I have faced such problem more than once, and I have tried to solve it in various ways. The faster solution was: - create an array of m bits, set to zero - Use a random generator to generate integer numbers in [0, m-1], if the corresponding big is set, extract another random number, if it's not set then set it, increment a counter, and return the array item that corresponds to the bit. - When about 90% of the bits is set, create an array with the remaining 10% items of the array, shuffle them in place with the usual algorithm by Knuth, and return them.
A quadratic algorithm applied to a fixed fraction of the input size will still yield quadratic behavior. I understand how your solution may be practical for a variety of needs, but if something is to be put in Phobos, we need something principled. Andrei
Feb 13 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 A quadratic algorithm applied to a fixed fraction of the input size will 
 still yield quadratic behavior.
It's not quadratic, an in-place shuffling done right, by Knuth algorithm, is linear. I have a linear shuffling in my dlibs too. http://en.wikipedia.org/wiki/Shuffling (And my name is bearophile, thank you). Bye, bearophile
Feb 13 2009
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 A quadratic algorithm applied to a fixed fraction of the input size will 
 still yield quadratic behavior.
It's not quadratic, an in-place shuffling done right, by Knuth algorithm, is linear. I have a linear shuffling in my dlibs too. http://en.wikipedia.org/wiki/Shuffling
Well we were discussing how to tackle the algorithm that does not touch the original array/range. Andrei
Feb 13 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 Well we were discussing how to tackle the algorithm that does not touch 
 the original array/range.
What I have said so far applies still: at the end instead of copying the remaining 10% of the items, create an array of the indexes of those 10%, and then shuffle that. Bye, bearophile
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 Well we were discussing how to tackle the algorithm that does not touch 
 the original array/range.
What I have said so far applies still: at the end instead of copying the remaining 10% of the items, create an array of the indexes of those 10%, and then shuffle that.
I understood that. My problem is that a quadratic algorithm is applied to 0.9 of the input. That makes overall behavior quadratic even if you complete the last 10% in no time. Andrei
Feb 13 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 I understood that. My problem is that a quadratic algorithm is applied 
 to 0.9 of the input. That makes overall behavior quadratic even if you 
 complete the last 10% in no time.
No part of the algorithm I have shown is quadratic, I think. Bye, bearophile
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 I understood that. My problem is that a quadratic algorithm is applied 
 to 0.9 of the input. That makes overall behavior quadratic even if you 
 complete the last 10% in no time.
No part of the algorithm I have shown is quadratic, I think.
Your algo is: ========= - create an array of m bits, set to zero - Use a random generator to generate integer numbers in [0, m-1], if the corresponding big is set, extract another random number, if it's not set then set it, increment a counter, and return the array item that corresponds to the bit. - When about 90% of the bits is set, [... alternate impl ...] ========== Say at some point there are k available (not taken) slots out of "n". There is a k/n chance that a random selection finds an unoccupied slot. The average number of random trials needed to find an unoccupied slot is proportional to 1/(k/n) = n/k. So the total number of random trials to span the entire array is quadratic. Multiplying that by 0.9 leaves it quadratic. Andrei
Feb 13 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
 Say at some point there are k available (not taken) slots out of "n". 
 There is a k/n chance that a random selection finds an unoccupied slot. 
 The average number of random trials needed to find an unoccupied slot is 
 proportional to 1/(k/n) = n/k. So the total number of random trials to 
 span the entire array is quadratic. Multiplying that by 0.9 leaves it 
 quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere. Bye, bearophile
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Andrei Alexandrescu:
 Say at some point there are k available (not taken) slots out of
 "n". There is a k/n chance that a random selection finds an
 unoccupied slot. The average number of random trials needed to find
 an unoccupied slot is proportional to 1/(k/n) = n/k. So the total
 number of random trials to span the entire array is quadratic.
 Multiplying that by 0.9 leaves it quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere.
Well I don't buy it. If you make a point, you need to be more precise than such hand-waving. It's not like in hashing. It's like in the algorithm we discuss. If you make a clear point that your performance is better than O(n*n) by stopping at 90% then make it. I didn't go through much formalism, but my napkin says you're firmly in quadratic territory. Andrei
Feb 13 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu <
SeeWebsiteForEmail erdani.org> wrote:

 bearophile wrote:

 Andrei Alexandrescu:

 Say at some point there are k available (not taken) slots out of
 "n". There is a k/n chance that a random selection finds an
 unoccupied slot. The average number of random trials needed to find
 an unoccupied slot is proportional to 1/(k/n) = n/k. So the total
 number of random trials to span the entire array is quadratic.
 Multiplying that by 0.9 leaves it quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere.
Well I don't buy it. If you make a point, you need to be more precise than such hand-waving. It's not like in hashing. It's like in the algorithm we discuss. If you make a clear point that your performance is better than O(n*n) by stopping at 90% then make it. I didn't go through much formalism, but my napkin says you're firmly in quadratic territory.
Well he has a point that the number of trials required to find an empty depends not on the absolute number of empty items, but only the ratio of empties to fulls. Even your own claim about average number of trials was n/k -- not sure how you got that though. If he stops when that reaches a maximum of 9 then the algo can't be quadratic up to that point. It's O(n) expected, with a possibly fairly high hidden constant. It also has a fairly long tail, as in there's a small probability of it taking a very long time to complete. --bb
Feb 13 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu 
 <SeeWebsiteForEmail erdani.org <mailto:SeeWebsiteForEmail erdani.org>> 
 wrote:
 
     bearophile wrote:
 
         Andrei Alexandrescu:
 
             Say at some point there are k available (not taken) slots out of
             "n". There is a k/n chance that a random selection finds an
             unoccupied slot. The average number of random trials needed
             to find
             an unoccupied slot is proportional to 1/(k/n) = n/k. So the
             total
             number of random trials to span the entire array is quadratic.
             Multiplying that by 0.9 leaves it quadratic.
 
 
         It's like in hashing: if you want to fill 99% of the available space
         in a hash, then you take ages to find empty slots. But if you
         fill it
         only at 75-90%, then on average you need only one or two tries to
         find an empty slot. So your time is linear, with a small
         multiplicative constant. When the slots start to get mostly
         full, you
         change algorithm, copying the empty slots elsewhere.
 
 
     Well I don't buy it. If you make a point, you need to be more
     precise than such hand-waving. It's not like in hashing. It's like
     in the algorithm we discuss. If you make a clear point that your
     performance is better than O(n*n) by stopping at 90% then make it. I
     didn't go through much formalism, but my napkin says you're firmly
     in quadratic territory.
 
  
 Well he has a point that the number of trials required to find an empty 
 depends not on the absolute number of empty items, but only the ratio of 
 empties to fulls.   Even your own claim about average number of trials 
 was n/k -- not sure how you got that though.
If you toss a N-side dice hoping for a specific face to show up (and stopping afterwards), how many times do you have to toss it on average? I recall (without being sure) that you need to toss it a number of times proportional to N. Could anyone confirm or deny? Now, assuming the above is true, say we decide to do the linear search for a fraction f of the n elements in the array. The average number of steps will be: S = n * (1/n + 1/(n - 1) + 1/(n - 2) + ... + 1/(n - fn)) So we're looking for the harmonic series that does not start from 1, but instead starts from its fn'th term (you drop the first (1-f)n terms). Does it converge? (I don't know.) Andrei
Feb 13 2009
parent reply Bill Baxter <wbaxter gmail.com> writes:
On Sat, Feb 14, 2009 at 2:20 PM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org <mailto:SeeWebsiteForEmail erdani.org>>
 wrote:

    bearophile wrote:

        Andrei Alexandrescu:

            Say at some point there are k available (not taken) slots out
 of
            "n". There is a k/n chance that a random selection finds an
            unoccupied slot. The average number of random trials needed
            to find
            an unoccupied slot is proportional to 1/(k/n) = n/k. So the
            total
            number of random trials to span the entire array is quadratic.
            Multiplying that by 0.9 leaves it quadratic.


        It's like in hashing: if you want to fill 99% of the available
 space
        in a hash, then you take ages to find empty slots. But if you
        fill it
        only at 75-90%, then on average you need only one or two tries to
        find an empty slot. So your time is linear, with a small
        multiplicative constant. When the slots start to get mostly
        full, you
        change algorithm, copying the empty slots elsewhere.


    Well I don't buy it. If you make a point, you need to be more
    precise than such hand-waving. It's not like in hashing. It's like
    in the algorithm we discuss. If you make a clear point that your
    performance is better than O(n*n) by stopping at 90% then make it. I
    didn't go through much formalism, but my napkin says you're firmly
    in quadratic territory.

  Well he has a point that the number of trials required to find an empty
 depends not on the absolute number of empty items, but only the ratio of
 empties to fulls.   Even your own claim about average number of trials was
 n/k -- not sure how you got that though.
If you toss a N-side dice hoping for a specific face to show up (and stopping afterwards), how many times do you have to toss it on average? I recall (without being sure) that you need to toss it a number of times proportional to N. Could anyone confirm or deny?
The probability of *not* getting the number after t tries is (1-1/n)^t, so it's just a pure decaying exponential, the chance of getting it after t tries should be 1 minus that. The average number of tries is going to be some kind of integral of that curve, and an integral of an exponential is still an exponential, so it seems unlikely to me that your memory was correct on this one.
 Now, assuming the above is true, say we decide to do the linear search for a
 fraction f of the n elements in the array.
Maybe you were switching subjects (to your algorithm?) here, but just to be clear, Bearophile didn't say anything about doing a linear search. His first phase is just to do repeated dart-throwing trials till an empty is found.
. The average number of steps will
 be:

 S = n * (1/n + 1/(n - 1) + 1/(n - 2) + ... + 1/(n - fn))

 So we're looking for the harmonic series that does not start from 1, but
 instead starts from its fn'th term (you drop the first (1-f)n terms). Does
 it converge? (I don't know.)
In the limit of what? You seem to be asking if a finite series converges. --bb
Feb 13 2009
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 2:20 PM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org <mailto:SeeWebsiteForEmail erdani.org>>
 wrote:

    bearophile wrote:

        Andrei Alexandrescu:

            Say at some point there are k available (not taken) slots out
 of
            "n". There is a k/n chance that a random selection finds an
            unoccupied slot. The average number of random trials needed
            to find
            an unoccupied slot is proportional to 1/(k/n) = n/k. So the
            total
            number of random trials to span the entire array is quadratic.
            Multiplying that by 0.9 leaves it quadratic.


        It's like in hashing: if you want to fill 99% of the available
 space
        in a hash, then you take ages to find empty slots. But if you
        fill it
        only at 75-90%, then on average you need only one or two tries to
        find an empty slot. So your time is linear, with a small
        multiplicative constant. When the slots start to get mostly
        full, you
        change algorithm, copying the empty slots elsewhere.


    Well I don't buy it. If you make a point, you need to be more
    precise than such hand-waving. It's not like in hashing. It's like
    in the algorithm we discuss. If you make a clear point that your
    performance is better than O(n*n) by stopping at 90% then make it. I
    didn't go through much formalism, but my napkin says you're firmly
    in quadratic territory.

  Well he has a point that the number of trials required to find an empty
 depends not on the absolute number of empty items, but only the ratio of
 empties to fulls.   Even your own claim about average number of trials was
 n/k -- not sure how you got that though.
If you toss a N-side dice hoping for a specific face to show up (and stopping afterwards), how many times do you have to toss it on average? I recall (without being sure) that you need to toss it a number of times proportional to N. Could anyone confirm or deny?
The probability of *not* getting the number after t tries is (1-1/n)^t, so it's just a pure decaying exponential, the chance of getting it after t tries should be 1 minus that. The average number of tries is going to be some kind of integral of that curve, and an integral of an exponential is still an exponential, so it seems unlikely to me that your memory was correct on this one.
Your handwaving ain't much better than my memory. Hey, either somebody goes through the math over here or we can give up on the whole thing and use O(n) storage for the blessed thing. Andrei
Feb 13 2009
parent reply bearophile <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:
Well I don't buy it. If you make a point, you need to be more precise than such
hand-waving.<
You are of right, but I am not able to give you good math here. (I have used that algorithm to extract all the possible uints, in few minutes and with less than 1GB of RAM. That, plus my experience with hashes, tells me that this algorithm is good enough. If you want I can also implement it agan and test it with a growing number of items, to see from the graph of the timings if it's indeed linear.) Bill B.:
.. the real gotcha is that he's using O(n) extra memory. 10% of n is still O(n)
memory for shuffling the last 10% of the items.<
No, you are wrong, in real computers using 110% of the memory needed to store your n items is generally acceptable. Andrei Alexandrescu:
Your handwaving ain't much better than my memory. Hey, either somebody goes
through the math over here or we can give up on the whole thing and use O(n)
storage for the blessed thing.<
We can implement both, and we can look what's better in practical situations. Bye, bearophile
Feb 14 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Sat, Feb 14, 2009 at 8:28 PM, bearophile <bearophileHUGS lycos.com> wrot=
e:
 Andrei Alexandrescu:
Well I don't buy it. If you make a point, you need to be more precise tha=
n such hand-waving.<
 You are of right, but I am not able to give you good math here.
 (I have used that algorithm to extract all the possible uints, in few min=
utes and with less than 1GB of RAM. That, plus my experience with hashes, t= ells me that this algorithm is good enough. If you want I can also implemen= t it agan and test it with a growing number of items, to see from the graph= of the timings if it's indeed linear.)
 Bill B.:
.. the real gotcha is that he's using O(n) extra memory. 10% of n is stil=
l O(n) memory for shuffling the last 10% of the items.<
 No, you are wrong, in real computers using 110% of the memory needed to s=
tore your n items is generally acceptable. Yah, I just meant it was a big-oh gotcha. Though I guess now that I think of it the bit array is also using O(N) extra memory, too. I agree that big oh doesn't always give you a very good picture of how an algorithm will perform in practice. Big-oh completely ignores very important aspects like cache effects and physical memory limitations on practical problem sizes. I found a pdf[1] that has a summary of the probabilities associated with finding empty slots in the context of hashing. If I'm reading it right, if you have a load factor (fraction full) of f, then it's expected it will take you 1/(1-f) trials to get an empty if you just continue picking randomly one after the other. --bb [1] http://www.cse.unsw.edu.au/~cs2011/lect/2711_HashProbe-4.pdf
Feb 14 2009
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
Bill Baxter:
 if you have a load factor (fraction full) of
 f, then it's expected it will take you 1/(1-f) trials to get an empty
 if you just continue picking randomly one after the other.
That goes well with my practical experience. So instead of 90% it may be better to use 85%, this percentage has to be tuned. Bye, bearophile
Feb 14 2009
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Bill Baxter wrote:
 I found a pdf[1] that has a summary of the probabilities associated
 with finding empty slots in the context of hashing.
 If I'm reading it right, if you have a load factor (fraction full) of
 f, then it's expected it will take you 1/(1-f) trials to get an empty
 if you just continue picking randomly one after the other.
 
 --bb
 [1] http://www.cse.unsw.edu.au/~cs2011/lect/2711_HashProbe-4.pdf
Thank you, that's exactly the explanation I was looking for. Andrei
Feb 14 2009
prev sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
bearophile wrote:
 Andrei Alexandrescu:
 Your handwaving ain't much better than my memory. Hey, either somebody goes
through the math over here or we can give up on the whole thing and use O(n)
storage for the blessed thing.<
We can implement both, and we can look what's better in practical situations.
Agreed. Worst-case quadratic can perform much better in many circumstances, and the proposed algorithm is tunable. Or as an alternative, when you have hit (say) half the elements, you copy over the remaining elements and repeat. This gives you an amortized O(n log n) algorithm, with O(n log n) allocated memory.
 Bye,
 bearophile
Feb 14 2009
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Christopher Wright:
 Agreed. Worst-case quadratic can perform much better in many 
 circumstances, and the proposed algorithm is tunable.
I think it's not quadratic :-) (See the answer by Bill B.)
 Or as an alternative, when you have hit (say) half the elements, you 
 copy over the remaining elements and repeat. This gives you an amortized 
 O(n log n) algorithm, with O(n log n) allocated memory.
There are some variants of that algorithm designed to be recursive, like you say. I have tried them, and they are slower, etc. That's why I have shown here the simpler version. Sometimes more complex algorithms aren't better. Bye, bearophile
Feb 14 2009
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
bearophile wrote:
 Christopher Wright:
 Agreed. Worst-case quadratic can perform much better in many 
 circumstances, and the proposed algorithm is tunable.
I think it's not quadratic :-) (See the answer by Bill B.)
I don't think that answer answers the question. Andrei
Feb 14 2009
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Christopher Wright wrote:
 bearophile wrote:
 Andrei Alexandrescu:
 Your handwaving ain't much better than my memory. Hey, either 
 somebody goes through the math over here or we can give up on the 
 whole thing and use O(n) storage for the blessed thing.<
We can implement both, and we can look what's better in practical situations.
Agreed. Worst-case quadratic can perform much better in many circumstances, and the proposed algorithm is tunable.
I think if we want to look like professionals we're not going to do that. History of computing is full of embarrassing quadratic algorithms failing miserably when advances in storage capacity or simply data set growth within the original program showed their pernicious tendencies. I have authored such a program when I was a student :o). Andrei
Feb 14 2009
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 2:20 PM, Andrei Alexandrescu
 The probability of *not* getting the number after t tries is
 (1-1/n)^t, so it's just a pure decaying exponential, the chance of
 getting it after t tries should be 1 minus that.  The average number
 of tries is going to be some kind of integral of that curve, and an
 integral of an exponential is still an exponential, so it seems
 unlikely to me that your memory was correct on this one.
Thanks for finding the pdf with the calculation. It looks like this old brain can still remember something :o).
 Now, assuming the above is true, say we decide to do the linear search for a
 fraction f of the n elements in the array.
Maybe you were switching subjects (to your algorithm?) here, but just to be clear, Bearophile didn't say anything about doing a linear search. His first phase is just to do repeated dart-throwing trials till an empty is found.
I meant random trials. What I was saying was that it takes linear time to hit an element.
 . The average number of steps will
 be:

 S = n * (1/n + 1/(n - 1) + 1/(n - 2) + ... + 1/(n - fn))

 So we're looking for the harmonic series that does not start from 1, but
 instead starts from its fn'th term (you drop the first (1-f)n terms). Does
 it converge? (I don't know.)
In the limit of what? You seem to be asking if a finite series converges.
S is the average number of steps taken to finishing the task. I'm looking for a bound on that number of steps. With the clear Saturday morning outlook, it seems that it's in any case better than O(n log n), which means that bearophile was right - it's not quadratic. But I've been wrong a number of times on this because I keep on trying to convince someone else to do the math, so someone please confirm :o). Andrei
Feb 14 2009
prev sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Sat, Feb 14, 2009 at 1:17 PM, Bill Baxter <wbaxter gmail.com> wrote:

 On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu <
 SeeWebsiteForEmail erdani.org> wrote:

 bearophile wrote:

 Andrei Alexandrescu:

 Say at some point there are k available (not taken) slots out of
 "n". There is a k/n chance that a random selection finds an
 unoccupied slot. The average number of random trials needed to find
 an unoccupied slot is proportional to 1/(k/n) = n/k. So the total
 number of random trials to span the entire array is quadratic.
 Multiplying that by 0.9 leaves it quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere.
Well I don't buy it. If you make a point, you need to be more precise than such hand-waving. It's not like in hashing. It's like in the algorithm we discuss. If you make a clear point that your performance is better than O(n*n) by stopping at 90% then make it. I didn't go through much formalism, but my napkin says you're firmly in quadratic territory.
Well he has a point that the number of trials required to find an empty depends not on the absolute number of empty items, but only the ratio of empties to fulls. Even your own claim about average number of trials was n/k -- not sure how you got that though. If he stops when that reaches a maximum of 9 then the algo can't be quadratic up to that point. It's O(n) expected, with a possibly fairly high hidden constant. It also has a fairly long tail, as in there's a small probability of it taking a very long time to complete.
... the real gotcha is that he's using O(n) extra memory. 10% of n is still O(n) memory for shuffling the last 10% of the items. --bb
Feb 13 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello bearophile,

 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means? At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. If you don't know what I'm talking about, then I ask you consider carefully the implications of some of your the creature fantasies that you blog about. I'm surprised nobody else has complained. Or maybe I should not be so surprised considering how politically incorrect it is to challenge any ideology (or fantasy, for that matter) even if it be so morally bankrupt so as to be considered extreme indeceny and deviance by any number of different cultural standards. The implications there as graphically displayed, while not quite clear, are in the direction of bestiality... and if not, are confused enough as to be presumptiously indifferent to any ethical question about the horrible nature of it. You are not doubt quite bright, as your other interests and participation in D design have made clearly evident. But I just can't believe such content is so closely linked to this group and the D design process. I should think you would be embarrassed. I know I am to have been subjected to it. If you're shocked that I'm confronting you openly on this, the reason lies squarely in the fact that you are boldly and unashamedly displaying the material in a site that is linked here multiple times; and I believe such boldness warrants the same measure of confrontation in return. I hope you will change your mind about the material. I'd wish both your mind on the matter and the material would completely change, but I don't have the right to request much more than that you disassociate it completely with your dealings with D, so that those it concerns don't have to be involved in the particulars of your fantasies whenever you link your site here. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore. For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident. -JJR
Feb 14 2009
next sibling parent grauzone <none example.net> writes:
I had to think some seconds about your post, but now I think it's irony. 
I'm not quite sure, though. Could you tell me the answer?
Feb 14 2009
prev sibling next sibling parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Sat, Feb 14, 2009 at 2:10 PM, John Reimer <terminal.node gmail.com> wrote:
 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means? At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. If you don't know what I'm talking about, then I ask you consider carefully the implications of some of your the creature fantasies that you blog about. I'm surprised nobody else has complained. Or maybe I should not be so surprised considering how politically incorrect it is to challenge any ideology (or fantasy, for that matter) even if it be so morally bankrupt so as to be considered extreme indeceny and deviance by any number of different cultural standards. The implications there as graphically displayed, while not quite clear, are in the direction of bestiality... and if not, are confused enough as to be presumptiously indifferent to any ethical question about the horrible nature of it. You are not doubt quite bright, as your other interests and participation in D design have made clearly evident. But I just can't believe such content is so closely linked to this group and the D design process. I should think you would be embarrassed. I know I am to have been subjected to it. If you're shocked that I'm confronting you openly on this, the reason lies squarely in the fact that you are boldly and unashamedly displaying the material in a site that is linked here multiple times; and I believe such boldness warrants the same measure of confrontation in return. I hope you will change your mind about the material. I'd wish both your mind on the matter and the material would completely change, but I don't have the right to request much more than that you disassociate it completely with your dealings with D, so that those it concerns don't have to be involved in the particulars of your fantasies whenever you link your site here. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore. For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident.
He's what's called a furry. Welcome to the internet, I suppose you've been living under a rock.
Feb 14 2009
prev sibling next sibling parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Sat, Feb 14, 2009 at 2:54 PM, Jarrett Billingsley
<jarrett.billingsley gmail.com> wrote:
 He's what's called a furry.  Welcome to the internet, I suppose you've
 been living under a rock.
This isn't meant to be an attack, but a snarky observation :P
Feb 14 2009
prev sibling next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
John Reimer wrote:
 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means? At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. If you don't know what I'm talking about, then I ask you consider carefully the implications of some of your the creature fantasies that you blog about. I'm surprised nobody else has complained. Or maybe I should not be so surprised considering how politically incorrect it is to challenge any ideology (or fantasy, for that matter) even if it be so morally bankrupt so as to be considered extreme indeceny and deviance by any number of different cultural standards. The implications there as graphically displayed, while not quite clear, are in the direction of bestiality... and if not, are confused enough as to be presumptiously indifferent to any ethical question about the horrible nature of it. You are not doubt quite bright, as your other interests and participation in D design have made clearly evident. But I just can't believe such content is so closely linked to this group and the D design process. I should think you would be embarrassed. I know I am to have been subjected to it. If you're shocked that I'm confronting you openly on this, the reason lies squarely in the fact that you are boldly and unashamedly displaying the material in a site that is linked here multiple times; and I believe such boldness warrants the same measure of confrontation in return. I hope you will change your mind about the material. I'd wish both your mind on the matter and the material would completely change, but I don't have the right to request much more than that you disassociate it completely with your dealings with D, so that those it concerns don't have to be involved in the particulars of your fantasies whenever you link your site here. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore. For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident. -JJR
What content are you refering to? I don't know Italian, but I didn't see anything like what you imply in English.
Feb 14 2009
parent BCS <none anon.com> writes:
Hello Yigal,

 What content are you refering to? I don't know Italian, but I didn't
 see anything like what you imply in English.
 
pick a url of his and start knocking the end bits off.
Feb 14 2009
prev sibling next sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
John Reimer wrote:
 Hello bearophile,
 
 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Feb 14 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Christopher,

 John Reimer wrote:
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from? I'd say your forcing your philosophy on me. That's not very nice. :) I do wonder how far you take this way of thinking. I'm sure this solution has caused more problems then it's solved since you alone must hold the key to the definition of "actively evil". Or maybe you don't, and there is no such thing? Then I suppose it's good to turn a blind eye to everything? Anyway, my point is that I had no cause to presume anything about his name without content from his site. If he is able to publicly and actively promote his desired lifestyle, then I most surely am able to reject or refute it, correct? What perhaps you should have suggested is that he keep his private lifestyle private if he didn't want to be confronted about it, right? Apparently, it's nobody's right to question anything. Does that make sense? Then while someone has the right to actively promote his/her amberrant lifestyle, another has to keep tight-lipped about it so as to not interfere... meaning they are not allowed to promote their own views. Kind of once-sided. I'm sure marketing people love people like you. :) Interestingly, D design would never succeed under such a system, would it? -JJR
Feb 14 2009
next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Sat, Feb 14, 2009 at 7:24 PM, John Reimer <terminal.node gmail.com> wrote:
 Hello Christopher,

 John Reimer wrote:

 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from? I'd say your forcing your philosophy on me. That's not very nice. :)
Just how many peoples' characters are you going to assassinate before you feel vindicated, anyway?
Feb 14 2009
next sibling parent John Reimer <terminal.node gmail.com> writes:
Hello Jarrett,

 On Sat, Feb 14, 2009 at 7:24 PM, John Reimer <terminal.node gmail.com>
 wrote:
 
 Hello Christopher,
 
 John Reimer wrote:
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from? I'd say your forcing your philosophy on me. That's not very nice. :)
Just how many peoples' characters are you going to assassinate before you feel vindicated, anyway?
I needn't assassinate any characters, Jarrett. If you claim that this is some sort of character assassination, then you admit that what he is doing is wrong. If what he is doing is not wrong, then there is nothing to even come close to character assination. Your own perception is what is judging his character. Certainly, from my worldview, I can believe it is very wrong. That's why I say something about it. But it appears to be the manner these days to defend all manner of "alternative" lifestyles... or to turn a blind eye to the evidencial results which shows broken lives when such things are pursued. I do think it is showing care to point these things out. You continually fail to see that promotion of this kind of material is not representative of any form of passivity. -JJR
Feb 14 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Jarrett,

 And where does this "rule" of yours come from?  I'd say your forcing
 your philosophy on me. That's not very nice. :)
 
Just how many peoples' characters are you going to assassinate before you feel vindicated, anyway?
Oh... BTW, the implication here is that I assassinate a lot of characters. I would question this conclusion. I am in no such habit, although I do often assassinate my own privately. I have stepped in to try to STOP altercations in here on many occasions and have sometimes been direct even with those I consider my friends. I've also admitted where I have been wrong or indiscrete. But I must say that this is actually a little strange coming from you, Jarrett, though you have improved a lot over the years. I invite anyone here who feels so to freely state that I should remove myself from the list if they so desire that such confrontations not occur in the future. No, not martyr syndrome... Complete practicality in the matter. It's not worth it for me to pursue it here any longer if no-one can see what I am warning against. I have no problems with such a request. -JJR
Feb 14 2009
next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Sat, Feb 14, 2009 at 10:13 PM, John Reimer <terminal.node gmail.com> wrote:
 Oh... BTW, the implication here is that I assassinate a lot of characters. I
 would question this conclusion.  I am in no such habit, although I do often
 assassinate my own privately.
I was just referring to within this thread.
 I have stepped in to try to STOP altercations in here on many occasions and
 have sometimes been direct even with those I consider my friends.  I've also
 admitted where I have been wrong or indiscrete.

 But I must say that this is actually a little strange coming from you,
 Jarrett, though you have improved a lot over the years.
I'll let that one slide.
 I invite anyone here who feels so to freely state that I should remove
 myself from the list if they so desire that such confrontations not occur in
 the future.  No, not martyr syndrome...  Complete practicality in the
 matter. It's not worth it for me to pursue it here any longer if no-one can
 see what I am warning against.
I don't think you should. I think that you're usually a pretty level-headed guy and it frankly shocks me to see what you're doing here. Why? I don't claim to speak for anyone else, but here at least are my reasons. - Content on the Internet is, at least in the US and probably many/most other countries, protected by free speech. Both the CDA and COPA were struck down based on first amendment rights violations. What bearophile has on his site is far, far tamer than just about anything else on the Internet, and while I don't know if that argument will wash with you, what he has on his site is his decision, not yours or anyone else's. - If you want to draw comparison to the superdan/tytower incidents, this is far different. They brought their foul language and racist attitudes to the newsgroups. bearophile has not done or said anything here about anything other than D. What you've done is dragged out his personal life into the public view, laughed, pointed, spoke of fire and brimstone, and expected others to do the same. Forgive me for not being so cruel as that. - I have heard and read the same tired story a million times about how moral values are decaying and the whole world is going to hell in a handbasket. I read it today. I read it in a Japanese novel written a millenium ago. I read it in the Bible written longer ago than that. I read it in Greek writings from longer ago than even that. And you know what? It just doesn't seem to be coming true. If anything the world has become far kinder and more moral as time has gone on. Besides, what do you care how people live when you're gone? What say do you have in how people of the future will live their lives? I am obviously much more socially liberal than you are. But does that somehow make me a friend of the Devil? I'd say _you_ are the one forcing _your_ philosophy on others in this case. I know that you will go to bed tonight praying for my soul. Please don't. I don't need your, God's, or anyone else's pity. I've chosen my path in life just as you have yours. God will judge me as he will, and I am prepared to accept any consequences (if any of that is actually true).
Feb 14 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Jarrett,

 On Sat, Feb 14, 2009 at 10:13 PM, John Reimer
 <terminal.node gmail.com> wrote:
 
 Oh... BTW, the implication here is that I assassinate a lot of
 characters. I would question this conclusion.  I am in no such habit,
 although I do often assassinate my own privately.
 
I was just referring to within this thread.
 I have stepped in to try to STOP altercations in here on many
 occasions and have sometimes been direct even with those I consider
 my friends.  I've also admitted where I have been wrong or
 indiscrete.
 
 But I must say that this is actually a little strange coming from
 you, Jarrett, though you have improved a lot over the years.
 
I'll let that one slide.
 I invite anyone here who feels so to freely state that I should
 remove myself from the list if they so desire that such
 confrontations not occur in the future.  No, not martyr syndrome...
 Complete practicality in the matter. It's not worth it for me to
 pursue it here any longer if no-one can see what I am warning
 against.
 
I don't think you should. I think that you're usually a pretty level-headed guy and it frankly shocks me to see what you're doing here. Why? I don't claim to speak for anyone else, but here at least are my reasons.
It was a gamble for what I considered an extreme situation. I work hard to regulate my personality and manner here (and elsewhere), but, like I said, I believe somethings must be addressed... sometimes they come across completely lacking in elegance and discretion. Believe me, please, when I say I care very much for people. Sometimes there seems no easy way to speak what I believe is the truth. I think you might understand that even more than I do.
 - Content on the Internet is, at least in the US and probably
 many/most other countries, protected by free speech.  Both the CDA and
 COPA were struck down based on first amendment rights violations.
 What bearophile has on his site is far, far tamer than just about
 anything else on the Internet, and while I don't know if that argument
 will wash with you, what he has on his site is his decision, not yours
 or anyone else's.
No, it will not wash completely. I speak frankly to help him understand that this material is very closely accessible to the grand majority of people that come to D (of all ages). Andrei links to his site in the Phobos2 reference. If you don't see that most places are very careful to show courtesy in protecting others' freedom to NOT see this kind of material, I don't know what to say. We'll see where D goes with this sort of leniency. Furthermore, just because the internet is falling apart in some of these manners, does that mean we follow the general example of some of the worst aspects of it? Where is D's attempt to rise above this? Does the D design process follow such a poor example to guide it's own design progress? Should it always say it's mistakes are far "tamer" than C++'s, therefore it's ok? Ouch. Secondly, the funny thing about free speech on the interent is that it serves more as a vehicle for the push marketers and revelers than those that use it responsibly. It's not so free after all... It just gives us a very fuzzy feeling of "niceness". I don't claim to know the solution to that, but I do /know/ the internet is getting worse and not so well in the general public's favour. If you don't think laws that protect this free speech also somehow can aid the compromise of privacy of individuals, you are not seeing the whole picture of it.
 - If you want to draw comparison to the superdan/tytower incidents,
 this is far different.  They brought their foul language and racist
 attitudes to the newsgroups.  bearophile has not done or said anything
 here about anything other than D.  What you've done is dragged out his
 personal life into the public view, laughed, pointed, spoke of fire
 and brimstone, and expected others to do the same.  
Wait a minute there... you defend his free speech for public display of his own material and then you say my actions publicize his private affairs?! Come on, Jarrett. This is inconsistant. Furthermore, you assume that such an address hurts him. What if he doesn't see any wrong in it? Why should it hurt him? Does his conscience have something to say about it? I hope at least a little, but not to hurt him... just so he understands that his are not the only feelings out there that are important. There is a whole world out there greater than ourselves. Nope... I merely brought the significance of it to light. It was already there... somehow, indiscretely ummentioned around here as if nobody cares. There's nothing to be laughed at if he is completely proud of displaying it publicly on the internet. If it's laughed at, I'm sorry to hear that. It's not funny. But frankly, he displays it publicly, is confident enough to allow links to made in the Phobos2 reference manual etc... so I don't know how you think anything I accomplish will achieve something I don't intend. I do hope to put on some pressure so that it will AT LEAST be removed from the general public and D's radar. That is my goal.
Forgive me for not
 being so cruel as that.
 
No, you've been cruel in the situations that have befitted you. I would carefully consider the rebuke if it came from a person that was consistant in that manner. (sorry... had to be direct on this one).
 - I have heard and read the same tired story a million times about how
 moral values are decaying and the whole world is going to hell in a
 handbasket.  I read it today.  I read it in a Japanese novel written a
 millenium ago.  I read it in the Bible written longer ago than that.
 I read it in Greek writings from longer ago than even that.  And you
 know what?  It just doesn't seem to be coming true.  If anything the
 world has become far kinder and more moral as time has gone on.
 Besides, what do you care how people live when you're gone?  What say
 do you have in how people of the future will live their lives?  I am
 obviously much more socially liberal than you are.  But does that
 somehow make me a friend of the Devil?  I'd say _you_ are the one
 forcing _your_ philosophy on others in this case.
 I know that you will go to bed tonight praying for my soul.  Please
 don't.  I don't need your, God's, or anyone else's pity.  I've chosen
 my path in life just as you have yours.  God will judge me as he will,
 and I am prepared to accept any consequences (if any of that is
 actually true).
 
Well, you got me there, Jarrett. I seriously tried to keep this fairly practically leveled without steering into a purely worldview-based discussion, but you've stymied me. :) Of course, I've said most of this all before. Yes, the world is spiraling downward. If you can't see the evidence in the repeated fall of past civilizations with all the same signs of moral decay, then there isn't much more that can be said to convince you of this or the process that produces that decay. History tells the story very well. Nothing is really new. The spiral is definitely not upward. :) Concerning forcing of philosophy, there is no passive side in the issue. If there were, you wouldn't be able to argue with me on these points. You argued free speech at the beginning of the post and then are annoyed at my "forcing" issues down here. If anything, I just want people to be honest with themselves. A lot of people don't want to see that they have a "side" or that they are forcing some kind of quasi-ethical system on anyone... but in fact they do just be living their lives, supporting causes, voting, speaking encouragement or discouragement to a friend(aquaintance,stranger), starting a relationship, demanding a refund, being hurt when lied to by a loved one, or annoyed when someone cheats you... basically living their life as they see fit. You have a worldview, Jarrett. It shouldn't be any more unfair if I show the inconsistancies of it when you promote it in a post then for this community to question Walter's or Andrei's decision for D language decisions. I'm sorry that I come across so abrasive sometimes. I actually appreciate your frankness and honesty. If you were to meet me in person, I think you'd find me not so "religious" in the style that you might expect... I've long since left the religious culture of this day... I'm just very stubborn in living a clear conscience before the God I believe in and in accordance with the Bible's explanation of it. Incidentally, you hit on a funny note there when you talked about me praying for you. I don't like condescenion of that kind, so rest assured if I do so or not, I won't level that at you in such a sanctimonious manner. Anyway, thanks for your analysis and thoughts on the matter. -JJR
Feb 14 2009
prev sibling parent reply BCS <none anon.com> writes:
John-

I think you have a good point (not the original, that I will ignore for the 
moment)

Why should people not of the Judeo-Christian world view be allowed to publicly 
state their view that people of the Judeo-Christian world view should not 
be allowed to publicly state their views?

People should be consistent, either quit stating their view or let everyone 
state their view.
Feb 14 2009
parent reply Christopher Wright <dhasenan gmail.com> writes:
BCS wrote:
 John-
 
 I think you have a good point (not the original, that I will ignore for 
 the moment)
 
 Why should people not of the Judeo-Christian world view be allowed to 
 publicly state their view that people of the Judeo-Christian world view 
 should not be allowed to publicly state their views?
Because Christianity has no insights to provide to the design of a programming language.
Feb 15 2009
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Christopher Wright wrote:
 BCS wrote:
 John-

 I think you have a good point (not the original, that I will ignore
 for the moment)

 Why should people not of the Judeo-Christian world view be allowed to
 publicly state their view that people of the Judeo-Christian world
 view should not be allowed to publicly state their views?
Because Christianity has no insights to provide to the design of a programming language.
reply to BCS: Please refrain from using that loaded " Judeo-Christian world view " term. there is no such thing. Christianity has in common with Judaism as much as it has with Islam or Buddhism. maybe even more in common with Islam than with Judaism: A millennium ago, Europe was in the midst of the dark ages while all scientific advances were made by Islamic scholars (know Algebra?), and the christian world went on holy crusades to fight the evil "barbarians", now a millennium later the wheel had turned and the Islamic world is in its own dark-age (Iran is prime example of that) and the Islamic extremists are calling for Jihad against the corrupt and evil heretics of the west. Non of that is present in Judaism. the only link between Judaism to Christianity is that supposedly Jesus was Jewish.
Feb 15 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"Yigal Chripun" <yigal100 gmail.com> wrote in message 
news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all 
 scientific advances were made by Islamic scholars (know Algebra?), and the 
 christian world went on holy crusades to fight the evil "barbarians", now 
 a millennium later the wheel had turned and the Islamic world is in its 
 own dark-age (Iran is prime example of that) and the Islamic extremists 
 are calling for Jihad against the corrupt and evil heretics of the west. 
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
 the only link between Judaism to Christianity is that supposedly Jesus was 
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Feb 15 2009
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com>  wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?), and the
 christian world went on holy crusades to fight the evil "barbarians", now
 a millennium later the wheel had turned and the Islamic world is in its
 own dark-age (Iran is prime example of that) and the Islamic extremists
 are calling for Jihad against the corrupt and evil heretics of the west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism. So you too believe in the story of Noah's Arc, well, the Inca had a similar story as well but the morals extracted from the same story are totally different and that's what really matters.
Feb 15 2009
parent reply Don <nospam nospam.com> writes:
Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com>  wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?), 
 and the
 christian world went on holy crusades to fight the evil "barbarians", 
 now
 a millennium later the wheel had turned and the Islamic world is in its
 own dark-age (Iran is prime example of that) and the Islamic extremists
 are calling for Jihad against the corrupt and evil heretics of the west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly 
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence. So to some extent it's a relationship like: | |Tanakh | / \_ | \_ / \_ / \ Judaism Christianity Also Islam inherits concepts from the Talmud, as well as things from the New Testament, so it's not a "single inheritance" situation at all. It's as messy as C++ code involving virtual inheritance. Actually it'd be pretty interesting to model it in code <g>. The Tanakh (Old Testament) involves a number of virtual functions and a lot of code. Christianity and modern Judaism inherit all of the code from it, Islam only inherits the interfaces.
Feb 16 2009
next sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com>  wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?), 
 and the
 christian world went on holy crusades to fight the evil 
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is in its
 own dark-age (Iran is prime example of that) and the Islamic extremists
 are calling for Jihad against the corrupt and evil heretics of the 
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly 
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions. I don't know many ultra-Orthodox Jews; do any of you know a Jew who would go to his priest regarding a rash before he would go to a doctor?
Feb 16 2009
next sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright  
<dhasenan gmail.com> wrote:

 Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com>  wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?),  
 and the
 christian world went on holy crusades to fight the evil  
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is in  
 its
 own dark-age (Iran is prime example of that) and the Islamic  
 extremists
 are calling for Jihad against the corrupt and evil heretics of the  
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly  
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions.
I know one - Jesus. There is also "Jews for Jesus" organization that follow kosher diet. And I've also heard of christian old-believers in Russia that don't eat pork and shellfish.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who  
 would go to his priest regarding a rash before he would go to a doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
Feb 16 2009
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Denis Koroskin wrote:
 On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright
 <dhasenan gmail.com> wrote:

 Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com> wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?),
 and the
 christian world went on holy crusades to fight the evil
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is
 in its
 own dark-age (Iran is prime example of that) and the Islamic
 extremists
 are calling for Jihad against the corrupt and evil heretics of the
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions.
I know one - Jesus. There is also "Jews for Jesus" organization that follow kosher diet. And I've also heard of christian old-believers in Russia that don't eat pork and shellfish.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
Where did you hear that? I doubt that since the preservation of life is a holy jewish principle and which cancels all other commandments in the bible. for example, driving on the Shabat is a a sin but if we're talking about an ambulance driving to save someone's life than it's becomes completely "Kosher". As the saying goes: "if you saved one soul of Israel as if you saved the entire world". Kinda the exact opposite of the Jihad concept that other people believe in.
Feb 16 2009
next sibling parent reply Jussi Jumppanen <jussij zeusedit.com> writes:
Yigal Chripun Wrote:

 Denis Koroskin wrote:
 I've heard many Jews refuse to do the blood transfusion even if 
 it costs them their life.
Where did you hear that?
I'm not sure about the Jewish faith but Jehovah's Witnesses believe the Bible prohibits the accepting of blood and that to do so is a sin. Many a Jehovah's Witnesses have died because of this belief.
Feb 16 2009
parent Yigal Chripun <yigal100 gmail.com> writes:
Jussi Jumppanen wrote:
 Yigal Chripun Wrote:

 Denis Koroskin wrote:
 I've heard many Jews refuse to do the blood transfusion even if
 it costs them their life.
Where did you hear that?
I'm not sure about the Jewish faith but Jehovah's Witnesses believe the Bible prohibits the accepting of blood and that to do so is a sin. Many a Jehovah's Witnesses have died because of this belief.
that's simple: Jehovah's Witnesses != Jews also, Jews for Jesus != Jews As I said before this contradicts one of the most important aspects of Judaism.
Feb 16 2009
prev sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 16 Feb 2009 22:56:04 +0300, Yigal Chripun <yigal100 gmail.com> wrote:

 Denis Koroskin wrote:
 On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright
 <dhasenan gmail.com> wrote:

 Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com> wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while  
 all
 scientific advances were made by Islamic scholars (know Algebra?),
 and the
 christian world went on holy crusades to fight the evil
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is
 in its
 own dark-age (Iran is prime example of that) and the Islamic
 extremists
 are calling for Jihad against the corrupt and evil heretics of the
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions.
I know one - Jesus. There is also "Jews for Jesus" organization that follow kosher diet. And I've also heard of christian old-believers in Russia that don't eat pork and shellfish.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
Where did you hear that? I doubt that since the preservation of life is a holy jewish principle and which cancels all other commandments in the bible.
I'm sorry, I was wrong. These are indeed Jehovah's Witnesses.
 for example, driving on the Shabat is a a sin but if we're talking about  
 an ambulance driving to save someone's life than it's becomes completely  
 "Kosher". As the saying goes: "if you saved one soul of  Israel as if  
 you saved the entire world".

 Kinda the exact opposite of the Jihad concept that other people believe  
 in.
From Qur'an: "...We decreed upon the Children of Israel that whoever kills a soul - unless for a soul[1] or for corruption [done] in the land[2] - it is as if he had slain mankind entirely. And, whoever saves one, it is as if he had saved mankind entirely." [Qur'an, 5:32] [1] i.e. in legal retribution for murder, through the requisite channels of justice. [2] i.e. that requiring the death penalty, again through the requisite legal channels. This verse establishes the sanctity of life. (Taken from http://mac.abc.se/~onesr/ez/isl/0-sbm/Wanton.Destruction.html)
Feb 16 2009
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Denis Koroskin wrote:
 On Mon, 16 Feb 2009 22:56:04 +0300, Yigal Chripun <yigal100 gmail.com>
 wrote:

 Denis Koroskin wrote:
 On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright
 <dhasenan gmail.com> wrote:

 Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com> wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while
 all
 scientific advances were made by Islamic scholars (know Algebra?),
 and the
 christian world went on holy crusades to fight the evil
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is
 in its
 own dark-age (Iran is prime example of that) and the Islamic
 extremists
 are calling for Jihad against the corrupt and evil heretics of the
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions.
I know one - Jesus. There is also "Jews for Jesus" organization that follow kosher diet. And I've also heard of christian old-believers in Russia that don't eat pork and shellfish.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
Where did you hear that? I doubt that since the preservation of life is a holy jewish principle and which cancels all other commandments in the bible.
I'm sorry, I was wrong. These are indeed Jehovah's Witnesses.
 for example, driving on the Shabat is a a sin but if we're talking
 about an ambulance driving to save someone's life than it's becomes
 completely "Kosher". As the saying goes: "if you saved one soul of
 Israel as if you saved the entire world".

 Kinda the exact opposite of the Jihad concept that other people
 believe in.
From Qur'an: "...We decreed upon the Children of Israel that whoever kills a soul - unless for a soul[1] or for corruption [done] in the land[2] - it is as if he had slain mankind entirely. And, whoever saves one, it is as if he had saved mankind entirely." [Qur'an, 5:32] [1] i.e. in legal retribution for murder, through the requisite channels of justice. [2] i.e. that requiring the death penalty, again through the requisite legal channels. This verse establishes the sanctity of life. (Taken from http://mac.abc.se/~onesr/ez/isl/0-sbm/Wanton.Destruction.html)
True Jihad according to Islam is against non-believers (pagans) since from Islamic point of view Jews and Christians are also believers of Allah (albeit with different rituals). Problems is that, Just like in Christianity there is no requirement to actually *read* the book yourself. Instead there's the religions representative (I forgot the title they use) that peaches to the public. It doesn't really matter nowadays what that book actually says since hardly anyone reads it. what those extremist representatives say is what Muhammad wants and that's it.
Feb 16 2009
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Tue, 17 Feb 2009 08:31:23 +0300, Yigal Chripun <yigal100 gmail.com> wrote:

 Denis Koroskin wrote:
 On Mon, 16 Feb 2009 22:56:04 +0300, Yigal Chripun <yigal100 gmail.com>
 wrote:

 Denis Koroskin wrote:
 On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright
 <dhasenan gmail.com> wrote:

 Don wrote:
 Yigal Chripun wrote:
 Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com> wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while
 all
 scientific advances were made by Islamic scholars (know  
 Algebra?),
 and the
 christian world went on holy crusades to fight the evil
 "barbarians", now
 a millennium later the wheel had turned and the Islamic world is
 in its
 own dark-age (Iran is prime example of that) and the Islamic
 extremists
 are calling for Jihad against the corrupt and evil heretics of  
 the
 west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly
 Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism.
You seem to be assuming that modern Judaism is identical to first-century Judaism. It clearly isn't. In particular, (1) the destruction of the temple required significant "breaking of backward compatibility" (not to anywhere near the same extent as Christianity, of course), and (2) Orthodox Judaism recognizes the Talmud, which was written down later than the New Testament. Also Christianity retains the Tanakh(Old Testament) word-for-word and regards it as authoritative. This put strict limits on the extent of possible divergence.
Divergence of belief in the historical content of the text, yes. (I know that Christianity has some divergence on whether the text is completely and literally accurate in all aspects. I don't know whether there are any young-earth creationists among non-Christian Jews, or anything like that.) However, there are a lot of commandments given down regarding what is clean and unclean, and how to distinguish, and treatment for being unclean in various ways. That is universally ignored. Doctors do better at healing people than priests who follow the Torah exactly. In case of an infestation of mold in your house, you are going to call someone who specializes in that issue, and they're not going to follow the Torah, even if they are the strictest of orthodox Jews. And I haven't seen any Christian who felt compelled to avoid eating shellfish due to biblical restrictions.
I know one - Jesus. There is also "Jews for Jesus" organization that follow kosher diet. And I've also heard of christian old-believers in Russia that don't eat pork and shellfish.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a  
 doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
Where did you hear that? I doubt that since the preservation of life is a holy jewish principle and which cancels all other commandments in the bible.
I'm sorry, I was wrong. These are indeed Jehovah's Witnesses.
 for example, driving on the Shabat is a a sin but if we're talking
 about an ambulance driving to save someone's life than it's becomes
 completely "Kosher". As the saying goes: "if you saved one soul of
 Israel as if you saved the entire world".

 Kinda the exact opposite of the Jihad concept that other people
 believe in.
From Qur'an: "...We decreed upon the Children of Israel that whoever kills a soul - unless for a soul[1] or for corruption [done] in the land[2] - it is as if he had slain mankind entirely. And, whoever saves one, it is as if he had saved mankind entirely." [Qur'an, 5:32] [1] i.e. in legal retribution for murder, through the requisite channels of justice. [2] i.e. that requiring the death penalty, again through the requisite legal channels. This verse establishes the sanctity of life. (Taken from http://mac.abc.se/~onesr/ez/isl/0-sbm/Wanton.Destruction.html)
True Jihad according to Islam is against non-believers (pagans) since from Islamic point of view Jews and Christians are also believers of Allah (albeit with different rituals).
There are two categories of Jihad - greater Jihad and lesser Jihad. Greater Jihad is about fighting yourself, while Lesser Jihad is a warfare. According to Islam Law, Lesser Jihad can only declared by a leader of Islamic Country, i.e. the country where Islamic laws are technically considered to override laws of the state. There is no such country exists at this moment and thus no-one may start a Jihad. What you see now is a terrorism and has *absolutely* nothing to do with neither Jihad nor Islam.
 Problems is that, Just like in Christianity there is no requirement to  
 actually *read* the book yourself.
I don't agree. Not only there is a strong requirement to read it (I think you are talking about Quran, don't you?), each district where Muslims live should have at list one person who knows full text of the Holy Qur'an word-by-word.
 Instead there's the religions  
 representative (I forgot the title they use)  that peaches to the  
 public.
Yes, there are. There is a short homily before a pray once in a week (in Friday) in a mosque, that's it. Modern people are so busy that they spend little (if any) time to read books (of any kind), and that's a great opportunity for them to take a lesson.
 It doesn't really matter nowadays what that book actually says  
 since hardly anyone reads it. what those extremist representatives say  
 is what Muhammad wants and that's it.
Feb 17 2009
parent Yigal Chripun <yigal100 gmail.com> writes:
Denis Koroskin wrote:
 True Jihad according to Islam is against non-believers (pagans) since
 from Islamic point of view Jews and Christians are also believers of
 Allah (albeit with different rituals).
There are two categories of Jihad - greater Jihad and lesser Jihad. Greater Jihad is about fighting yourself, while Lesser Jihad is a warfare. According to Islam Law, Lesser Jihad can only declared by a leader of Islamic Country, i.e. the country where Islamic laws are technically considered to override laws of the state. There is no such country exists at this moment and thus no-one may start a Jihad. What you see now is a terrorism and has *absolutely* nothing to do with neither Jihad nor Islam.
a) many Islamic countries use the Shari'a (English spelling?) as the state law. Shari'a is the religious Islamic law as written in the Qur'an. Iran, Afghanistan, etc.. b) we're in agreement about Jihad since as I said - it is meant to convert non-believers and Jews and Christians do not fall under that category, therefore what is called today Jihad by extremist groups is in fact terrorism. c) note that despite being "democratic", Iran has its "supreme leader", the ayatollah, which is the religious head of Iran that has the final say about everything. For instance, there are no women candidates in Iranian elections since all candidates must be approved by the religious council headed by the supreme leader and they obviously do not approve women to be in politics. If the Iranian president which is the puppet of the supreme leader declares that Israel has no right to exist, should I be less worried since true Islam is about peace and hope? Remember that according to Christianity Jesus preached to show the other cheek, how does that go together with the crusades?
 Problems is that, Just like in Christianity there is no requirement to
 actually *read* the book yourself.
I don't agree. Not only there is a strong requirement to read it (I think you are talking about Quran, don't you?), each district where Muslims live should have at list one person who knows full text of the Holy Qur'an word-by-word.
 Instead there's the religions representative (I forgot the title they
 use) that peaches to the public.
Yes, there are. There is a short homily before a pray once in a week (in Friday) in a mosque, that's it. Modern people are so busy that they spend little (if any) time to read books (of any kind), and that's a great opportunity for them to take a lesson.
 It doesn't really matter nowadays what that book actually says since
 hardly anyone reads it. what those extremist representatives say is
 what Muhammad wants and that's it.
your disagreement above says the same thing I said before. There maybe is *one* person that knows the Qur'an by-heart in each district, but that does not reflect that the general population also knows what the Qur'an says. I saw a documentary film about Muslim women in London - they show various cases but one very interesting one was of a young woman that her parents (immigrants from Pakistan) set her up to marry some old (and ugly according to her) merchant (because he will provide for her). She refused and had an argument with her father that claimed that according to Islam - he has the right to decide for her whom she'll marry since he's the head of the family. she had the smarts to read the Qur'an herself and she read to him the verse that says that if a woman says no 3 times than the marriage is canceled. the shocked father hurried to the local mosque where the local priest (Imam?) took the father's side. she again read to them both the same verse from the Qur'an and the priest had no choice but to cancel the marriage. Today she's married to the man she actually loved and wanted to marry. and she's a head of a group of Muslim women with the agenda to educate Muslim women and save them from similar problems. I can tell you that there are many similar cases here in Israel as well. we have a plague of Muslim women being murdered by their families because their husbands/fathers/brothers suspect them as shaming the family honor. One recent case was due to the wishes of a 17 y/o that wanted to get a job. her brother stabbed her 27 times after her father encouraged him to do so. Unfortunately, that's the current state of Muslim societies.
Feb 17 2009
prev sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
Denis Koroskin wrote:
 I know one - Jesus.
I haven't seen Jesus.
 There is also "Jews for Jesus" organization that follow kosher diet.
 And I've also heard of christian old-believers in Russia that don't eat 
 pork and shellfish.
I've heard of Jews for Jesus, actually.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who 
 would go to his priest regarding a rash before he would go to a doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
I've heard of similar things with other religions, but my Jewish fiancee claims that all Jewish laws and customs are, by law and custom, ignored if they interfere with your health to any appreciable degree.
Feb 16 2009
next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Christopher Wright" wrote
 There is also "Jews for Jesus" organization that follow kosher diet.
 And I've also heard of christian old-believers in Russia that don't eat 
 pork and shellfish.
I've heard of Jews for Jesus, actually.
One and only time I've ever heard of Jews for Jesus: http://www.youtube.com/watch?v=0LpOmtUn_QA&feature=related :) -Steve
Feb 16 2009
prev sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 16 Feb 2009 23:36:12 +0300, Christopher Wright <dhasenan gmail.com>
wrote:

 Denis Koroskin wrote:
 I know one - Jesus.
I haven't seen Jesus.
Seeing is believing, huh?
Feb 16 2009
parent Christopher Wright <dhasenan gmail.com> writes:
Denis Koroskin wrote:
 On Mon, 16 Feb 2009 23:36:12 +0300, Christopher Wright 
 <dhasenan gmail.com> wrote:
 
 Denis Koroskin wrote:
 I know one - Jesus.
I haven't seen Jesus.
Seeing is believing, huh?
I haven't *seen* a Christian who obeys all laws from the Torah, or even keeps kosher, to my knowledge. Jesus is not a counterexample unless I have seen Jesus, even if the Dead Sea DVDs are discovered tomorrow that record every second of his existence and prove that he kept all the laws of the Torah. At that point, I would have to determine exactly what I mean by seeing, and whether it applies to recordings; but more importantly, I would need to determine how Jesus got his hands on a DVD burner back when people thought that lightning was Zeus doing target practice.
Feb 16 2009
prev sibling parent Yigal Chripun <yigal100 gmail.com> writes:
Christopher Wright wrote:
 Divergence of belief in the historical content of the text, yes. (I know
 that Christianity has some divergence on whether the text is completely
 and literally accurate in all aspects. I don't know whether there are
 any young-earth creationists among non-Christian Jews, or anything like
 that.)
Judaism doesn't have that big clash of science vs. religion that the Christian world create. the entire handling of the bible is completely different. Jews are required to study the bible themselves and in Synagogue *everyone* read from the bible together. the concept of having a priest to give a sermon to the public is completely foreign to Judaism. There's a saying in Hebrew that says the Torah has 70 faces, meaning that it can be interpreted in many ways and each individual needs to read it himself and understand it himself. That means there's no one world-view that is being dictated on the people like the Vatican does. The Talmud that Don mentioned deals with many subjects where for each subject there are two opposing interpretations that are presented by two groups of Rabbis and their students. each side presents its case and The Talmud basically encourages to have a debate of the subject in order to understand it.
 However, there are a lot of commandments given down regarding what is
 clean and unclean, and how to distinguish, and treatment for being
 unclean in various ways. That is universally ignored. Doctors do better
 at healing people than priests who follow the Torah exactly. In case of
 an infestation of mold in your house, you are going to call someone who
 specializes in that issue, and they're not going to follow the Torah,
 even if they are the strictest of orthodox Jews. And I haven't seen any
 Christian who felt compelled to avoid eating shellfish due to biblical
 restrictions.
Not exactly. Jews where less likely to die in Europe during the dark-ages because of the plague. The reason is because of those rules which require for instance to wash hands before you eat. Those rules are not arbitrary and have reasons behind them. I agree that for example the rules regarding woman's period are today ridiculous and redundant. The issue here that 5 millenia ago the human knowledge was smaller compared to today and those rules are built on that knowledge. you can always add new rules to Judaism (if the Rabbis have a consensus) in order to adapt to modern times - that happens all the time, but you cannot remove or cancel existing laws so that's why we got stuck with few laws that are today ridiculous by scientific standards.
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a doctor?
as I said there isn't an either-or question about such questions in Judaism and there is no conflict between the two. you can go to the Doctor to get some pills and also to a rabbi to get a blessing and both are complementary rather the contradicting.
Feb 16 2009
prev sibling next sibling parent Yigal Chripun <yigal100 gmail.com> writes:
Don wrote:

 You seem to be assuming that modern Judaism is identical to
 first-century Judaism. It clearly isn't. In particular, (1) the
 destruction of the temple required significant "breaking of backward
 compatibility" (not to anywhere near the same extent as Christianity, of
 course), and (2) Orthodox Judaism recognizes the Talmud, which was
 written down later than the New Testament.

 Also Christianity retains the Tanakh(Old Testament) word-for-word and
 regards it as authoritative. This put strict limits on the extent of
 possible divergence.

 So to some extent it's a relationship like:

 |
 |Tanakh
 |
 / \_
 | \_
 / \_
 / \
 Judaism Christianity

 Also Islam inherits concepts from the Talmud, as well as things from the
 New Testament, so it's not a "single inheritance" situation at all. It's
 as messy as C++ code involving virtual inheritance.

 Actually it'd be pretty interesting to model it in code <g>. The Tanakh
 (Old Testament) involves a number of virtual functions and a lot of
 code. Christianity and modern Judaism inherit all of the code from it,
 Islam only inherits the interfaces.
First off, Thanks for the analogy to OO concepts, thumbs up! <g> to answer your post: I didn't assume that modern Judaism is identical to first-century Judaism, and regarding the Talmud, That's not part of the Bible but rather just one book that contains interpretations by many famous Rabbis to the Bible. Judaism is of course not a root of the above graph and was influenced by other cultures like the ancient Egyptians. All I was trying to say is that *today* the difference between Judaism and Christianity is so huge that it's meaningless to say Judeo-Christian world-view. there simply is no such thing *today*.
Feb 16 2009
prev sibling parent "Joel C. Salomon" <joelcsalomon gmail.com> writes:
I’m going to combine a bunch of responses into one here.

Don wrote:
 You seem to be assuming that modern Judaism is identical to
 first-century Judaism. It clearly isn't. In particular, (1) the
 destruction of the temple required significant "breaking of backward
 compatibility" (not to anywhere near the same extent as Christianity, of
 course), and (2) Orthodox Judaism recognizes the Talmud, which was
 written down later than the New Testament.
Not sure what you mean by “breaking of backward compatibility”. As regards (2), the Talmud is based on discussions and decisions made and taken from the second century BCE to the fifth or sixth CE; much is due, for example, to Hillel the Elder (c.110BCE–10CE). <snip>
 Actually it'd be pretty interesting to model it in code <g>. The Tanakh
 (Old Testament) involves a number of virtual functions and a lot of
 code. Christianity and modern Judaism inherit all of the code from it,
 Islam only inherits the interfaces.
Except for things like: sacrifice(Animal a) { version(Christianity) { pragma(message("deprecated; see Jesus")); return; } version(Modern Judaism) { // not currently implemented; maintaining stub function pray(Shacharis); return; } … } Christopher Wright wrote:
 Divergence of belief in the historical content of the text, yes. (I
 know that Christianity has some divergence on whether the text is
 completely and literally accurate in all aspects. I don't know whether
 there are any young-earth creationists among non-Christian Jews, or
 anything like that.)
Among the Orthodox, views range from Young-Earth Creationism to taking the Creation Story as purely metaphor; the most authoritative position is from the Talmud: “Whoever regards four things would better not have been born: the things above, the things below, the things that were before, and the things that shall be.” To continue the code metaphor, Genesis has the comment: /* You are not expected to understand this. */ (as do things like Ezekiel 1 &c.)
 However, there are a lot of commandments given down regarding what is
 clean and unclean, and how to distinguish, and treatment for being
 unclean in various ways. That is universally ignored. Doctors do
 better at healing people than priests who follow the Torah exactly. In
 case of an infestation of mold in your house, you are going to call
 someone who specializes in that issue, and they're not going to follow
 the Torah, even if they are the strictest of orthodox Jews.
For the most part, the rules of “clean” and “unclean” are bound up in Temple service and are therefore on hiatus. They are still studied, though, and are still active to some extent. Denis Koroskin wrote:
 On Mon, 16 Feb 2009 15:28:33 +0300, Christopher Wright
 I don't know many ultra-Orthodox Jews; do any of you know a Jew who
 would go to his priest regarding a rash before he would go to a
 doctor?
I've heard many Jews refuse to do the blood transfusion even if it costs them their life.
I think you’re confusing Jews with Christian Scientists. I can’t think of any medical procedure an Orthodox Jew would not have done in life- or health-threatening situations. As for blood transfusions specifically, local organizations in the Orthodox community run blood drives regularly. —Joel Salomon
Feb 16 2009
prev sibling parent Yigal Chripun <yigal100 gmail.com> writes:
Nick Sabalausky wrote:
 "Yigal Chripun"<yigal100 gmail.com>  wrote in message
 news:gn9qp7$apa$1 digitalmars.com...
 A millennium ago, Europe was in the midst of the dark ages while all
 scientific advances were made by Islamic scholars (know Algebra?), and the
 christian world went on holy crusades to fight the evil "barbarians", now
 a millennium later the wheel had turned and the Islamic world is in its
 own dark-age (Iran is prime example of that) and the Islamic extremists
 are calling for Jihad against the corrupt and evil heretics of the west.
 Non of that is present in Judaism.
I'm no theology expert, but from what I understand, the Islamic concept of Jihad really refers to a person's internal good-vs-evil struggle, not an external struggle. The so-called "Muslims" that take Jihad to mean actually committing violence against other people are bastardizing thier own religion in the same way that some people bastardize Christianity into allegedly being pro-"white power".
Not quite so. Jihad is one of the pillars of Islam, and has about 4 sub-categories one of which is _Jihad_by_sword_ here's a quote for example from http://en.wikipedia.org/wiki/Opinion_of_Islamic_scholars_on_Jihad : <quote> Ibn Rushd, in his Muqaddimāt, divides Jihad into four kinds: "Jihad by the heart; Jihad by the tongue; Jihad by the hand and Jihad by the sword." He defines "Jihad by the tongue" as "to commend good conduct and forbid the wrong, like the type of Jihad Allah (swt) ordered us to fulfill against the hypocrites in His Words, “O Prophet! Strive hard against the unbelievers and the hypocrites” (Qur'an [Qur'an 9:73]). Thus, Seraj and Ahmad Hendricks have expressed a view that Muhammad strove against the unbelievers by sword and against the hypocrites by tongue </quote>
 the only link between Judaism to Christianity is that supposedly Jesus was
 Jewish.
Umm...Judaism and Christianity share an entire Bible. Of course, Christianity adds another Bible (the "New Testament") but they equally revere what they call the "Old Testament", which *is* the Jewish Bible. As part of that Bible, both religions contain The Ten Commandments, Moses, Abraham (this particular part also being shared by Islam), Adam and Eve, Noah's Ark, and probably some other things. I'm not sure where you get the idea that Jesus's religion is the only connection between Judaism and Christianity.
Christianity has mostly redefined out of existence most of the Jewish concepts if not all of them as they appear in the bible (the old testament), and the new testament which overrides the old one defines different, and contradicting new concepts. Christians use different interpretations of the bible and the christian faith basically broke backwards compatibility (to borrow a software concept) with Judaism. So you too believe in the story of Noah's Arc, well, the Inca had a similar story as well but the morals extracted from the same story are totally different and that's what really matters.
Feb 15 2009
prev sibling next sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
John Reimer wrote:
 Hello Christopher,
 
 John Reimer wrote:

 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from?
The Constructed Languages mailing list. (The green star refers to Esperanto. The Constructed Languages list does not allow advertising for languages intended as international auxiliary languages.)
 I'd say your forcing 
 your philosophy on me. That's not very nice. :)
I would like to. It would make everyone be nice, or pretend to be nice, or stay on topic. And since relatively few people want to be mean, and one mean person can upset many others, this should increase the amount of happiness in the world. I wrote a further reply to you offlist so as not to clutter this forum.
Feb 14 2009
next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Christopher,

 John Reimer wrote:
 
 Hello Christopher,
 
 John Reimer wrote:
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from?
The Constructed Languages mailing list. (The green star refers to Esperanto. The Constructed Languages list does not allow advertising for languages intended as international auxiliary languages.)
Oh boy! Come on now... you guys, this is so apparent an issue. I am actually a little surprised a few of you are so defensive of this situation. I'm not sure how far you would go to defend something "evil"... but I become more astounded all the time. How far does this go before you finally decide it's time to step in? I hear some of you gripe so strongly (verbally violent) over the internet marketing and web scripts... and yet you will defend such things as this so ruthlessly?
 I'd say your forcing your philosophy on me. That's not very nice. :)
 
I would like to. It would make everyone be nice, or pretend to be nice, or stay on topic. And since relatively few people want to be mean, and one mean person can upset many others, this should increase the amount of happiness in the world.
And will you please define "nice" then? You have chosen your side. I'd rather you just be honest and say that you don't like my side of the discussion. But you are refusing to recognize that "nice", in your case, is letting whichever side you prefer have their say, no matter how diabolical, without a balance from the opposite side. I'm amazed you pursue this argument so relentlessly too.
 I wrote a further reply to you offlist so as not to clutter this
 forum.
 
Ok, as you wish. :) -JJR
Feb 14 2009
next sibling parent reply grauzone <none example.net> writes:
John Reimer wrote:
 Hello Christopher,
 
 John Reimer wrote:

 Hello Christopher,

 John Reimer wrote:

 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from?
The Constructed Languages mailing list. (The green star refers to Esperanto. The Constructed Languages list does not allow advertising for languages intended as international auxiliary languages.)
Oh boy! Come on now... you guys, this is so apparent an issue. I am actually a little surprised a few of you are so defensive of this situation. I'm not sure how far you would go to defend something "evil"... but I become more astounded all the time. How far does this go before you finally decide it's time to step in? I hear some of you gripe so strongly (verbally violent) over the internet marketing and web scripts... and yet you will defend such things as this so ruthlessly?
Yes. That's exactly because we're not assholes.
 
 
 I'd say your forcing your philosophy on me. That's not very nice. :)
I would like to. It would make everyone be nice, or pretend to be nice, or stay on topic. And since relatively few people want to be mean, and one mean person can upset many others, this should increase the amount of happiness in the world.
And will you please define "nice" then? You have chosen your side. I'd rather you just be honest and say that you don't like my side of the discussion. But you are refusing to recognize that "nice", in your case, is letting whichever side you prefer have their say, no matter how diabolical, without a balance from the opposite side. I'm amazed you pursue this argument so relentlessly too.
 I wrote a further reply to you offlist so as not to clutter this
 forum.
Ok, as you wish. :) -JJR
Feb 14 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello grauzone,


 Oh boy!  Come on now... you guys, this is so apparent an issue.  I am
 actually a little surprised a few of you are so defensive of this
 situation.  I'm not sure how far you would go to defend something
 "evil"... but I become more astounded all the time.  How far does
 this go before you finally decide it's time to step in?   I hear some
 of you gripe so strongly (verbally violent) over the internet
 marketing and web scripts... and yet you will defend such things as
 this so ruthlessly?
 
Yes. That's exactly because we're not assholes.
So you approve of the material on the website then? -JJR
Feb 14 2009
next sibling parent reply grauzone <none example.net> writes:
John Reimer wrote:
 Hello grauzone,
 
 
 Oh boy!  Come on now... you guys, this is so apparent an issue.  I am
 actually a little surprised a few of you are so defensive of this
 situation.  I'm not sure how far you would go to defend something
 "evil"... but I become more astounded all the time.  How far does
 this go before you finally decide it's time to step in?   I hear some
 of you gripe so strongly (verbally violent) over the internet
 marketing and web scripts... and yet you will defend such things as
 this so ruthlessly?
Yes. That's exactly because we're not assholes.
So you approve of the material on the website then?
Not necessarily. I don't even know what exactly is on his website. But I defend free speech, not attacking people because of irrelevant issues, and all that. I guess you're worried that the personal desires of people like him lead to the downfall of moral values and society at large or something, which is why you feel the need of putting pressure on them in order to stop it? Sounds like a plan.
 
 -JJR
 
 
Feb 14 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello grauzone,

 John Reimer wrote:
 
 Hello grauzone,
 
 Oh boy!  Come on now... you guys, this is so apparent an issue.  I
 am actually a little surprised a few of you are so defensive of
 this situation.  I'm not sure how far you would go to defend
 something "evil"... but I become more astounded all the time.  How
 far does this go before you finally decide it's time to step in?
 I hear some of you gripe so strongly (verbally violent) over the
 internet marketing and web scripts... and yet you will defend such
 things as this so ruthlessly?
 
Yes. That's exactly because we're not assholes.
So you approve of the material on the website then?
Not necessarily. I don't even know what exactly is on his website. But I defend free speech, not attacking people because of irrelevant issues, and all that.
Hmm... irrelevent, eh? If you haven't figured out the content yet... how are you able to make a decision on whether it is irrelevent or not. Anyway... you can have no issue with my free speech then. But it's apparently called "attack" when it's from my side of the fence. I ask you if calling a person a a**hole can be considered an attack or free speech? I don't call people names. I think you fail the consistancy test.
 I guess you're worried that the personal desires of people like him
 lead to the downfall of moral values and society at large or
 something, which is why you feel the need of putting pressure on them
 in order to stop it? Sounds like a plan.
 
Yes, good description. -JJR
Feb 14 2009
parent reply grauzone <none example.net> writes:
John Reimer wrote:
 Hello grauzone,
 
 John Reimer wrote:

 Hello grauzone,

 Oh boy!  Come on now... you guys, this is so apparent an issue.  I
 am actually a little surprised a few of you are so defensive of
 this situation.  I'm not sure how far you would go to defend
 something "evil"... but I become more astounded all the time.  How
 far does this go before you finally decide it's time to step in?
 I hear some of you gripe so strongly (verbally violent) over the
 internet marketing and web scripts... and yet you will defend such
 things as this so ruthlessly?
Yes. That's exactly because we're not assholes.
So you approve of the material on the website then?
Not necessarily. I don't even know what exactly is on his website. But I defend free speech, not attacking people because of irrelevant issues, and all that.
Hmm... irrelevent, eh? If you haven't figured out the content yet... how are you able to make a decision on whether it is irrelevent or not.
I suppose it's about "furrys". It might very well be that I'm offended by the actual content, but since I'm obviously not forced to look at it, I don't really care.
 
 Anyway... you can have no issue with my free speech then.  But it's 
 apparently called "attack" when it's from my side of the fence.  I ask 
You were the first one to attack. Why do you think you're in the position to complain?
 you if calling a person a a**hole can be considered an attack or free 
 speech?  I don't call people names.  I think you fail the consistancy test.
I'd rather call this a "counterattack". Not sure if I want to play the pacifist. Anyway, I don't really have the time to flame around. I guess I'll stop posting now. I suggest you do the same.
 
 I guess you're worried that the personal desires of people like him
 lead to the downfall of moral values and society at large or
 something, which is why you feel the need of putting pressure on them
 in order to stop it? Sounds like a plan.
Yes, good description.
Your approach doesn't work.
 
 -JJR
 
 
Feb 14 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello grauzone,


 I guess you're worried that the personal desires of people like him
 lead to the downfall of moral values and society at large or
 something, which is why you feel the need of putting pressure on
 them in order to stop it? Sounds like a plan.
 
Yes, good description.
Your approach doesn't work.
I'm afraid you haven't proved that very well. :) -JJR
Feb 14 2009
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
On Sun, 15 Feb 2009 03:01:24 +0000 (UTC), John Reimer wrote:

 So you approve of the material on the website then?
Hell no! I suspect that the Elvis image has definitely been digitally re-touched. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Feb 14 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Derek,

 On Sun, 15 Feb 2009 03:01:24 +0000 (UTC), John Reimer wrote:
 
 So you approve of the material on the website then?
 
Hell no! I suspect that the Elvis image has definitely been digitally re-touched.
Heh, thanks for that, Derek. His hair is definitely too long, isn't it? ;P Nice to see a serious side now and again. :P -JJR
Feb 14 2009
prev sibling parent Christopher Wright <dhasenan gmail.com> writes:
John Reimer wrote:
 Hello Christopher,
 
 John Reimer wrote:

 Hello Christopher,

 John Reimer wrote:

 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means?
No cross, no crown, no green star. If you're disgusted by someone's username and it isn't actively evil, pretend you don't know what it means. Don't write a post abusing his desired lifestyle.
Hmm... very interesting. And where does this "rule" of yours come from?
The Constructed Languages mailing list. (The green star refers to Esperanto. The Constructed Languages list does not allow advertising for languages intended as international auxiliary languages.)
Oh boy! Come on now... you guys, this is so apparent an issue. I am actually a little surprised a few of you are so defensive of this situation. I'm not sure how far you would go to defend something "evil"... but I become more astounded all the time. How far does this go before you finally decide it's time to step in? I hear some of you gripe so strongly (verbally violent) over the internet marketing and web scripts... and yet you will defend such things as this so ruthlessly?
I'm sorry, I didn't realize you felt so strongly about Esperanto.
Feb 15 2009
prev sibling parent John Reimer <terminal.node gmail.com> writes:
Hello Christopher,

 I wrote a further reply to you offlist so as not to clutter this
 forum.
 
I didn't receive it. -JJR
Feb 14 2009
prev sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Sun, Feb 15, 2009 at 9:24 AM, John Reimer <terminal.node gmail.com> wrote:
 Hello Christopher,
 Anyway, my point is that I had no cause to presume anything about his name
 without content from his site.   If he is able to publicly and actively
 promote his desired lifestyle, then I most surely am able to reject or
 refute it, correct?   What perhaps you should have suggested is that he keep
 his private lifestyle private if he didn't want to be confronted about it,
 right?
Reject and refute all you want, but these newsgroups are not the forum for doing it. A blog post of your own or an offline message to the person in question would be a more appropriate response, I think. --bb
Feb 14 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Bill,

 On Sun, Feb 15, 2009 at 9:24 AM, John Reimer <terminal.node gmail.com>
 wrote:
 
 Hello Christopher,
 Anyway, my point is that I had no cause to presume anything about his
 name
 without content from his site.   If he is able to publicly and
 actively
 promote his desired lifestyle, then I most surely am able to reject
 or
 refute it, correct?   What perhaps you should have suggested is that
 he keep
 his private lifestyle private if he didn't want to be confronted
 about it,
 right?
Reject and refute all you want, but these newsgroups are not the forum for doing it. A blog post of your own or an offline message to the person in question would be a more appropriate response, I think. --bb
Yes, this effectively moderates me, but does not moderate the other individual for his contribution. This is typical response, Bill. Walter has set no bounds to this forum. There is no definiton of "appropriate" here. Walter has long since indicated that fact by inaction. I'm merely proving this. And the content of past posts and the example here just shows to what extent these bounds extend ... practically unlimited! Somebody here once made a death threat without anybody batting an eye! That's pathetic. I'll admit I'm not always right or even discrete in my approach. But I am very serious about standing against what I consider very dangerous material. And from the vantage point of the "rock I'm under" apparently things are pretty bad now even though I've seen and heard a lot over the years. Here's another thing: Remember "SuperDan"? This is a good example of a guy who you all exercised "pressure" on to conform to your etiquette (I especially remember Jarrett doing so, interestingly). Why? By what standard? Was he not playing according to the rules of "niceness"? Apparently even this community has limits. Walter didn't even step in when it was at its worst. I couldn't stand SuperDan's language or sick analogies.... but his antics were completely fair game in a community like this... and those of you who resisted him for it were practically hypocrites, if you will pardon my directness. I wonder what kind of character assassinations went on then? If I publicly denounce something, it may be rejected, refuted, ignored or even detested. But I believe there is sometimes very good reason to confront things publicly, just as there is equal right for you to reject what I'm saying publicly.I -JJR
Feb 14 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Sun, Feb 15, 2009 at 11:51 AM, John Reimer <terminal.node gmail.com> wrote:
 Hello Bill,
 Reject and refute all you want, but these newsgroups are not the forum
 for doing it.
 A blog post of your own or an offline message to the person in
 question would be a more appropriate response, I think.
 --bb
Yes, this effectively moderates me, but does not moderate the other individual for his contribution. This is typical response, Bill.
Did I miss some post here from the other party trying to force his views on you?
 If I publicly denounce something, it may be rejected, refuted, ignored or
 even detested.  But I believe there is sometimes very good reason to
 confront things publicly, just as there is equal right for you to reject
 what I'm saying publicly.
I'm not rejecting or refuting your opinions -- I didn't actually read them. You have a right to your opinions like everyone. I just don't care to see this NG become a dumping ground for debates about personal lifestyle choices, because such things get emotional and typically have no resolution, like debating religion or abortion or homosexuality. Such debates leave no one satisfied and everyone agitated. So let's focus on what we have in common here, which is a believe that D is a really useful programming language. --bb
Feb 14 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Bill,

 On Sun, Feb 15, 2009 at 11:51 AM, John Reimer
 <terminal.node gmail.com> wrote:
 
 Hello Bill,
 
 Reject and refute all you want, but these newsgroups are not the
 forum
 for doing it.
 A blog post of your own or an offline message to the person in
 question would be a more appropriate response, I think.
 --bb
Yes, this effectively moderates me, but does not moderate the other individual for his contribution. This is typical response, Bill.
Did I miss some post here from the other party trying to force his views on you?
*sigh* views are not always expressed or forced by a post, Bill. That's a very one-dimensional view of things. Maybe if you had read some of my posts you might have discovered that.
 If I publicly denounce something, it may be rejected, refuted,
 ignored or even detested.  But I believe there is sometimes very good
 reason to confront things publicly, just as there is equal right for
 you to reject what I'm saying publicly.
 
I'm not rejecting or refuting your opinions -- I didn't actually read them. You have a right to your opinions like everyone. I just don't care to see this NG become a dumping ground for debates about personal lifestyle choices, because such things get emotional and typically have no resolution, like debating religion or abortion or homosexuality. Such debates leave no one satisfied and everyone agitated. So let's focus on what we have in common here, which is a believe that D is a really useful programming language. --bb
That's fair. The debates don't necessarily have the results of changing minds, Bill, as you say. That isn't always the intent even if some of us would desire that. What they do actually do is still significant, however. By expressing them, they can make changes happen that can actually save others from being subjected to something that is hurtful or dangerous. We see this all the time, to mention once more, in the D design process. The emotional response are a side-effect, not an object of such a discussion (which happens even in non-ethically oriented issues of D design, go figure). You argument claims that such discussions are always useless which is fatalism at its finest. There is sometimes resolution, Bill, and to say otherwise forces your opinion on others ever so much as mine does. That said, focus can continue on with D whenever anywone wants. -JJR
Feb 14 2009
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c143578cb5cec61f27c90 news.digitalmars.com...
 I'll admit I'm not always right or even discrete in my approach.  But I am 
 very serious about standing against what I consider very dangerous 
 material.
Yea, a few *drawings* of beings that are clearly inteded as sentient anyway are "dangerous". I guess people are going to see that and get killed by it, or turn into serial rapists, or it will cause earthquakes to destroy us all. Shit, I guarantee there's more explicit stuff than that in an ordinary vetrinary medicine textbook. Don't try to tell us you're not blowing it completely out of proportion.
 And from the vantage point of the "rock I'm under" apparently things are 
 pretty bad now even though I've seen and heard a lot over the years.


 Here's another thing:

 Remember "SuperDan"?  This is a good example of a guy who you all 
 exercised "pressure" on to conform to your etiquette (I especially 
 remember Jarrett doing so, interestingly).  Why?  By what standard?  Was 
 he not playing according to the rules of "niceness"?  Apparently even this 
 community has limits.  Walter didn't even step in when it was at its 
 worst.  I couldn't stand SuperDan's language or sick analogies.... but his 
 antics were completely fair game in a community like this... and those of 
 you who resisted him for it were practically hypocrites, if you will 
 pardon my directness.  I wonder what kind of character assassinations went 
 on then?
When a person, either superdan, or this time, you, comes around here and starts directly attacking other people out of the blue, yea, you can expect the rest of us are going to lash back.
 If I publicly denounce something, it may be rejected, refuted, ignored or 
 even detested.  But I believe there is sometimes very good reason to 
 confront things publicly, just as there is equal right for you to reject 
 what I'm saying publicly.I
Yes, John, please save us from bearophile's drawings.
Feb 15 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:gn8qqd$1k5p$1 digitalmars.com...
 "John Reimer" <terminal.node gmail.com> wrote in message 
 news:28b70f8c143578cb5cec61f27c90 news.digitalmars.com...
 Remember "SuperDan"?  This is a good example of a guy who you all 
 exercised "pressure" on to conform to your etiquette (I especially 
 remember Jarrett doing so, interestingly).  Why?  By what standard?  Was 
 he not playing according to the rules of "niceness"?  Apparently even 
 this community has limits.  Walter didn't even step in when it was at its 
 worst.  I couldn't stand SuperDan's language or sick analogies.... but 
 his antics were completely fair game in a community like this... and 
 those of you who resisted him for it were practically hypocrites, if you 
 will pardon my directness.  I wonder what kind of character 
 assassinations went on then?
When a person, either superdan, or this time, you, comes around here and starts directly attacking other people out of the blue, yea, you can expect the rest of us are going to lash back.
Look, the other thing about superdan is that we were all well aware that he just some troll that didn't know any better. But you've been very level-headed on here for a long time, so we know you're capable of a lot better than this.
Feb 15 2009
parent reply superdan <super dan.org> writes:
Nick Sabalausky Wrote:

 "Nick Sabalausky" <a a.a> wrote in message 
 news:gn8qqd$1k5p$1 digitalmars.com...
 "John Reimer" <terminal.node gmail.com> wrote in message 
 news:28b70f8c143578cb5cec61f27c90 news.digitalmars.com...
 Remember "SuperDan"?  This is a good example of a guy who you all 
 exercised "pressure" on to conform to your etiquette (I especially 
 remember Jarrett doing so, interestingly).  Why?  By what standard?  Was 
 he not playing according to the rules of "niceness"?  Apparently even 
 this community has limits.  Walter didn't even step in when it was at its 
 worst.  I couldn't stand SuperDan's language or sick analogies.... but 
 his antics were completely fair game in a community like this... and 
 those of you who resisted him for it were practically hypocrites, if you 
 will pardon my directness.  I wonder what kind of character 
 assassinations went on then?
When a person, either superdan, or this time, you, comes around here and starts directly attacking other people out of the blue, yea, you can expect the rest of us are going to lash back.
Look, the other thing about superdan is that we were all well aware that he just some troll that didn't know any better. But you've been very level-headed on here for a long time, so we know you're capable of a lot better than this.
hey hey cool it dood. dont get me outta my lurkin'. ps - when is the new phobos cummin'?
Feb 15 2009
parent reply Don <nospam nospam.com> writes:
superdan wrote:
 Nick Sabalausky Wrote:
 
 "Nick Sabalausky" <a a.a> wrote in message 
 news:gn8qqd$1k5p$1 digitalmars.com...
 "John Reimer" <terminal.node gmail.com> wrote in message 
 news:28b70f8c143578cb5cec61f27c90 news.digitalmars.com...
 Remember "SuperDan"?  This is a good example of a guy who you all 
 exercised "pressure" on to conform to your etiquette (I especially 
 remember Jarrett doing so, interestingly).  Why?  By what standard?  Was 
 he not playing according to the rules of "niceness"?  Apparently even 
 this community has limits.  Walter didn't even step in when it was at its 
 worst.  I couldn't stand SuperDan's language or sick analogies.... but 
 his antics were completely fair game in a community like this... and 
 those of you who resisted him for it were practically hypocrites, if you 
 will pardon my directness.  I wonder what kind of character 
 assassinations went on then?
When a person, either superdan, or this time, you, comes around here and starts directly attacking other people out of the blue, yea, you can expect the rest of us are going to lash back.
Look, the other thing about superdan is that we were all well aware that he just some troll that didn't know any better. But you've been very level-headed on here for a long time, so we know you're capable of a lot better than this.
hey hey cool it dood. dont get me outta my lurkin'. ps - when is the new phobos cummin'?
I'm glad to hear you're still around. I did feel your colourful language often obscured your content (which was frequently of very high quality). I miss the content. (Not the language so much <g>).
Feb 15 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Don wrote:
 I'm glad to hear you're still around. I did feel your colourful language 
 often obscured your content (which was frequently of very high quality).
 I miss the content. (Not the language so much <g>).
I seriously doubt superdan uses profanity to offend. He's got an ear for dialog, and the wit to write in a style that is a parody of those that use profanity. I think it's hilarious and enjoy reading it. P.S. 30 years ago, I went to an art house to see "Aguirre, der Zorn Gottes" (Aguirre, the Wrath of God) in German, subtitled in English. There's one scene where it seemed for a full minute a conquistador was yelling at his horse. Eventually, a subtitle appeared which simply said "You damned horse." When that appeared, two people in the theater laughed, including me, as I knew enough German to know that he'd been swearing at the horse in a most foul and thorough manner <g>.
Feb 16 2009
next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Walter,

 Don wrote:
 
 I'm glad to hear you're still around. I did feel your colourful
 language often obscured your content (which was frequently of very
 high quality). I miss the content. (Not the language so much <g>).
 
I seriously doubt superdan uses profanity to offend. He's got an ear for dialog, and the wit to write in a style that is a parody of those that use profanity. I think it's hilarious and enjoy reading it.
Ugh... Superdan, I can echo Don's sentiments.... but pleeease don't take Walter too seriously on this one (even though I'm sure he's serious). If you can accomplish it without the profanity, maybe that's even wittier. :) Walter, I've heard a lot of arguments for defending the expression of "art", but this one's a doosie. But this is the D newsgroup, and we're all entitled to our opinion... yay. I guess I'm kind of getting the picture: I'm like a fish out of water here. *slaps himself on forehead*... stupid me... I suppose that's a good laugh. :P -JJR
Feb 16 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
John Reimer wrote:
 Walter, I've heard a lot of arguments for defending the expression of 
 "art", but this one's a doosie.
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
Feb 16 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Walter,

 John Reimer wrote:
 
 Walter, I've heard a lot of arguments for defending the expression of
 "art", but this one's a doosie.
 
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason. -JJR
Feb 16 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 1:02 PM, John Reimer <terminal.node gmail.com> wrote:
 Hello Walter,

 John Reimer wrote:

 Walter, I've heard a lot of arguments for defending the expression of
 "art", but this one's a doosie.
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason.
Very thoughtful piece there, John. I agree with you pretty much completely. I think the issues you speak of are particularly pervasive in American culture these days. Can't speak for other parts of the world, but things definitely don't seem as bad to me over here in Japan. Then again it could be just that my Japanese just isn't good enough to pick up that level of nuance, but I really don't think Japanese culture has taken a heavy hit from the sarcasm bucket yet. --bb
Feb 16 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Bill,

 On Tue, Feb 17, 2009 at 1:02 PM, John Reimer <terminal.node gmail.com>
 wrote:
 
 Hello Walter,
 
 John Reimer wrote:
 
 Walter, I've heard a lot of arguments for defending the expression
 of "art", but this one's a doosie.
 
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason.
Very thoughtful piece there, John. I agree with you pretty much completely. I think the issues you speak of are particularly pervasive in American culture these days. Can't speak for other parts of the world, but things definitely don't seem as bad to me over here in Japan. Then again it could be just that my Japanese just isn't good enough to pick up that level of nuance, but I really don't think Japanese culture has taken a heavy hit from the sarcasm bucket yet. --bb
Thanks for the encouragment, Bill. You just might regret it later, though. ;) -JJR
Feb 16 2009
parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 3:30 PM, John Reimer <terminal.node gmail.com> wrote:
 Hello Bill,

 On Tue, Feb 17, 2009 at 1:02 PM, John Reimer <terminal.node gmail.com>
 wrote:

 Hello Walter,

 John Reimer wrote:

 Walter, I've heard a lot of arguments for defending the expression
 of "art", but this one's a doosie.
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason.
Very thoughtful piece there, John. I agree with you pretty much completely. I think the issues you speak of are particularly pervasive in American culture these days. Can't speak for other parts of the world, but things definitely don't seem as bad to me over here in Japan. Then again it could be just that my Japanese just isn't good enough to pick up that level of nuance, but I really don't think Japanese culture has taken a heavy hit from the sarcasm bucket yet. --bb
Thanks for the encouragment, Bill. You just might regret it later, though. ;)
I agree with your assessment that there's an issue, and it concerns me too. But I may not agree with you on how it should be addressed. :-) Seems Walter is reading your observations as a call to direct action to control people's speech. I didn't read it that way. --bb
Feb 16 2009
next sibling parent John Reimer <terminal.node gmail.com> writes:
Hello Bill,

 On Tue, Feb 17, 2009 at 3:30 PM, John Reimer <terminal.node gmail.com>
 wrote:
 
 Hello Bill,
 
 On Tue, Feb 17, 2009 at 1:02 PM, John Reimer
 <terminal.node gmail.com> wrote:
 
 Hello Walter,
 
 John Reimer wrote:
 
 Walter, I've heard a lot of arguments for defending the
 expression of "art", but this one's a doosie.
 
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason.
Very thoughtful piece there, John. I agree with you pretty much completely. I think the issues you speak of are particularly pervasive in American culture these days. Can't speak for other parts of the world, but things definitely don't seem as bad to me over here in Japan. Then again it could be just that my Japanese just isn't good enough to pick up that level of nuance, but I really don't think Japanese culture has taken a heavy hit from the sarcasm bucket yet. --bb
Thanks for the encouragment, Bill. You just might regret it later, though. ;)
I agree with your assessment that there's an issue, and it concerns me too. But I may not agree with you on how it should be addressed. :-) Seems Walter is reading your observations as a call to direct action to control people's speech. I didn't read it that way. --bb
Oh, I see. I guess that's a problem that precident creates. No, my discussion here is merely a discussion. I wasn't insinuating that he should control people's speech here... ouch.... Though I'd prefer if people tried to aim for a higher mark. :) -JJR
Feb 16 2009
prev sibling parent John Reimer <terminal.node gmail.com> writes:
Hello Bill,

 On Tue, Feb 17, 2009 at 3:30 PM, John Reimer <terminal.node gmail.com>
 wrote:
 
 Hello Bill,
 
 On Tue, Feb 17, 2009 at 1:02 PM, John Reimer
 <terminal.node gmail.com> wrote:
 
 Hello Walter,
 
 John Reimer wrote:
 
 Walter, I've heard a lot of arguments for defending the
 expression of "art", but this one's a doosie.
 
Ever watch Monty Python? I asked a brit about the accents they use in their skits, because there are many different british accents. He laughed and said the accents were a parody of the british upper class accents. I suspected that, not being british, I was missing half the jokes <g>. There's also Spongebob Squarepants. It's ostensibly a kid's show, but at least in the early episodes there are a lot of digs at Jacques Cousteau's 70's tv series "The Undersea World". What kid would get those jokes?
I tend to care a lot about things and think a lot about implications and idea and how they affect people, including the manner and language used when one expresses oneself to another. I don't particularly care for a lot of the humour available on television today (I don't watch it anymore, anyway). However, it seems that a lot of people enjoy lampoons because it acts as a balm to their mind to help /avoid/ taking most things too seriously. I can appreciate that, but I think there's also a caution involved there. The main problem with many of the new television shows is that, like fashion decides the fad in clothes, someone is deciding for us what is fair game to be laughed at. The limits are pushed continually. For all the talk about religion's apparent control of people's minds, I think there's a whole lot more to be worried about as people feed on the what the boob tube serves up. With long time exposure, I'd say there is possibly a strong influence on their tolerance for what they consider acceptable behavior. Humor, of course, is only one aspect of this. It used to be that the productions in television tried to model the real world. I think the opposite is now happening to some extent as we derive more relevancy from the fantasies and culture created in the imaginary worlds portrayed to us from television. Concerning profanity and swearing. I think many forms of expression should warrant more careful thought. I don't believe profane or irreverant expression has a neutral effect on hearers. We've already seen plenty of evidence of that in here. You may think it's cute and artsy, but I think it does any combination of the following: creates a language barrier, trivializes the original meaning of certain anglo-saxon words, shows general disrespect in communication, demonstrates poor vocabulary, reveals carelessness in thinking of others feelings, etc and on and on. It's like throwing dirt in somebody's face and thinking that's a normal way to interact. We can stamp a "art" sticker on it and call it funny when it is clothed in a comedic role (or any situation really), but this is just as effective as sticking an "ice cream" tab on a pile of manure; there's no way to make it pretty. It's a very pervasive view that swearing is a non-issue these days, and a person is just being prudish and silly if he disaproves. But I've been keenly aware of how the same profanity is expressed with ever so much force and rancor when a person is angry. Then it becomes very clear that the words fit the role perfectly with the malice that expresses them (not to say person should swear when he is angry :) ). It's no wonder that the expression of them becomes confusing when they merge back into everyday speech for no apparent reason.
Very thoughtful piece there, John. I agree with you pretty much completely. I think the issues you speak of are particularly pervasive in American culture these days. Can't speak for other parts of the world, but things definitely don't seem as bad to me over here in Japan. Then again it could be just that my Japanese just isn't good enough to pick up that level of nuance, but I really don't think Japanese culture has taken a heavy hit from the sarcasm bucket yet. --bb
Thanks for the encouragment, Bill. You just might regret it later, though. ;)
I agree with your assessment that there's an issue, and it concerns me too. But I may not agree with you on how it should be addressed. :-) Seems Walter is reading your observations as a call to direct action to control people's speech. I didn't read it that way. --bb
The major thing that got me worried was the /encouragement/ of this kind of speech in Walter's original post. I felt that was unnecessary and exacerbating a problem here. That's probably why I pursued this discussion to this degree. -JJR
Feb 16 2009
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
John Reimer wrote:
 Concerning profanity and swearing.  I think many forms of expression 
 should warrant more careful thought.  I don't believe profane or 
 irreverant expression has a neutral effect on hearers.  We've already 
 seen plenty of evidence of that in here.  You may think it's cute and 
 artsy, but I think it does any combination of the following:  creates a 
 language barrier, trivializes the original meaning of certain 
 anglo-saxon words, shows general disrespect in communication, 
 demonstrates poor vocabulary, reveals carelessness in thinking of others 
 feelings, etc and on and on.   It's like throwing dirt in somebody's 
 face and thinking that's a normal way to interact.  We can stamp a "art" 
 sticker on it and call it funny when it is clothed in a comedic role (or 
 any situation really), but this is just as effective as sticking an "ice 
 cream" tab on a pile of manure; there's no way to make it pretty.
I don't disagree with most of that, except that the language one used reflects on the speaker, not the listener. The listener chooses how to react to that, and that is the listener's choice.
 It's a very pervasive view that swearing is a non-issue these days, and 
 a person is just being prudish and silly if he disaproves.  But I've 
 been keenly aware of how the same profanity is expressed with ever so 
 much force and rancor when a person is angry. Then it becomes very clear 
 that the words fit the role perfectly with the malice that expresses 
 them (not to say person should swear when he is angry :) ).  It's no 
 wonder that the expression of them becomes confusing when they merge 
 back into everyday speech for no apparent reason.
The meanings of words constantly shift and change. Often, a word will revolve around to a completely opposite meaning, then go back again ("bad" is a good (!) example). This is not a modern phenomenon. It's been going on forever, and obviously is why there are different languages in the first place. Trying to control people by controlling words goes back almost as far. For example, several people were burned at the stake for daring to create an english language version of the Bible. Controlling speech is characteristic of repressive societies. I care not for that. You might also consider that these days using profanity is more acceptable than it used to be, while other words, like the infamous "n" word (I can't even type it) used to be acceptable but no longer are.
Feb 16 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Walter,

 John Reimer wrote:
 
 Concerning profanity and swearing.  I think many forms of expression
 should warrant more careful thought.  I don't believe profane or
 irreverant expression has a neutral effect on hearers.  We've already
 seen plenty of evidence of that in here.  You may think it's cute and
 artsy, but I think it does any combination of the following:  creates
 a language barrier, trivializes the original meaning of certain
 anglo-saxon words, shows general disrespect in communication,
 demonstrates poor vocabulary, reveals carelessness in thinking of
 others feelings, etc and on and on.   It's like throwing dirt in
 somebody's face and thinking that's a normal way to interact.  We can
 stamp a "art" sticker on it and call it funny when it is clothed in a
 comedic role (or any situation really), but this is just as effective
 as sticking an "ice cream" tab on a pile of manure; there's no way to
 make it pretty.
 
I don't disagree with most of that, except that the language one used reflects on the speaker, not the listener. The listener chooses how to react to that, and that is the listener's choice.
That's one way to shift responsibility.
 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.  But
 I've been keenly aware of how the same profanity is expressed with
 ever so much force and rancor when a person is angry. Then it becomes
 very clear that the words fit the role perfectly with the malice that
 expresses them (not to say person should swear when he is angry :) ).
 It's no wonder that the expression of them becomes confusing when
 they merge back into everyday speech for no apparent reason.
 
The meanings of words constantly shift and change. Often, a word will revolve around to a completely opposite meaning, then go back again ("bad" is a good (!) example). This is not a modern phenomenon. It's been going on forever, and obviously is why there are different languages in the first place.
Yes, words do shift in meaning. The words we are talking about right now are called "profanity". There is a reason for that. Our society generally knows what the bad words are quite well... and until they shift, we can rest assured that what they express is quite clear. If this were not so, nothing in our language would ever have meaning at any one moment and communication would break down... communication is about interfacing with people, afterall. We must know our audience and prepare our words accordingly if we mean to communicate effectively.
 Trying to control people by controlling words goes back almost as far.
 For example, several people were burned at the stake for daring to
 create an english language version of the Bible. Controlling speech is
 characteristic of repressive societies. I care not for that.
 
Yes, those extreme examples do paint weighty pictures. I begin understand a little more about you. I've spoken my mind a lot in this list, sometimes too much... but you've had the opportunity to see a part of who I am for awhile now. I've had barely a glimpse of who you are. It's actually been fairly confusing for me, in fact. However, now I can also see why you are worried about repression of me or anyone else for good or for bad: and this is primarily why this list slips and slides all over the map, billows, heaves and explodes multiple times over. And why there is heavy ostracism (even repression :) ) of anyone who appears to "repress" any sort of freedom of speech... perhaps even the worst kind. But even so you've had to resort to some forms of "repression" (moderation) when somebody has asked you to or when you have deemed it necessary. So you are forced into a bit of an inconsistancy. There is another flaw with how you generalize the word "repression". You can indeed blame some ills of society and government on repression. But in fact, you've only chosen your mode of repression: you are not actually disengaging from it. When you agree that total freedom of expression is acceptable, you must allow a repression to occur where the stronger, more vocal, more forceful, more well-spoken overwhelm those that are less able to express... the more feable-minded, the less articulate. Repression still occurs. It just doesn't take on the formal/organized aspect you so despise. And to what do we limit the complete freedom of speech? The more liberal the mind, the less it would hinder it and the more generally it would interpret it (as to what point "free expression" may lead to "action"). Yes, there is a fine balance to all this, and repression can work horribly in both directions, but I'd be very cautious in insinuating that you have taken some sort of higher road by avoiding a repression of one sort only to allow the development of another shade of it. If you choose to argue against any form of control system, you argue against the ability to maintain any type of order... and so it will always be. As history goes, nothing is new in this regard... we've flipped back and forth between these forms of repression for centuries and failed thoroughly at both extremes. It seems people think they've discovered something new in this area repeatedly: they escape one net only to land in another.
 You might also consider that these days using profanity is more
 acceptable than it used to be, while other words, like the infamous
 "n" word (I can't even type it) used to be acceptable but no longer
 are.
 
If profanity is becoming more acceptable it is not for a changing in word-meaning as you suggested happens above. An honest examination of the phenomenon would indicate that there is growing /apathy/ for the /effect/ that this kind of speech has on the receiver of it Even with this apathy in force, it is not uncommon for people to recognize the effect such words have on others in certain situtions and to change their speech accordingly. Think how one might speak in the presence of the the President of the United States or Queen Elizabeth II, or even a simple minister. I've seen similar mysterious changes in habit happen before. What seems to happen is that the individual breaks through his general indifference to recognize how his speech may be received or how it may charactarize him to the other person, thus initiating a certain "repression" of his vocal faculties. -JJR
Feb 16 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c1452e8cb5e9c3ce5b5d0 news.digitalmars.com...
 Hello Walter,

 John Reimer wrote:

 Concerning profanity and swearing.  I think many forms of expression
 should warrant more careful thought.  I don't believe profane or
 irreverant expression has a neutral effect on hearers.  We've already
 seen plenty of evidence of that in here.  You may think it's cute and
 artsy, but I think it does any combination of the following:  creates
 a language barrier, trivializes the original meaning of certain
 anglo-saxon words, shows general disrespect in communication,
 demonstrates poor vocabulary, reveals carelessness in thinking of
 others feelings, etc and on and on.   It's like throwing dirt in
 somebody's face and thinking that's a normal way to interact.  We can
 stamp a "art" sticker on it and call it funny when it is clothed in a
 comedic role (or any situation really), but this is just as effective
 as sticking an "ice cream" tab on a pile of manure; there's no way to
 make it pretty.
I don't disagree with most of that, except that the language one used reflects on the speaker, not the listener. The listener chooses how to react to that, and that is the listener's choice.
That's one way to shift responsibility.
As a listener, I find the suggestion that the speaker is the one in control of my reaction downright insulting. No one's attempting to "shift responsibility" here.
Feb 16 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c1452e8cb5e9c3ce5b5d0 news.digitalmars.com...
 
 Hello Walter,
 
 John Reimer wrote:
 
 Concerning profanity and swearing.  I think many forms of
 expression should warrant more careful thought.  I don't believe
 profane or irreverant expression has a neutral effect on hearers.
 We've already seen plenty of evidence of that in here.  You may
 think it's cute and artsy, but I think it does any combination of
 the following:  creates a language barrier, trivializes the
 original meaning of certain anglo-saxon words, shows general
 disrespect in communication, demonstrates poor vocabulary, reveals
 carelessness in thinking of others feelings, etc and on and on.
 It's like throwing dirt in somebody's face and thinking that's a
 normal way to interact.  We can stamp a "art" sticker on it and
 call it funny when it is clothed in a comedic role (or any
 situation really), but this is just as effective as sticking an
 "ice cream" tab on a pile of manure; there's no way to make it
 pretty.
 
I don't disagree with most of that, except that the language one used reflects on the speaker, not the listener. The listener chooses how to react to that, and that is the listener's choice.
That's one way to shift responsibility.
As a listener, I find the suggestion that the speaker is the one in control of my reaction downright insulting. No one's attempting to "shift responsibility" here.
Hmm... I didn't think of it quite that way. :) Nick, I'm merely saying that we must take responsibility for what we say, including the potential affect on the listener. I felt Walter was shifting this responsibilty away with his statement here, but perhaps I confused his meaning? If so, my apologies. I'm afraid as I get more tired, my brain waves get fuzzier. -JJR
Feb 16 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c145458cb5ea19dc58340 news.digitalmars.com...
 Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c1452e8cb5e9c3ce5b5d0 news.digitalmars.com...

 Hello Walter,

 John Reimer wrote:

 Concerning profanity and swearing.  I think many forms of
 expression should warrant more careful thought.  I don't believe
 profane or irreverant expression has a neutral effect on hearers.
 We've already seen plenty of evidence of that in here.  You may
 think it's cute and artsy, but I think it does any combination of
 the following:  creates a language barrier, trivializes the
 original meaning of certain anglo-saxon words, shows general
 disrespect in communication, demonstrates poor vocabulary, reveals
 carelessness in thinking of others feelings, etc and on and on.
 It's like throwing dirt in somebody's face and thinking that's a
 normal way to interact.  We can stamp a "art" sticker on it and
 call it funny when it is clothed in a comedic role (or any
 situation really), but this is just as effective as sticking an
 "ice cream" tab on a pile of manure; there's no way to make it
 pretty.
I don't disagree with most of that, except that the language one used reflects on the speaker, not the listener. The listener chooses how to react to that, and that is the listener's choice.
That's one way to shift responsibility.
As a listener, I find the suggestion that the speaker is the one in control of my reaction downright insulting. No one's attempting to "shift responsibility" here.
Hmm... I didn't think of it quite that way. :) Nick, I'm merely saying that we must take responsibility for what we say, including the potential affect on the listener.
Hmm, I can sympathise with that point. However, I'm convinced it's a futile effort in most cases, except perhaps direct one-on-one conversation. The problem is that people are just very different. Sure, some people find South Park and George Carlin disgusting and offensive, but others find them appealing and quite literally find the squeaky-clean content of Brady Bunch and Leave It To Beaver to be deplorable (for a number of different reasons). Some groups of people regularly toss around swear words in ordinary conversation with none of the listeners ever getting the slightest tinge of discomfort. Other people are offended by such swear words, but on the other hand, many people are *truly* offended by political correctness. If everybody was the same, then sure, it would make perfect sense to expect people to take responsibility for how the listener is affected. But this is the real world, and everyone is not remotely the same, so in most cases such a convention would be tricky at best, and in the case of mass-media, it's nothing short of a complete and total impossibility. Incidentally, this is exactly why I consider the golden rule to be great in spirit and as a rough general guideline, but absoultely terrible when taken as-is.
 I'm afraid as I get more tired, my brain waves get fuzzier.
Heh, this is one area where you and me *are* the same ;)
Feb 16 2009
parent "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:gndqjh$144o$1 digitalmars.com...
 If everybody was the same, then sure, it would make perfect sense to 
 expect people to take responsibility for how the listener is affected. But 
 this is the real world, and everyone is not remotely the same, so in most 
 cases such a convention would be tricky at best, and in the case of 
 mass-media, it's nothing short of a complete and total impossibility.
Plus, there's also the issue that if the public, in general, really was so offended by such profanity in mass-media, such content would be very short-lived instead of becoming as prolific as it is today.
Feb 17 2009
prev sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
John Reimer wrote:
 Nick, I'm merely saying that we must take responsibility for what we 
 say, including the potential affect on the listener.
I can't take it any more! Affect (noun): appearance, expression (on one's face) Effect (noun): result Affect (verb): alter, change, produce an effect Effect (verb): complete, finish
Feb 17 2009
parent reply =?UTF-8?B?QWxleGFuZGVyIFDDoW5law==?= writes:
Christopher Wright wrote:
 I can't take it any more!
Shouldn’t it be “anymore” or “any longer”? ;P
Feb 17 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Alexander Pánek wrote:
 Christopher Wright wrote:
 I can't take it any more!
Shouldn’t it be “anymore” or “any longer”? ;P
Not no-how, not no-way.
Feb 17 2009
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
On Tue, 17 Feb 2009 04:02:59 +0000 (UTC), John Reimer wrote:

 
 I don't particularly care for a lot 
 of the humour available on television today (I don't watch it anymore,
anyway). 
There might be a baby in bathwater issue here.
 ... I think there's a whole lot more to be worried about as people feed
 on the what the boob tube serves up...
[snigger.. ] He said "boob" [snigger...] Sorry, couldn't help myself. To paraphrase Einstein, we should take things seriously but not too seriously.
 Concerning profanity and swearing.  I think many forms of expression should 
 warrant more careful thought.
And that also applies to other forms of speech, of course.
  I don't believe profane or irreverant expression 
 has a neutral effect on hearers.
Of course it doesn't. That's often why its uttered in the first place - to affect the hearer.
  We've already seen plenty of evidence of 
 that in here.  You may think it's cute and artsy, but I think it does any 
 combination of the following:  creates a language barrier, trivializes the 
 original meaning of certain anglo-saxon words, shows general disrespect in 
 communication, demonstrates poor vocabulary, reveals carelessness in thinking 
 of others feelings, etc and on and on.   It's like throwing dirt in somebody's 
 face and thinking that's a normal way to interact.  We can stamp a "art" 
 sticker on it and call it funny when it is clothed in a comedic role (or 
 any situation really), but this is just as effective as sticking an "ice 
 cream" tab on a pile of manure; there's no way to make it pretty.
Bloody hell, mate (oh shit! ... was that swearing ... sorry), language is never static. In which language can one not cuss? It appears to be normal for people to express frustration and anger in (irrational?) words. But I do agree there is way too much gratuitous swearing - but much of that is juvenile attention-seeking behaviour, and should be dismissed and accepted as just that.
 It's a very pervasive view that swearing is a non-issue these days, and a 
 person is just being prudish and silly if he disaproves.
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
  But I've been keenly 
 aware of how the same profanity is expressed with ever so much force and 
 rancor when a person is angry. Then it becomes very clear that the words 
 fit the role perfectly with the malice that expresses them (not to say person 
 should swear when he is angry :) ).  It's no wonder that the expression of 
 them becomes confusing when they merge back into everyday speech for no
apparent 
 reason.
Yep, I think your right here. A particular use of language is often used as a sign of comradeship; a way of showing that "I belong". It seems that swearing falls into this category too. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Feb 16 2009
next sibling parent John Reimer <terminal.node gmail.com> writes:
Hello Derek,

 On Tue, 17 Feb 2009 04:02:59 +0000 (UTC), John Reimer wrote:
 
 I don't particularly care for a lot of the humour available on
 television today (I don't watch it anymore, anyway).
 
There might be a baby in bathwater issue here.
 ... I think there's a whole lot more to be worried about as people
 feed on the what the boob tube serves up...
 
[snigger.. ] He said "boob" [snigger...] Sorry, couldn't help myself. To paraphrase Einstein, we should take things seriously but not too seriously.
 Concerning profanity and swearing.  I think many forms of expression
 should warrant more careful thought.
 
And that also applies to other forms of speech, of course.
 I don't believe profane or irreverant expression has a neutral effect
 on hearers.
 
Of course it doesn't. That's often why its uttered in the first place - to affect the hearer.
 We've already seen plenty of evidence of that in here.  You may think
 it's cute and artsy, but I think it does any combination of the
 following:  creates a language barrier, trivializes the original
 meaning of certain anglo-saxon words, shows general disrespect in
 communication, demonstrates poor vocabulary, reveals carelessness in
 thinking of others feelings, etc and on and on.   It's like throwing
 dirt in somebody's face and thinking that's a normal way to interact.
 We can stamp a "art" sticker on it and call it funny when it is
 clothed in a comedic role (or any situation really), but this is just
 as effective as sticking an "ice cream" tab on a pile of manure;
 there's no way to make it pretty.
 
Bloody hell, mate (oh shit! ... was that swearing ... sorry), language is never static. In which language can one not cuss? It appears to be normal for people to express frustration and anger in (irrational?) words. But I do agree there is way too much gratuitous swearing - but much of that is juvenile attention-seeking behaviour, and should be dismissed and accepted as just that.
 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
 
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
 But I've been keenly aware of how the same profanity is expressed
 with ever so much force and rancor when a person is angry. Then it
 becomes very clear that the words fit the role perfectly with the
 malice that expresses them (not to say person should swear when he is
 angry :) ).  It's no wonder that the expression of them becomes
 confusing when they merge back into everyday speech for no apparent
 reason.
 
Yep, I think your right here. A particular use of language is often used as a sign of comradeship; a way of showing that "I belong". It seems that swearing falls into this category too.
You're funny, Derek. I don't feel the urge (hmmm... or ability, for that matter) to contradict your statements. I think you made your points well enough. And I'm tired.... -JJR
Feb 16 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Derek,

 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
 
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
No, I don't. It was a general observation from my interactions within certain groups of people. So I would do best to withdraw that statement. -JJR
Feb 16 2009
parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 3:52 PM, John Reimer <terminal.node gmail.com> wrote:
 Hello Derek,

 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
No, I don't. It was a general observation from my interactions within certain groups of people. So I would do best to withdraw that statement.
George Carlin. Chris Rock. South Park. Never would have been accepted in the Leave-it-to-Beaver era. --bb
Feb 16 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"Bill Baxter" <wbaxter gmail.com> wrote in message 
news:mailman.753.1234854114.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 3:52 PM, John Reimer <terminal.node gmail.com> 
 wrote:
 Hello Derek,

 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
No, I don't. It was a general observation from my interactions within certain groups of people. So I would do best to withdraw that statement.
George Carlin. Chris Rock. South Park. Never would have been accepted in the Leave-it-to-Beaver era.
Oh man, I would *hate* to be restricted to 50's era television shows like that. I'd feel like I was living in some crazy puritan-revival sect. I've felt for a while that the issue of profanity can be summed up as "People fall into one of two groups: Those who believe in the old 'sticks and stones' adage and those who don't." It takes a weak person to be harmed by words.
Feb 16 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 4:14 PM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.753.1234854114.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 3:52 PM, John Reimer <terminal.node gmail.com>
 wrote:
 Hello Derek,

 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
No, I don't. It was a general observation from my interactions within certain groups of people. So I would do best to withdraw that statement.
George Carlin. Chris Rock. South Park. Never would have been accepted in the Leave-it-to-Beaver era.
Oh man, I would *hate* to be restricted to 50's era television shows like that. I'd feel like I was living in some crazy puritan-revival sect.
Well, you're a product of your environment, so I guess that's not really surprising.
 I've felt for a while that the issue of profanity can be summed up as
 "People fall into one of two groups: Those who believe in the old 'sticks
 and stones' adage and those who don't." It takes a weak person to be harmed
 by words.
I don't quite know what to say to that. So you're saying you wouldn't mind if someone stood behind you uttering profanities all day long? I would find that highly annoying and it would most certainly contribute to my stress levels. Even if it weren't profanities it would be highly annoying. So to say words can't harm you seems nonsense to me. Sure words do not cause physical injury, but are physical injuries the only ones that matter? --bb
Feb 16 2009
next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Bill Baxter wrote:
 I don't quite know what to say to that.   So you're saying you
 wouldn't mind if someone stood behind you uttering profanities all day
 long?  I would find that highly annoying and it would most certainly
 contribute to my stress levels.  Even if it weren't profanities it
 would be highly annoying.  So to say words can't harm you seems
 nonsense to me.  Sure words do not cause physical injury, but are
 physical injuries the only ones that matter?
I'd be just as annoyed if you stood behind me reading the dictionary aloud all day. It's not the words or ideas that annoy, it's the sound.
Feb 17 2009
next sibling parent reply Daniel Keep <daniel.keep.lists gmail.com> writes:
Walter Bright wrote:
 Bill Baxter wrote:
 I don't quite know what to say to that.   So you're saying you
 wouldn't mind if someone stood behind you uttering profanities all day
 long?  I would find that highly annoying and it would most certainly
 contribute to my stress levels.  Even if it weren't profanities it
 would be highly annoying.  So to say words can't harm you seems
 nonsense to me.  Sure words do not cause physical injury, but are
 physical injuries the only ones that matter?
I'd be just as annoyed if you stood behind me reading the dictionary aloud all day. It's not the words or ideas that annoy, it's the sound.
What if it was Sean Connery reading it?
Feb 17 2009
parent "Nick Sabalausky" <a a.a> writes:
"Daniel Keep" <daniel.keep.lists gmail.com> wrote in message 
news:gnduoc$1deu$1 digitalmars.com...
 Walter Bright wrote:
 Bill Baxter wrote:
 I don't quite know what to say to that.   So you're saying you
 wouldn't mind if someone stood behind you uttering profanities all day
 long?  I would find that highly annoying and it would most certainly
 contribute to my stress levels.  Even if it weren't profanities it
 would be highly annoying.  So to say words can't harm you seems
 nonsense to me.  Sure words do not cause physical injury, but are
 physical injuries the only ones that matter?
I'd be just as annoyed if you stood behind me reading the dictionary aloud all day. It's not the words or ideas that annoy, it's the sound.
What if it was Sean Connery reading it?
Oh, well now of course that would be different. :) Except it might be difficult at work though...so soothing...must...work...but...nice...like a lullaby...ZZzzzzzz.....
Feb 17 2009
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote in message 
news:gndrqu$193p$1 digitalmars.com...
 Bill Baxter wrote:
 I don't quite know what to say to that.   So you're saying you
 wouldn't mind if someone stood behind you uttering profanities all day
 long?  I would find that highly annoying and it would most certainly
 contribute to my stress levels.  Even if it weren't profanities it
 would be highly annoying.  So to say words can't harm you seems
 nonsense to me.  Sure words do not cause physical injury, but are
 physical injuries the only ones that matter?
I'd be just as annoyed if you stood behind me reading the dictionary aloud all day. It's not the words or ideas that annoy, it's the sound.
Incidentally, I actually had a co-worker once who did more-or-less just that. He wasn't following me around or anything, but it was a small war-room setup and he was always yapping away with someone, and every other word out of his mouth was some variant of "fuck", regardless of whether or not it actually fit the content of the sentence. Irritating as hell, but it would have been just as bad if it were either a "surfer-dude"-style overuse of "like" or even just constant whistling or pencil-tapping...Or noise-making yo-yos...Those damn, insufferable, company-issued logo-bearing noise-making yo-yos...with the blinky red lights and everything...talk about "bells and whistles"...Man, I hated those things...(And yes, that seriously happened, at the same job. And it was a room of *programmers*.)
Feb 17 2009
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Bill Baxter" <wbaxter gmail.com> wrote in message 
news:mailman.755.1234856377.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 4:14 PM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.753.1234854114.22690.digitalmars-d puremagic.com...
 George Carlin.  Chris Rock.  South Park.  Never would have been
 accepted in the Leave-it-to-Beaver era.
Oh man, I would *hate* to be restricted to 50's era television shows like that. I'd feel like I was living in some crazy puritan-revival sect.
Well, you're a product of your environment, so I guess that's not really surprising.
That's only true to a certain extent. There are plenty of things I've spent years completely surrounded by and never liked, and plenty of things that I liked immediately upon introduction. And I'd venture to say that's true of most people as well.
 I've felt for a while that the issue of profanity can be summed up as
 "People fall into one of two groups: Those who believe in the old 'sticks
 and stones' adage and those who don't." It takes a weak person to be 
 harmed
 by words.
I don't quite know what to say to that. So you're saying you wouldn't mind if someone stood behind you uttering profanities all day long? I would find that highly annoying and it would most certainly contribute to my stress levels. Even if it weren't profanities it would be highly annoying. So to say words can't harm you seems nonsense to me. Sure words do not cause physical injury, but are physical injuries the only ones that matter?
You're attributing more to the idea of "words" than just "words". What you're describing is harassment. Yes, harassment involves words, but it's clearly more than just words. Such scenarios are not what I'm talking about. (Granted, the "sticks and stones" adage is traditionally used to pacify kids that were the victims of name-calling, so maybe describing it that way was inaccurate after all.) What I'm talking about is illustrated by this: On some show/song/game/etc., some character says: "Why can't I get my CPU fan to work?!?" "Why can't I get my dang CPU fan to work?!?" "Why can't I get my fucking CPU fan to work?!?" The intent, scenario, action, everything, is exactly the same. The only difference is the words. No one that tunes in, listens, and remains unharmed by one of those is ever going to be harmed by one of the others unless there's something seriously wrong with them. Sure, words can be used in ways that can harm, but the harm doesn't come from the words themselves. I can do hurtful things that involve words without ever going near profanity. For example, go up to someone who is insecure about their acne and use these particular words: "I'm surprised you are willing to show that face in public." Of course, one could argue that this particular *combination* of words is profane, but even that's not true: I could recite that exact same arrangement to a good friend with a good sense of humor, or to a mask-painter who's unveiling a piece from a private collection they had previously been very secretive about. Same arrangement, same words, different acceptability-levels. Conversely, I can use profanity in a way that doesn't harm anyone. "Oh, fuck, I almost overslept." Words like "that" can be used in ways that are highly offensive, and words like "fuck" can be used in ways that are completely benign - any word can be used either way. So clearly, the words themselves can't be inherently good or bad.
Feb 17 2009
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Nick Sabalausky wrote:
 You're attributing more to the idea of "words" than just "words". What
 you're describing is harassment. Yes, harassment involves words, but it's
 clearly more than just words. Such scenarios are not what I'm talking about.
 (Granted, the "sticks and stones" adage is traditionally used to pacify kids
 that were the victims of name-calling, so maybe describing it that way was
 inaccurate after all.)

 What I'm talking about is illustrated by this:
 On some show/song/game/etc., some character says:
 "Why can't I get my CPU fan to work?!?"
 "Why can't I get my dang CPU fan to work?!?"
 "Why can't I get my fucking CPU fan to work?!?"

 The intent, scenario, action, everything, is exactly the same. The only
 difference is the words. No one that tunes in, listens, and remains unharmed
 by one of those is ever going to be harmed by one of the others unless
 there's something seriously wrong with them.

 Sure, words can be used in ways that can harm, but the harm doesn't come
 from the words themselves. I can do hurtful things that involve words
 without ever going near profanity. For example, go up to someone who is
 insecure about their acne and use these particular words: "I'm surprised you
 are willing to show that face in public." Of course, one could argue that
 this particular *combination* of words is profane, but even that's not true:
 I could recite that exact same arrangement to a good friend with a good
 sense of humor, or to a mask-painter who's unveiling a piece from a private
 collection they had previously been very secretive about. Same arrangement,
 same words, different acceptability-levels. Conversely, I can use profanity
 in a way that doesn't harm anyone. "Oh, fuck, I almost overslept." Words
 like "that" can be used in ways that are highly offensive, and words like
 "fuck" can be used in ways that are completely benign - any word can be used
 either way. So clearly, the words themselves can't be inherently good or
 bad.
in other words: "Human languages are context-sensitive while programming languages are context-free". Except C++ of course, but that's a bad example of a programming language <g> context-sensitive means that you need to have both the context and the language phrase to derive "semantic" meaning. it's obvious that for a specific context, a phrase can indeed be hurtful much more than physical violence. Anyone who says otherwise, is lying to himself/herself. Like Don said, words can and did cause wars (under a specific context, of course).. just my 2 golden-pieces..
Feb 17 2009
parent reply Daniel de Kok <me danieldk.org> writes:
On Tue, Feb 17, 2009 at 8:19 PM, Yigal Chripun <yigal100 gmail.com> wrote:
 context-sensitive means that you need to have both the context and the
 language phrase to derive "semantic" meaning.
No, context-sensitive refers to the left-hand side of a grammar (rewrite) rule. A CFG is restricted in the sense that the left hand side of a grammar rule can only be one non-terminal. The right hand side can contain terminals, non-terminal, and epsilons. E.g.: NP --> Det N is a valid CFG rule. An unrestricted grammar allows (one or more) terminals and non-terminals on the left hand side. A context-sensitive grammar is like an unrestricted grammar, but does not allow for epsilons on the left or right hand sides. Some surface strings can not be described by finite grammars that can be described by a context-free grammar, such as AnBn (n A's followed by n B's). Likewise, some surface strings can be described by an unrestricted grammar that can not be described by a context-free grammar (such as AnBnCn). We're not talking semantics here, just surface strings ;). Of course, extracting semantics can be a side-effect of parsing. Take care, Daniel
Feb 17 2009
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Daniel de Kok wrote:
 On Tue, Feb 17, 2009 at 8:19 PM, Yigal Chripun<yigal100 gmail.com>  wrote:
 context-sensitive means that you need to have both the context and the
 language phrase to derive "semantic" meaning.
No, context-sensitive refers to the left-hand side of a grammar (rewrite) rule. A CFG is restricted in the sense that the left hand side of a grammar rule can only be one non-terminal. The right hand side can contain terminals, non-terminal, and epsilons. E.g.: NP --> Det N is a valid CFG rule. An unrestricted grammar allows (one or more) terminals and non-terminals on the left hand side. A context-sensitive grammar is like an unrestricted grammar, but does not allow for epsilons on the left or right hand sides. Some surface strings can not be described by finite grammars that can be described by a context-free grammar, such as AnBn (n A's followed by n B's). Likewise, some surface strings can be described by an unrestricted grammar that can not be described by a context-free grammar (such as AnBnCn). We're not talking semantics here, just surface strings ;). Of course, extracting semantics can be a side-effect of parsing. Take care, Daniel
I was trying to be a bit more liberal than the strict mathematical definition since I was talking about human (natural) languages. a context for natural languages contains more than what you described above. for instance, I can say the exact same sentence and reveres it's meaning by the intonation of my voice.
Feb 17 2009
parent Daniel de Kok <me danieldk.org> writes:
On Tue, Feb 17, 2009 at 9:48 PM, Yigal Chripun <yigal100 gmail.com> wrote:
 I was trying to be a bit more liberal than the strict mathematical
 definition since I was talking about human (natural) languages.
Sorry, I heard CFG and CSG and alarm lights went of ;).
 a context for natural languages contains more than what you described above.
 for instance, I can say the exact same sentence and reveres it's meaning by
 the intonation of my voice.
Indeed. For instance, in Dutch we can put the direct object in the sentence initial position. A classical example: Elvis drinkt wijn (Elvis drinks wine) Wijn drinkt Elvis (Wine drinks Elvis) Depending on the intonation the second sentence either has the same meaning as the first sentence, or a very unlikely meaning ;). Of course, the fact that the verb 'drinken' tends to have a preference for having drinkable stuff as its direct object helps ;). Of course, you may also be referring to rethorics ;). Take care, Daniel
Feb 17 2009
prev sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 6:06 PM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.755.1234856377.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 4:14 PM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.753.1234854114.22690.digitalmars-d puremagic.com...
 George Carlin.  Chris Rock.  South Park.  Never would have been
 accepted in the Leave-it-to-Beaver era.
Oh man, I would *hate* to be restricted to 50's era television shows like that. I'd feel like I was living in some crazy puritan-revival sect.
Well, you're a product of your environment, so I guess that's not really surprising.
That's only true to a certain extent. There are plenty of things I've spent years completely surrounded by and never liked, and plenty of things that I liked immediately upon introduction. And I'd venture to say that's true of most people as well.
I didn't mean it was inevitable. Just that given environment X, you're likely to find a bell curve around that environment's norms. So finding someone who agrees with current norms and not ones of 50 years ago is not surprising. More surprising would be to hear a young person say "Oh golly gee, I sure wish we could go back to the 50's".
 I've felt for a while that the issue of profanity can be summed up a
 "People fall into one of two groups: Those who believe in the old 'sticks
 and stones' adage and those who don't." It takes a weak person to be
 harmed
 by words.
I don't quite know what to say to that. So you're saying you wouldn't mind if someone stood behind you uttering profanities all day long? I would find that highly annoying and it would most certainly contribute to my stress levels. Even if it weren't profanities it would be highly annoying. So to say words can't harm you seems nonsense to me. Sure words do not cause physical injury, but are physical injuries the only ones that matter?
 You're attributing more to the idea of "words" than just "words". What
 you're describing is harassment.
Or rather, you're attributing less to "words" than all that "words" suggests. :-) But ok I see what you meant to say better now.
 What I'm talking about is illustrated by this:
 On some show/song/game/etc., some character says:
 "Why can't I get my CPU fan to work?!?"
 "Why can't I get my dang CPU fan to work?!?"
 "Why can't I get my fucking CPU fan to work?!?"

 The intent, scenario, action, everything, is exactly the same. The only
 difference is the words. No one that tunes in, listens, and remains unharmed
 by one of those is ever going to be harmed by one of the others unless
 there's something seriously wrong with them.
 Sure, words can be used in ways that can harm, but the harm doesn't come
 from the words themselves. I can do hurtful things that involve words
 without ever going near profanity. For example, go up to someone who is
 insecure about their acne and use these particular words: "I'm surprised you
 are willing to show that face in public." Of course, one could argue that
 this particular *combination* of words is profane, but even that's not true:
 I could recite that exact same arrangement to a good friend with a good
 sense of humor, or to a mask-painter who's unveiling a piece from a private
 collection they had previously been very secretive about. Same arrangement,
 same words, different acceptability-levels. Conversely, I can use profanity
 in a way that doesn't harm anyone. "Oh, fuck, I almost overslept." Words
 like "that" can be used in ways that are highly offensive, and words like
 "fuck" can be used in ways that are completely benign - any word can be used
 either way. So clearly, the words themselves can't be inherently good or
 bad.
Ok, so sounds like you've decided that swearing like a sailor is perfectly A-OK as long as no harm is intended. But here's the deal for me. I, probably like many others, spent the first 18 years of my life having my parents and teachers tell me that that was wrong. So no matter what you say, my "whoa that's wrong!" sensors go off every time I hear a profanity. It's maybe like watching someone break in line -- even a line you're not standing in. You see it, and your "that's just not right" sensors start going off. It's not a great harm, no, but it brings about an elevated level of stress. Or watching someone kick a puppy. Or in another way it's like sitting in a restaurant where people are smoking. To the other smokers in the room it probably seems like a pleasant environment but to most non-smokers it is very annoying and something that is hard to ignore. So maybe you say, that's your problem, get over it. Maybe so, but I don't really want to get over it. There's no real redeeming value in casual swearing. I don't believe society is any better off with everyone swearing at each other than it is with everyone being polite and respectful. If I could choose my world to live in, I'd definitely choose the latter over the former. I see no value in trying to push the envelope there, like South Park does. Which is a bummer because South Park has some really funny stuff underneath all that cursing. But I just can't enjoy it. I enjoy it much more when people tell me what happened in an episode without using all the swearing. :-) Maybe all this makes me some kind of freak outlier far to the right of current societal norms, but so far I don't see swearing becoming a big part of the nightly news or presidential addresses. So I think it is still not considered proper to speak in that way by the majority of society. What's really funny, though, is to meet people who have learned English primarily by watching American movies. They seem to be under the impression that you need to put in a swear word every sentence or so in order to sound American. On the other hand I do *not* wish to impose my preferences on others by force. I believe firmly in free speech. You can say whatever you please. But just do not do so under the delusion that what you say and how you say it has no affect on others. --bb
Feb 17 2009
parent reply Mike Parker <aldacron gmail.com> writes:
Bill Baxter wrote:
 On Tue, Feb 17, 2009 at 6:06 PM, Nick Sabalausky <a a.a> wrote:
 
 Sure, words can be used in ways that can harm, but the harm doesn't come
 from the words themselves. I can do hurtful things that involve words
 without ever going near profanity. For example, go up to someone who is
 insecure about their acne and use these particular words: "I'm surprised you
 are willing to show that face in public." Of course, one could argue that
 this particular *combination* of words is profane, but even that's not true:
 I could recite that exact same arrangement to a good friend with a good
 sense of humor, or to a mask-painter who's unveiling a piece from a private
 collection they had previously been very secretive about. Same arrangement,
 same words, different acceptability-levels. Conversely, I can use profanity
 in a way that doesn't harm anyone. "Oh, fuck, I almost overslept." Words
 like "that" can be used in ways that are highly offensive, and words like
 "fuck" can be used in ways that are completely benign - any word can be used
 either way. So clearly, the words themselves can't be inherently good or
 bad.
Ok, so sounds like you've decided that swearing like a sailor is perfectly A-OK as long as no harm is intended. But here's the deal for me. I, probably like many others, spent the first 18 years of my life having my parents and teachers tell me that that was wrong. So no matter what you say, my "whoa that's wrong!" sensors go off every time I hear a profanity. It's maybe like watching someone break in
This is true for a majority of people, I think. We aren't just /taught/ from a young age that certain words are bad, it's hammered into us. I still would never say "shit" in front of my grandmother.
 line -- even a line you're not standing in.  You see it, and your
 "that's just not right" sensors start going off.  It's not a great
 harm, no, but it brings about an elevated level of stress.  Or
 watching someone kick a puppy.   Or in another way it's like sitting
 in a restaurant where people are smoking.  To the other smokers in the
 room it probably seems like a pleasant environment but to most
 non-smokers it is very annoying and something that is hard to ignore.
 
 So maybe you say, that's your problem, get over it.  Maybe so, but I
 don't really want to get over it.  There's no real redeeming value in
 casual swearing.  I don't believe society is any better off with
 everyone swearing at each other than it is with everyone being polite
 and respectful.  If I could choose my world to live in, I'd definitely
 choose the latter over the former.  I see no value in trying to push
 the envelope there, like South Park does.   Which is a bummer because
 South Park has some really funny stuff underneath all that cursing.
 But I just can't enjoy it.  I enjoy it much more when people tell me
 what happened in an episode without using all the swearing.  :-)
 
 Maybe all this makes me some kind of freak outlier far to the right of
 current societal norms, but so far I don't see swearing becoming a big
 part of the nightly news or presidential addresses.  So I think it is
 still not considered proper to speak in that way by the majority of
 society.  What's really funny, though, is to meet people who have
 learned English primarily by watching American movies.  They seem to
 be under the impression that you need to put in a swear word every
 sentence or so in order to sound American.
The problem I have with the stigma on swearing is that people who find these words objectionable tend to replace them with other words that aren't so objectionable in order to get the same intent across. Nick mentioned this already. To me, it's an absurd practice. Consider the case of insulting someone. If I were angry at someone and wanted to let them know what I thought of them, I might say one of the following: "You're a piece of shit!" --> unacceptable "You're a piece of crap!" --> acceptable to many, but the intent is same "You're a piece of poo!" --> who would object to that? My mother would not have scolded me had she heard me call someone a piece of poo. She would have admonished me for using "crap", since crap sounds dirtier to her than the cutesy poo. She would have slapped my face for saying "shit". But in all three cases the intent is the same. If I were wanting to insult someone, I would use the harshest word I could allow myself to use. In my case, I have no problem saying "shit", despite my upbringing. My mother would use "crap", because she thinks that's quite dirty enough to get the point across. My grandmother would use "poo", but it doesn't mean the emotion behind it is any less than mine or my mother's, or the intent any different. What of the case of swearing in general, not /at/ someone? If I stub my toe, I might exclaim, "Fuck!" Someone nearby might be offended by that. So should I take that into consideration, check my natural reaction, and exclaim "Ouch!" instead? I say no. This really is the listener's problem, not the speaker's. There's nothing inherently wrong with any swear word. Any perceived offense or insult behind the words themselves is a result of indoctrination by our parents and teachers. And when you really want to insult someone, non-swear words are no less vile than swear words. The intent behind the words is what matters most. Getting upset over the words themselves is just plain silliness. That said, I admit to cringing every time I read superdan's posts. In my mind, I know it's ridiculous. But ideas forced on us in childhood are hard to let go of completely.
 
 On the other hand I do *not* wish to impose my preferences on others
 by force.  I believe firmly in free speech.  You can say whatever you
 please.  But just do not do so under the delusion that what you say
 and how you say it has no affect on others.
 
 --bb
Feb 17 2009
next sibling parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Tue, Feb 17, 2009 at 6:31 PM, Mike Parker <aldacron gmail.com> wrote:
 The problem I have with the stigma on swearing is that people who find these
 words objectionable tend to replace them with other words that aren't so
 objectionable in order to get the same intent across. Nick mentioned this
 already. To me, it's an absurd practice.

 Consider the case of insulting someone. If I were angry at someone and
 wanted to let them know what I thought of them, I might say one of the
 following:

 "You're a piece of shit!" --> unacceptable
 "You're a piece of crap!" --> acceptable to many, but the intent is same
 "You're a piece of poo!" --> who would object to that?

 My mother would not have scolded me had she heard me call someone a piece of
 poo. She would have admonished me for using "crap", since crap sounds
 dirtier to her than the cutesy poo. She would have slapped my face for
 saying "shit". But in all three cases the intent is the same. If I were
 wanting to insult someone, I would use the harshest word I could allow
 myself to use. In my case, I have no problem saying "shit", despite my
 upbringing. My mother would use "crap", because she thinks that's quite
 dirty enough to get the point across. My grandmother would use "poo", but it
 doesn't mean the emotion behind it is any less than mine or my mother's, or
 the intent any different.

 What of the case of swearing in general, not /at/ someone? If I stub my toe,
 I might exclaim, "Fuck!" Someone nearby might be offended by that. So should
 I take that into consideration, check my natural reaction, and exclaim
 "Ouch!" instead? I say no. This really is the listener's problem, not the
 speaker's.

 There's nothing inherently wrong with any swear word. Any perceived offense
 or insult behind the words themselves is a result of indoctrination by our
 parents and teachers. And when you really want to insult someone, non-swear
 words are no less vile than swear words. The intent behind the words is what
 matters most. Getting upset over the words themselves is just plain
 silliness.
Yes, to everything. Exactly. :D
Feb 17 2009
prev sibling next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Wed, Feb 18, 2009 at 8:31 AM, Mike Parker <aldacron gmail.com> wrote:
 Bill Baxter wrote:
 The problem I have with the stigma on swearing is that people who find these
 words objectionable tend to replace them with other words that aren't so
 objectionable in order to get the same intent across. Nick mentioned this
 already. To me, it's an absurd practice.

 Consider the case of insulting someone. If I were angry at someone and
 wanted to let them know what I thought of them, I might say one of the
 following:

 "You're a piece of shit!" --> unacceptable
 "You're a piece of crap!" --> acceptable to many, but the intent is same
 "You're a piece of poo!" --> who would object to that?
The problem I have is that if you decide they're all equal, what do you say when you've really reached your limit and are totally on the edge? You've turned it up all the way to 11 just by default already, so where can you go from there? Nowhere really. You've severely limited your capacity for dynamic range. Just like the crapily-produced music these days with compression turned all the way up all the time to make it sound "louder". But the irony is that if everything sounds loud then nothing sounds loud. So I've got no problem with people swearing in the rare occasions where passions are running so high that no other expression will really suffice. It's more the casual uses below that bother me. I do it myself occasionally when I'm really pissed.
 What of the case of swearing in general, not /at/ someone? If I stub my toe,
 I might exclaim, "Fuck!" Someone nearby might be offended by that. So should
 I take that into consideration, check my natural reaction, and exclaim
 "Ouch!" instead? I say no. This really is the listener's problem, not the
 speaker's.
If you're really pissed off, I say sure. But I'd follow it with an "excuse me" once you get control of yourself again. But putting the blame for the problem all on the listener is callous in my opinion. No man is an island and all that. You can go through life choosing not to care whether you hurt the feelings of your fellow man, but I think that's a lousy way to live. Better to try to show some respect to those around you. Your attitude sounds to me like the guy who does something rude and when everyone turns around to look follows it up with "what the f** you lookin' at?", as opposed the guy who says "pardon me". Deciding that anything you do which is offensive to the other party is somehow to blame on the other party is ridiculous. You do not set the standards for the entire world. Especially if your behavior is clearly on the edge of what is considered the norm for your environment. I think that keeping the norms in your environment in mind is the key there. I don't think you should have to double check *everything* you do with *everyone* around just in *case* they have some allergy to the word "fruitcake" because of a childhood trauma. There's no way you could anticipate that that would be offensive to them. So there, yes, I agree that it is something they really have to come to terms with. But if you *do* know about their thing about "fruitcake", then you are just being an ass if you keep saying it around them. Likewise, among your friends, sailor talk may be the norm. You have an idea what will and will not be offensive to them. You should be cautious when going far outside that.
 There's nothing inherently wrong with any swear word. Any perceived offense
 or insult behind the words themselves is a result of indoctrination by our
 parents and teachers.
Agreed. But that indoctrination is a very real thing. It exists and it affects people. Trying to define it out of existence as non-tangible and therefore unimportant or unreal is silly. It is as silly as dismissing the placebo effect. The placebo effect is very real even if there's no "real" medicine involved.
 And when you really want to insult someone, non-swear
 words are no less vile than swear words. The intent behind the words is what
 matters most. Getting upset over the words themselves is just plain
 silliness.
No, the swear words are more vile. Because they transgress an established social norm at the same time as expressing that intent. It communicates that you are so intent on what you have to say that you are willing to risk stepping outside those norms to express it. Unless of course you use those same words to express your dismay at today's lunch options. Then you've robbed those words of any special emphasis they might have been able to provide.
 That said, I admit to cringing every time I read superdan's posts. In my
 mind, I know it's ridiculous. But ideas forced on us in childhood are hard
 to let go of completely.
You say that as if you *should* let go of it completely. Why should you? If we were talking about a childhood idea like "slavery is good", then I'd agree with you it's important to try to ditch that notion. But not all ideas forced on us in childhood are bad. Like having respect for others, working hard, playing fair, etc. --bb
Feb 17 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Bill Baxter" <wbaxter gmail.com> wrote in message 
news:mailman.783.1234919397.22690.digitalmars-d puremagic.com...
 Unless of course you use those same words to express your dismay at
 today's lunch options.  Then you've robbed those words of any special
 emphasis they might have been able to provide.
Not necessarily. Just like the "normal everyday words that can be used maliciously", the difference is all in the delivery. I could say "Oh, fuck, broccoli again" in a way that suggests "I despise you, let's fight!" (loud, gruff and annunciated with a sneer or a big frown and glaring at the chef or server), or I could say it in a perfectly benign manner (subdued, prepended with a chuckle or soft laugh-like snort or a "heh", and glancing over to, nudging, and smiling at a tired-of-broccoli friend standing nearby). That latter still leaves plenty of room for "fuck" to be used coarsely, in just the same way that "Did you see that thing on TV last night?" leaves plenty of room for "that" to be used coarsely (as in my earlier example of telling an insecure acne-victim "I'm surprised you're willing to come out looking like THAT!")
Feb 17 2009
parent reply Bill Baxter <wbaxter gmail.com> writes:
On Wed, Feb 18, 2009 at 11:10 AM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.783.1234919397.22690.digitalmars-d puremagic.com...
 Unless of course you use those same words to express your dismay at
 today's lunch options.  Then you've robbed those words of any special
 emphasis they might have been able to provide.
Not necessarily. Just like the "normal everyday words that can be used maliciously", the difference is all in the delivery. I could say "Oh, fuck, broccoli again" in a way that suggests "I despise you, let's fight!" (loud, gruff and annunciated with a sneer or a big frown and glaring at the chef or server), or I could say it in a perfectly benign manner (subdued, prepended with a chuckle or soft laugh-like snort or a "heh", and glancing over to, nudging, and smiling at a tired-of-broccoli friend standing nearby). That latter still leaves plenty of room for "fuck" to be used coarsely, in just the same way that "Did you see that thing on TV last night?" leaves plenty of room for "that" to be used coarsely (as in my earlier example of telling an insecure acne-victim "I'm surprised you're willing to come out looking like THAT!")
But then the emphasis is not at all coming from the word itself but the intonation. You have robbed the word of the extra-special power it had via that societal indoctrination, making it just an ordinary word. You are right, though, that you may be able to still get your point across, even without the extra help that the taboo gives. But this part is really just my argument for why, given the choice between profanity as the norm and not, why we should choose the latter. It's certainly a valid proposition for a society to decide there are no taboo words and play "fuck-a-bye baby" to their children in the crib, because after all it's just a word. But I'm saying by doing so you're giving up a capacity for nuance and dynamic range. I think there's more value in keeping that capacity for dynamic range open, than there is value in cheapening "shit" to the point where it is in all ways equivalent to "poo". Now we have two different words that can communicate two very different levels of intensity. If you make it all the same then that really just seems like a loss overall to me. That's quite separate from the second argument, which is that given societal norms as they stand *now* (whatever those norms may be), it is disrespectful to one's fellow man to unilaterally decide to ignore the established norms because of an attitude of "if you don't like it it's *your* problem". Perhaps in your microcosm, you are behaving well within the norms. I would assume so, or else you are probably a lonely guy. But when you go out in public, your microcosm rubs elbows with everyone else's microcosms -- the average norm of your surroundings changes and I believe one should adapt one's behavior accordingly. And I think you agree with this to some extent, too, if only because I don't see you swearing like sailor Dan here on the NG. --bb
Feb 17 2009
parent Mike Parker <aldacron gmail.com> writes:
Bill Baxter wrote:
 On Wed, Feb 18, 2009 at 11:10 AM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.783.1234919397.22690.digitalmars-d puremagic.com...
 Unless of course you use those same words to express your dismay at
 today's lunch options.  Then you've robbed those words of any special
 emphasis they might have been able to provide.
Not necessarily. Just like the "normal everyday words that can be used maliciously", the difference is all in the delivery. I could say "Oh, fuck, broccoli again" in a way that suggests "I despise you, let's fight!" (loud, gruff and annunciated with a sneer or a big frown and glaring at the chef or server), or I could say it in a perfectly benign manner (subdued, prepended with a chuckle or soft laugh-like snort or a "heh", and glancing over to, nudging, and smiling at a tired-of-broccoli friend standing nearby). That latter still leaves plenty of room for "fuck" to be used coarsely, in just the same way that "Did you see that thing on TV last night?" leaves plenty of room for "that" to be used coarsely (as in my earlier example of telling an insecure acne-victim "I'm surprised you're willing to come out looking like THAT!")
But then the emphasis is not at all coming from the word itself but the intonation. You have robbed the word of the extra-special power it had via that societal indoctrination, making it just an ordinary word. You are right, though, that you may be able to still get your point across, even without the extra help that the taboo gives. But this part is really just my argument for why, given the choice between profanity as the norm and not, why we should choose the latter. It's certainly a valid proposition for a society to decide there are no taboo words and play "fuck-a-bye baby" to their children in the crib, because after all it's just a word. But I'm saying by doing so you're giving up a capacity for nuance and dynamic range. I think there's more value in keeping that capacity for dynamic range open, than there is value in cheapening "shit" to the point where it is in all ways equivalent to "poo". Now we have two different words that can communicate two very different levels of intensity. If you make it all the same then that really just seems like a loss overall to me.
I understand your point. But it's sort of lost when people can't bring themselves to utter certain words because they're too profane, so they say words like "poo" or "screw" instead. We can't still get a nice, dynamic range. Look at how many different words there are that can be substituted for "fuck" in different contexts.
 
 That's quite separate from the second argument, which is that given
 societal norms as they stand *now* (whatever those norms may be), it
 is disrespectful to one's fellow man to unilaterally decide to ignore
 the established norms because of an attitude of "if you don't like it
 it's *your* problem".  Perhaps in your microcosm, you are behaving
 well within the norms.  I would assume so, or else you are probably a
 lonely guy.  But when you go out in public, your microcosm rubs elbows
 with everyone else's microcosms -- the average norm of your
 surroundings changes and I believe one should adapt one's behavior
 accordingly.   And I think you agree with this to some extent, too, if
 only because I don't see you swearing like sailor Dan here on the NG.
In my case, I rarely swear. I let a word out on my blog every now and then for emphasis. Regardless of what I think, I understand how society at large views these words. I don't go out of my way to offend people. It helps that I'm in Korea, where English expletives just don't have the same weight. But when I'm around other expats, particularly females (excluding those who get offended when you don't treat them as one of the guys), I behave just as I was taught. Well, once I get inubriated all bets are off. Considering that these days there are so many people offended by so many different things, I don't agree with the idea that we should always have to tip-toe on egg shells in order to avoid offending someone. I mean, directly insulting people is certainly not good practice. And in public, as silly as I think it is, I try to be careful about what I say (being in Korea helps, but when I'm around other expats and alcohol...) But I fully blame the emphasis on political correctness over the past two+ decades for restrictions on freedom of speech. It started out with good intentions, but it has devolved into absurdity. For a prime example, just look what's happened with the UN Special Rapporteur on Human Rights, where it is now considered a human rights violation to defame religion. That has some ugly side effects [1]. So while I certainly am consciously considerate of others to a large extent in person, it is something I hope that some day I don't have to bother with. And I will continue to post content on my blog that I hope offends certain groups who always offend me by whinging about being offended :) [1] http://richarddawkins.net/article,3600,n,n
Feb 18 2009
prev sibling parent Mike Parker <aldacron gmail.com> writes:
Bill Baxter wrote:
 On Wed, Feb 18, 2009 at 8:31 AM, Mike Parker <aldacron gmail.com> wrote:
 Bill Baxter wrote:
 The problem I have with the stigma on swearing is that people who find these
 words objectionable tend to replace them with other words that aren't so
 objectionable in order to get the same intent across. Nick mentioned this
 already. To me, it's an absurd practice.

 Consider the case of insulting someone. If I were angry at someone and
 wanted to let them know what I thought of them, I might say one of the
 following:

 "You're a piece of shit!" --> unacceptable
 "You're a piece of crap!" --> acceptable to many, but the intent is same
 "You're a piece of poo!" --> who would object to that?
The problem I have is that if you decide they're all equal, what do you say when you've really reached your limit and are totally on the edge? You've turned it up all the way to 11 just by default already, so where can you go from there? Nowhere really. You've severely limited your capacity for dynamic range. Just like the crapily-produced music these days with compression turned all the way up all the time to make it sound "louder". But the irony is that if everything sounds loud then nothing sounds loud.
I didn't decide they're all /equal/. Usually, when someone calls you a piece of poo, they aren't being serious. They're just poking fun. That's why I use "shit" when I'm angry, because the connotation is more serious. Especially when combined with an angry tone. My problem is that society has declared "shit" too dirty, or too offensive, to say in public. Some people go out of their way to avoid saying it. Can you imagine reading this in a novel: "With fire in his eyes, his mouth twisted in rage, my nemesis snarled, 'You're a piece of poo!'" It's ridiculous to say "poo" when you really mean "shit". What I'm trying to say is that no word should be considered so dirty that it's anathema to say it. We need to be teaching our kids to keep their intent and tone of voice civil, rather than spanking them for cussin'. By the same token, if I jokingly call my friend a piece of shit or, more realistically, just say the word "bullshit" when I think he's full of it, it's ridiculous for some random passerby to feel offended by that. I wasn't speaking to that person and there was no insult meant to my friend. Everyone has the right to be offended. But I have the right not to care. Though as I mentioned in another post, I usually check my language in public anyway. Not that I'm much of a cusser.
 
 That said, I admit to cringing every time I read superdan's posts. In my
 mind, I know it's ridiculous. But ideas forced on us in childhood are hard
 to let go of completely.
You say that as if you *should* let go of it completely. Why should you? If we were talking about a childhood idea like "slavery is good", then I'd agree with you it's important to try to ditch that notion. But not all ideas forced on us in childhood are bad. Like having respect for others, working hard, playing fair, etc.
There's good, there's bad, and there's silly. I agree with you that slavery is bad. And that the other things you mention are good. But in my book, this thing about expletives is one of the silly. We're taught a lot of silliness actually. I'll save my thoughts on that for my blog ;)
Feb 18 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Mike,


 There's nothing inherently wrong with any swear word. Any perceived
 offense or insult behind the words themselves is a result of
 indoctrination by our parents and teachers. And when you really want
 to insult someone, non-swear words are no less vile than swear words.
 The intent behind the words is what matters most. Getting upset over
 the words themselves is just plain silliness.
 
True, there is more significance in the spirit behind the words such you don't need expletives to communicate the same thing (although using them does make the messsage much more severe). There are some fair considerations in your and other's posts, and this has been good for me to think about more. But I disagree that it's completely about indoctrination or that the words are devoid of meaning. Somebody else mentioned that every culture has its swear words. There is always a history behind such words, though. So really, while all children are indeed indoctrinated to begin with (is there any other way?), yet as they grow older, many will learn the "why's" of what they were taught when they were young when their minds were not capable or ready to understand these things. Later they may accept the reasonings or reject them. Ingrained reactions may remain, however, as you suggest. Even so, some indoctrinated values may still remain yet unconsidered. This will always happen to all types of people in all cultures and in all worldviews. If the principles behind the values are good, then I'd gather that the keeping of these values will remain useful and practical into adulthood. In regards to English epletives, there's a history behind those, of course, which most of you know. Some express what some might call the "baser" elements of life: as such their meaning is associated with the filthiness of excrement or urination or whatever. In the case of the f-word, most of us know that it refers to the act of copulation. Since most people rarely do any of the above in public (and if they do, they are usually looked at with horror), even so expressing these words in public is usually considered rude and offensive(or used to be). Thus my argument was that society (and parents) have typically had a good reason for discouraging there use, and it's not completely fair to call it indoctrination with the implication that it was a bad thing (maybe that was not your implication, but it came across that way). I'd say it was good training ever so much as it's good training to wash your hands before you eat. This is one reason I also said that I felt it was less a matter of the words changing meaning (as Walter seemed to suggest in his first post on the topic), and more about people's manners and sensitivity changing as the use of expletives becomes more common-place. I know some words change meaning, but these aren't the ones... not yet at least. :) So what we have here is a society where people are becoming so used to hearing and saying expletives and profanity that they no longer think of their meaning, even though these words retain their meaning still. Yes, it is usually the less desensitized of us that get offended at hearing them. I still associate them with the meanings they retain, and so I especially dislike these terms being used in normal conversation as much as I'd dislike seeing the content of their meaning. So I believe their is a strong argument for these words not being completely neutral: they are an abstraction of reality. Eventually that abstraction might carry multiple meanings or lose meaning in the minds of society... but most people might think differently about their speech if you flung some manure at them in return for every expletive they sent your way. I don't think throwing manure would eventually lose it's meaing, though. :D I believe that we benefit from speaking in such a way that we edifiy our listeners, including the avoidance of insults with or without expletives. I can't say I can see much edification in the use of expletives and profanity as the delivery vehicle, though, based on my reasoning above. I've worked around it most of my life, and strangely, the language hasn't improved with the hearing of it. Most of the people I work with have eventually figured me out and limited their swearing when around me; and I've been thankful for that, since it shows that they don't want to offend even though I don't make a big deal of it (well, sometimes I tease them about it). And no, I don't go around forcing people to stop swearing, although I /might/ ask them to stop using profanity around me with a "please". In this newsgroup, I see it as "noise" that interrupts the communication process for more than a few people. -JJR
Feb 17 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c1460c8cb5f4c18ef2950 news.digitalmars.com...
 So what we have here is a society where people are becoming so used to 
 hearing and saying expletives and profanity that they no longer think of 
 their meaning, even though these words retain their meaning still.
Oh, I very much disagree with this. If I say, for example, "Why isn't this fucking line of code working?" it's blatantly obvious that I'm not remotely talking about sex. Or if someone tells me "Fuck you, you piece of shit!", I'm well aware that the connotation is nothing more than a very strong form of "I'm very angry at you", and that they're not actually talking about sex or excrement. Granted, sometimes such words are used for their original meaning, but in the examples above, the connection between "fuck" and "sex", and the connection between "shit" and "excrement", become nothing more than matters of etymology.
Feb 18 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c1460c8cb5f4c18ef2950 news.digitalmars.com...
 
 So what we have here is a society where people are becoming so used
 to hearing and saying expletives and profanity that they no longer
 think of their meaning, even though these words retain their meaning
 still.
 
Oh, I very much disagree with this. If I say, for example, "Why isn't this fucking line of code working?" it's blatantly obvious that I'm not remotely talking about sex. Or if someone tells me "Fuck you, you piece of shit!", I'm well aware that the connotation is nothing more than a very strong form of "I'm very angry at you", and that they're not actually talking about sex or excrement. Granted, sometimes such words are used for their original meaning, but in the examples above, the connection between "fuck" and "sex", and the connection between "shit" and "excrement", become nothing more than matters of etymology.
You are talking about intent... I'm saying the word still means what it originally did even if you use it in the context you do. I wasn't talking about what it connotes when you use it. Nor did I say that people think of this meaning when you say it (you can read that in the above portion). I merely pointed out that this etymology is important part of the definiton of how the word became recognized as bad whether or not people recognize that or not. It wasn't just any word that became "bad". I think there are some very good arguments against swearing. On the jobs that I've worked, people notice that I don't swear even though I typically make no issue of it. There is a reason that swearing is bad taste, and I've listed them in previous posts and so have others. Anyway, I am getting weary of this conversation, so I'd better leave this before I get myself in more trouble here. If cussing makes you happy, fly at it. But I'd rather not be part in that conversation... or be here anymore, for that matter. -JJR
Feb 18 2009
parent Bill Baxter <wbaxter gmail.com> writes:
On Thu, Feb 19, 2009 at 11:08 AM, John Reimer <terminal.node gmail.com> wrote:
 Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c1460c8cb5f4c18ef2950 news.digitalmars.com...

 So what we have here is a society where people are becoming so used
 to hearing and saying expletives and profanity that they no longer
 think of their meaning, even though these words retain their meaning
 still.
Oh, I very much disagree with this. If I say, for example, "Why isn't this fucking line of code working?" it's blatantly obvious that I'm not remotely talking about sex. Or if someone tells me "Fuck you, you piece of shit!", I'm well aware that the connotation is nothing more than a very strong form of "I'm very angry at you", and that they're not actually talking about sex or excrement. Granted, sometimes such words are used for their original meaning, but in the examples above, the connection between "fuck" and "sex", and the connection between "shit" and "excrement", become nothing more than matters of etymology.
You are talking about intent... I'm saying the word still means what it originally did even if you use it in the context you do. I wasn't talking about what it connotes when you use it. Nor did I say that people think of this meaning when you say it (you can read that in the above portion). I merely pointed out that this etymology is important part of the definiton of how the word became recognized as bad whether or not people recognize that or not. It wasn't just any word that became "bad". I think there are some very good arguments against swearing. On the jobs that I've worked, people notice that I don't swear even though I typically make no issue of it. There is a reason that swearing is bad taste, and I've listed them in previous posts and so have others. Anyway, I am getting weary of this conversation, so I'd better leave this before I get myself in more trouble here. If cussing makes you happy, fly at it. But I'd rather not be part in that conversation... or be here anymore, for that matter.
Yep, I think all participants have spoken their piece on this topic. I found it a very interesting discussion. Thanks! --bb
Feb 18 2009
prev sibling parent Don <nospam nospam.com> writes:
Bill Baxter wrote:
 On Tue, Feb 17, 2009 at 4:14 PM, Nick Sabalausky <a a.a> wrote:
 "Bill Baxter" <wbaxter gmail.com> wrote in message
 news:mailman.753.1234854114.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 3:52 PM, John Reimer <terminal.node gmail.com>
 wrote:
 Hello Derek,

 It's a very pervasive view that swearing is a non-issue these days,
 and a person is just being prudish and silly if he disaproves.
Hmmm ... you got some statistics to back that up? Most people I deal with have limits (not all the same), so that seems to indicate to me that some swearing behaviour is not acceptable to most people.
No, I don't. It was a general observation from my interactions within certain groups of people. So I would do best to withdraw that statement.
George Carlin. Chris Rock. South Park. Never would have been accepted in the Leave-it-to-Beaver era.
Oh man, I would *hate* to be restricted to 50's era television shows like that. I'd feel like I was living in some crazy puritan-revival sect.
Well, you're a product of your environment, so I guess that's not really surprising.
 I've felt for a while that the issue of profanity can be summed up as
 "People fall into one of two groups: Those who believe in the old 'sticks
 and stones' adage and those who don't." It takes a weak person to be harmed
 by words.
I don't quite know what to say to that. So you're saying you wouldn't mind if someone stood behind you uttering profanities all day long? I would find that highly annoying and it would most certainly contribute to my stress levels. Even if it weren't profanities it would be highly annoying. So to say words can't harm you seems nonsense to me. Sure words do not cause physical injury, but are physical injuries the only ones that matter? --bb
"Sticks and stones may break my bones, but words will never hurt me". That's what you say to a kid who's just been hurt by words. <g> Words can make someone angry enough to punch you in the eye. Or declare a war. That's physical enough for me. They can also cause someone to leave a newsgroup, which is particularly relevant in this context.
Feb 17 2009
prev sibling parent reply Anonymous Coward <anonymous cowards.org> writes:
Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by the people around you and generally treated as a sub-human piece of worthless garbage for over eight years of your life across both primary and secondary school, often with no friends or even acquaintances for years at a time and came out completely and utterly unscathed, then you are obviously a robot and won't mind when I remove your head. Because otherwise you have NO FUCKING RIGHT to say that. If you've really gone through what I have and weren't affected, then I guess you're just a better person than I.
Feb 17 2009
next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Tue, Feb 17, 2009 at 10:05 AM, Anonymous Coward
<anonymous cowards.org> wrote:
 Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by t=
he people around you and generally treated as a sub-human piece of worthles= s garbage for over eight years of your life across both primary and seconda= ry school, often with no friends or even acquaintances for years at a time = and came out completely and utterly unscathed, then you are obviously a rob= ot and won't mind when I remove your head. Because otherwise you have NO F= UCKING RIGHT to say that.
 If you've really gone through what I have and weren't affected, then I gu=
ess you're just a better person than I. I have to agree, 100%.
Feb 17 2009
parent "Nick Sabalausky" <a a.a> writes:
 "Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message 
 news:mailman.759.1234883616.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 10:05 AM, Anonymous Coward
 <anonymous cowards.org> wrote:
 Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by the people around you and generally treated as a sub-human piece of worthless garbage for over eight years of your life across both primary and secondary school, often with no friends or even acquaintances for years at a time and came out completely and utterly unscathed, then you are obviously a robot and won't mind when I remove your head. Because otherwise you have NO FUCKING RIGHT to say that. If you've really gone through what I have and weren't affected, then I guess you're just a better person than I.
I have to agree, 100%.
I *did* issue a clarification.
Feb 17 2009
prev sibling next sibling parent reply =?UTF-8?B?QWxleGFuZGVyIFDDoW5law==?= writes:
Anonymous Coward wrote:
 Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by the people around you and generally treated as a sub-human piece of worthless garbage for over eight years of your life across both primary and secondary school, often with no friends or even acquaintances for years at a time and came out completely and utterly unscathed, then you are obviously a robot and won't mind when I remove your head. Because otherwise you have NO FUCKING RIGHT to say that. If you've really gone through what I have and weren't affected, then I guess you're just a better person than I.
I’ve been through that. Almost my whole childhood and youth consisted of being discriminated by class-/sportsmates. But after all I learned a lot just by that - granted, it wasn’t nice and easy but I am pretty damn sure I learned more about the human nature and group dynamics than those people picking on me, or anyone else. This didn’t make me a nicer person or whatnot, but at some point you start taking every statement with a grain of salt, maybe even laugh about yourself if there’s a reason to. That’s a kind of tolerance that lets you get to know people better, since not everyone thinks twice before saying something, thus sometimes coming out too harsh or even insulting. If you get past that, you mostly find quite interesting people who also able to overcome their own insecurity once you open up a bit. After all most “Taking harm by words” is a very common phrase... I don’t take any harm if someone swears around like a maniac or talks complete and utter bullshit about me, my family or whatnot (however, I did as a kid). But I do take harm if someone actively doesn’t show respect in my views, work or feelings. Best example for this is a recent argument between a former user in #d and myself. I banned him because of his complete disrespect for me - some people understood it, many didn’t. I on the other hand didn’t understand how people could tolerate such behaviour. It really made me angry. Ad OT-topic: I was a bit puzzled by the way John brought this issue up, but I completely agree with him. Having content mixed up like that is just plain unprofessional to me - especially if you contribute quite a lot. The possibility to be referenced by someone else is quite high in that case and... well... D has nothing to do with furry or yiffi or whatever. I don’t start drawing at work either (well, except diagrams for my own understanding). *shrug* Just create a blog for your programming stuff and one for your personal stuff, just like most people do in case of email accounts. Also: wtf guys - stop going all “omg u r so religious”, you nazis. </Godwin’s Law>
Feb 17 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Alexander,


 Ad OT-topic: I was a bit puzzled by the way John brought this issue
 up, but I completely agree with him.
Yeah, I shoot from the hip a little too often. I'm still trying to work on that. :( -JJR
Feb 17 2009
prev sibling next sibling parent reply Daniel de Kok <me danieldk.org> writes:
On Tue, Feb 17, 2009 at 4:05 PM, Anonymous Coward <anonymous cowards.org> w=
rote:
 Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by t=
he people around you and generally treated as a sub-human piece of worthles= s garbage for over eight years of your life across both primary and seconda= ry school, often with no friends or even acquaintances for years at a time = and came out completely and utterly unscathed, then you are obviously a rob= ot and won't mind when I remove your head. Because otherwise you have NO F= UCKING RIGHT to say that. First off, I think there should be made a difference between adults and minors here. I think adults can get harmed by words, but at a certain point one is able to identify the mental reaction it incurs and be able to decide to react or not to react upon it. Most minors haven't developed the facilities to do such reflection yet, and there words can really hurt or even have a lasting effect. I don't think language should be restricted. An observation I make in daily life (of course, this is not universally true) is that religious people are usually more easily offended. When have you heard calls for censorship when someone offended darwinism or Kant's categorical imperatives? At the same time, it happens all the time when someone makes a parody of something that is written in the bible or another religious book. "Offense" means different things to different people, and trying to limit it isn't going to help anyone. Shouldn't we talk about D or (Belgian) beer here? :^) Take care, Daniel
Feb 17 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Daniel,


 I don't think language should be restricted. An observation I make in
 daily life (of course, this is not universally true) is that religious
 people are usually more easily offended. When have you heard calls for
 censorship when someone offended darwinism or Kant's categorical
 imperatives? At the same time, it happens all the time when someone
 makes a parody of something that is written in the bible or another
 religious book. "Offense" means different things to different people,
 and trying to limit it isn't going to help anyone.
 
I don't know about that Daniel, I've managed to offend a whole lot athiests and agnostics here. :P -JJR
Feb 17 2009
prev sibling next sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:

 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Feb 17 2009
parent reply =?ISO-8859-1?Q?Alexander_P=c3=a1nek?= <alexander.panek brainsware.org> writes:
Jarrett Billingsley Wrote:

 On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:
 
 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Riiiight. What about Austrian, Polish and Czech beer? Those are AWESUM.
Feb 17 2009
next sibling parent reply Daniel de Kok <me danieldk.org> writes:
On Tue, Feb 17, 2009 at 10:59 PM, Alexander P=C3=A1nek
<alexander.panek brainsware.org> wrote:
 Jarrett Billingsley Wrote:

 On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:

 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Riiiight. What about Austrian, Polish and Czech beer? Those are AWESUM.
Then you never had Duvel or La Chouffe :).
Feb 17 2009
parent =?ISO-8859-1?Q?Alexander_P=c3=a1nek?= <alexander.panek brainsware.org> writes:
Daniel de Kok Wrote:

 On Tue, Feb 17, 2009 at 10:59 PM, Alexander Pánek
 <alexander.panek brainsware.org> wrote:
 Jarrett Billingsley Wrote:

 On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:

 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Riiiight. What about Austrian, Polish and Czech beer? Those are AWESUM.
Then you never had Duvel or La Chouffe :).
Have you had a Budvar, Stiegl or any other of those beers yet?
Feb 17 2009
prev sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Tue, Feb 17, 2009 at 4:59 PM, Alexander P=C3=A1nek
<alexander.panek brainsware.org> wrote:
 Jarrett Billingsley Wrote:

 On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:

 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Riiiight. What about Austrian, Polish and Czech beer? Those are AWESUM.
OFINE. They're good too. Mr. P=C3=A1nek, whatever a-tilde upside-down-ban= g means.
Feb 17 2009
parent =?UTF-8?B?QWxleGFuZGVyIFDDoW5law==?= writes:
Jarrett Billingsley wrote:
 On Tue, Feb 17, 2009 at 4:59 PM, Alexander Pánek
 <alexander.panek brainsware.org> wrote:
 Jarrett Billingsley Wrote:

 On Tue, Feb 17, 2009 at 12:04 PM, Daniel de Kok <me danieldk.org> wrote:

 Shouldn't we talk about D or (Belgian) beer here? :^)
There are no parens about it. It's either Belgian or it's not beer. :D
Riiiight. What about Austrian, Polish and Czech beer? Those are AWESUM.
OFINE. They're good too. Mr. Pánek, whatever a-tilde upside-down-bang means.
Wtf web interface. :(
Feb 18 2009
prev sibling parent Christopher Wright <dhasenan gmail.com> writes:
Anonymous Coward wrote:
 Nick Sabalausky wrote:
 It takes a weak person to be harmed by words.
Let me put it this way: if you've been picked on, put down, *hunted* by the people around you and generally treated as a sub-human piece of worthless garbage for over eight years of your life across both primary and secondary school, often with no friends or even acquaintances for years at a time and came out completely and utterly unscathed, then you are obviously a robot and won't mind when I remove your head. Because otherwise you have NO FUCKING RIGHT to say that. If you've really gone through what I have and weren't affected, then I guess you're just a better person than I.
If you are surrounded by people who hate you, they don't have to say anything to have a horrible effect on you. The words are an expression of an intent, and the intent is what affects you. Or sometimes words will have no ill intent but will sufficiently remind you of situations in which they would that they cause a similar effect. When superdan swears, he obviously has no ill intent. If it still offends, then good luck with your problems.
Feb 17 2009
prev sibling parent reply Don <nospam nospam.com> writes:
Walter Bright wrote:
 Don wrote:
 I'm glad to hear you're still around. I did feel your colourful 
 language often obscured your content (which was frequently of very 
 high quality).
 I miss the content. (Not the language so much <g>).
I seriously doubt superdan uses profanity to offend. He's got an ear for dialog, and the wit to write in a style that is a parody of those that use profanity. I think it's hilarious and enjoy reading it.
Certainly I laughed out loud a few times. Actually, I sometimes wondered if he was using a translator, like the Swedish Chef you once posted here. But, like the Swedish Chef, I usually found his posts quite difficult to read.
 P.S. 30 years ago, I went to an art house to see "Aguirre, der Zorn 
 Gottes" (Aguirre, the Wrath of God) in German, subtitled in English. 
 There's one scene where it seemed for a full minute a conquistador was 
 yelling at his horse. Eventually, a subtitle appeared which simply said 
 "You damned horse." When that appeared, two people in the theater 
 laughed, including me, as I knew enough German to know that he'd been 
 swearing at the horse in a most foul and thorough manner <g>.
Sanitised in translation <g>. BTW, you might appreciate the menu at our canteen. They helpfully provide English translations of the German. Recent entries include: ===== Wrong rabbit. (Very wrong -- it's Scotch eggs). Vegetable stew of house husband. Nuclear braten. (Gives you a healthy glow). Soil roast to a dessert. Berries fruits undercover. Potato cakes sweet or to be hearty and tasty. Radix vegetables to an apple. (I just _love_ that hexadecimal taste). All sorts of cute. =======
Feb 16 2009
parent reply superdan <super dan.org> writes:
Don Wrote:

 Walter Bright wrote:
 Don wrote:
 I'm glad to hear you're still around. I did feel your colourful 
 language often obscured your content (which was frequently of very 
 high quality).
 I miss the content. (Not the language so much <g>).
I seriously doubt superdan uses profanity to offend. He's got an ear for dialog, and the wit to write in a style that is a parody of those that use profanity. I think it's hilarious and enjoy reading it.
Certainly I laughed out loud a few times. Actually, I sometimes wondered if he was using a translator, like the Swedish Chef you once posted here. But, like the Swedish Chef, I usually found his posts quite difficult to read.
u r talking more about me when i ain't around. relax folks good news. superdan's still tuned in. but i need to work my ass off. my boss is an asshole n cant wait to fire me. hope he intercepts and sees this msg. as fer my language. i grew up in baltimores high risers. if u dun shitfuck there u r dead meat. pardon me french. anyway newsflash. dee exists n is alive n well. cute as bugz ears. won't post coz she's ashamed for having her cover blow. go figure japanese morals. don & walt u r 2 cool fer school. thanks doods. tho wut's with tat apple thing. apple is fer weenies. unix is da only reason 2 be around them 'puters. get tat unix64 thing goin'. peace.
Feb 16 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"superdan" <super dan.org> wrote in message 
news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat apple 
 thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
Feb 16 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message 
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat apple 
 thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Feb 16 2009
next sibling parent Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message 
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat 
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases.
That might have been true back in the 80s (70s?) when "leet" was invented, but I wonder if this still applies today. I'd honestly be surprised if most obfuscation attempts could actually fool a military text filter these days. I think it's mostly just an online dialect these days, rather than something of real practical use.
Feb 16 2009
prev sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Being a non-native English speaker, I *HATE* that kind of writing since it's very hard for me to understand it. When posting to a forum such as this, the considerate thing to do is try to make yourself understandable to others. This is the Internet with people from all over the world, not "the hood". I also really do not appreciate any use of other-languages like Latin just to make yourself look smart. for instance, I can reply using Aramaic phrases, but I doubt it that most people will understand it here. Unless Walter is going to have newsgroups by language/culture/.. we all need to be considerate to others by trying to write such that it'll be clear to everyone and also try not to forget running the spell checker. I think native speakers sometimes do not appreciate how difficult it can be for others to understand them. It's the same way with right-handed people that can't understand why ordinary objects like scissors can be incredibly frustrating to a left-handed person (like myself).
Feb 16 2009
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Yigal Chripun a crit :
 Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Being a non-native English speaker, I *HATE* that kind of writing since it's very hard for me to understand it. When posting to a forum such as this, the considerate thing to do is try to make yourself understandable to others. This is the Internet with people from all over the world, not "the hood". I also really do not appreciate any use of other-languages like Latin just to make yourself look smart. for instance, I can reply using Aramaic phrases, but I doubt it that most people will understand it here. Unless Walter is going to have newsgroups by language/culture/.. we all need to be considerate to others by trying to write such that it'll be clear to everyone and also try not to forget running the spell checker. I think native speakers sometimes do not appreciate how difficult it can be for others to understand them. It's the same way with right-handed people that can't understand why ordinary objects like scissors can be incredibly frustrating to a left-handed person (like myself).
vote++; // :-) I hate when people use acroynms everywhere. It seems a new one is invented each day! I mean, how many time can you save there? What's the hurry?
Feb 16 2009
prev sibling next sibling parent reply "Joel C. Salomon" <joelcsalomon gmail.com> writes:
Yigal Chripun wrote:
 I also really do not appreciate any use of other-languages like Latin
 just to make yourself look smart. for instance, I can reply using
 Aramaic phrases, but I doubt it that most people will understand it
 here.
B’Asrah hodain? No, nobody will get it. ☺ —Joel Salomon
Feb 16 2009
parent Yigal Chripun <yigal100 gmail.com> writes:
Joel C. Salomon wrote:
 Yigal Chripun wrote:
 I also really do not appreciate any use of other-languages like Latin
 just to make yourself look smart. for instance, I can reply using
 Aramaic phrases, but I doubt it that most people will understand it
 here.
B’Asrah hodain? No, nobody will get it. ☺ —Joel Salomon
I said "most", not "all".. :)
Feb 16 2009
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Yigal Chripun" <yigal100 gmail.com> wrote in message 
news:gncqss$2hto$1 digitalmars.com...
 Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Being a non-native English speaker, I *HATE* that kind of writing since it's very hard for me to understand it
I'm a native English speaker, and even *I* find it very difficult to read that kind of writing. It's bad enough that I usually just don't even bother to try to read it and just move on to the next post/web-page/etc. There's plenty of things out there written with *good* language that it's just not worthwhile to waste time on the poorly-written stuff. Therefore, I see bad language like that as an effective way to make people not even listen to you.
Feb 16 2009
next sibling parent reply Bill Baxter <wbaxter gmail.com> writes:
On Tue, Feb 17, 2009 at 4:05 PM, Nick Sabalausky <a a.a> wrote:
 "Yigal Chripun" <yigal100 gmail.com> wrote in message
 news:gncqss$2hto$1 digitalmars.com...
 Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Being a non-native English speaker, I *HATE* that kind of writing since it's very hard for me to understand it
I'm a native English speaker, and even *I* find it very difficult to read that kind of writing. It's bad enough that I usually just don't even bother to try to read it and just move on to the next post/web-page/etc. There's plenty of things out there written with *good* language that it's just not worthwhile to waste time on the poorly-written stuff. Therefore, I see bad language like that as an effective way to make people not even listen to you.
That reminds me of this comic Snuffy Smith that was in the funny pages of the newspapers where I grew up. When I was in grade school I liked to read the comics, but I couldn't for the life of me figure out what the heck they were saying in Snuffy Smith. It's all written like "Gee, G'paw, I shurely'd be likin' ter gwan git sum, but I rekin it ain't all done yit." But it's been around for a long time. So I guess some people like to read obfuscated English. Then of course there's James Joyce and William Faulkner who made whole literary movements out of writing stuff that was impossible to read. :-) [1]http://en.wikipedia.org/wiki/Barney_Google_and_Snuffy_Smith
Feb 16 2009
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Bill Baxter" <wbaxter gmail.com> wrote in message 
news:mailman.754.1234855176.22690.digitalmars-d puremagic.com...
 On Tue, Feb 17, 2009 at 4:05 PM, Nick Sabalausky <a a.a> wrote:
 "Yigal Chripun" <yigal100 gmail.com> wrote in message
 news:gncqss$2hto$1 digitalmars.com...
 Walter Bright wrote:
 Nick Sabalausky wrote:
 "superdan" <super dan.org> wrote in message
 news:gnc2ml$14ch$1 digitalmars.com...
 if u dun shitfuck there u r dead meat. pardon me french.
 don & walt u r 2 cool fer school. thanks doods. tho wut's with tat
 apple thing.
I don't usually mind profanity, so for me the big problem is more often the high overhead involved in translating things like this into real words and sentences. ;-)
One interesting aspect of writing posts like that is you can use it to defeat snooping programs that look for certain keywords and phrases. It also makes it far more difficult for non-native language speakers to understand it, if that is one's intention.
Being a non-native English speaker, I *HATE* that kind of writing since it's very hard for me to understand it
I'm a native English speaker, and even *I* find it very difficult to read that kind of writing. It's bad enough that I usually just don't even bother to try to read it and just move on to the next post/web-page/etc. There's plenty of things out there written with *good* language that it's just not worthwhile to waste time on the poorly-written stuff. Therefore, I see bad language like that as an effective way to make people not even listen to you.
That reminds me of this comic Snuffy Smith that was in the funny pages of the newspapers where I grew up. When I was in grade school I liked to read the comics, but I couldn't for the life of me figure out what the heck they were saying in Snuffy Smith. It's all written like "Gee, G'paw, I shurely'd be likin' ter gwan git sum, but I rekin it ain't all done yit." But it's been around for a long time. So I guess some people like to read obfuscated English. Then of course there's James Joyce and William Faulkner who made whole literary movements out of writing stuff that was impossible to read. :-) [1]http://en.wikipedia.org/wiki/Barney_Google_and_Snuffy_Smith
The newer comics Non-Sequitor (the old guy telling stories in the bar) and Pearls Before Swine (the crocs) do that a lot too. But they're so funny I find it worth the effort. It gives certain characters a particular accent that kind of emulates good comedic voice-acting and really makes the whole thing just that much funnier.
Feb 17 2009
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"Bill Baxter" <wbaxter gmail.com> wrote in message 
news:mailman.754.1234855176.22690.digitalmars-d puremagic.com...
 guess some people like to read obfuscated English.  Then of course
 there's James Joyce and William Faulkner who made whole literary
 movements out of writing stuff that was impossible to read.  :-)
One of Victor Borge's comedy routines had something similar that was actually verbal instead of written. He called it "Language Inflation", and he'd replace words like "to" and "too" with "three", and "tennis" with "elevenis".
Feb 17 2009
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Nick Sabalausky wrote:
 I'm a native English speaker, and even *I* find it very difficult to read 
 that kind of writing. It's bad enough that I usually just don't even bother 
 to try to read it and just move on to the next post/web-page/etc. There's 
 plenty of things out there written with *good* language that it's just not 
 worthwhile to waste time on the poorly-written stuff. Therefore, I see bad 
 language like that as an effective way to make people not even listen to 
 you. 
Like you, I just don't bother reading things that have poor grammar, spelling, punctuation, are one giant paragraph, are all caps, etc. When I have bothered to read one now and then, I find the thinking just as disorganized as the presentation, and so a waste of time. Such is not *always* the case, it may be art. eecummings: ============================= she being Brand -new;and you know consequently a little stiff i was careful of her and(having thoroughly oiled the universal joint tested my gas felt of her radiator made sure her springs were O. K.)i went right to it flooded-the-carburetor cranked her up,slipped the clutch(and then somehow got into reverse she kicked what the hell)next minute i was back in neutral tried and again slo-wly;bare,ly nudg. ing(my lev-er Right- oh and her gears being in A 1 shape passed from low through second-in-to-high like greasedlightning)just as we turned the corner of Divinity avenue i touched the accelerator and give =========================================== And superdan plays ghetto-speak like an instrument <g>.
Feb 17 2009
parent "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote in message 
news:gndshs$1a2n$1 digitalmars.com...
 Nick Sabalausky wrote:
 I'm a native English speaker, and even *I* find it very difficult to read 
 that kind of writing. It's bad enough that I usually just don't even 
 bother to try to read it and just move on to the next post/web-page/etc. 
 There's plenty of things out there written with *good* language that it's 
 just not worthwhile to waste time on the poorly-written stuff. Therefore, 
 I see bad language like that as an effective way to make people not even 
 listen to you.
Like you, I just don't bother reading things that have poor grammar, spelling, punctuation, are one giant paragraph, are all caps, etc. When I have bothered to read one now and then, I find the thinking just as disorganized as the presentation, and so a waste of time. Such is not *always* the case, it may be art. eecummings: ============================= she being Brand -new;and you know consequently a little stiff i was careful of her and(having thoroughly oiled the universal joint tested my gas felt of her radiator made sure her springs were O. K.)i went right to it flooded-the-carburetor cranked her up,slipped the clutch(and then somehow got into reverse she kicked what the hell)next minute i was back in neutral tried and again slo-wly;bare,ly nudg. ing(my lev-er Right- oh and her gears being in A 1 shape passed from low through second-in-to-high like greasedlightning)just as we turned the corner of Divinity avenue i touched the accelerator and give =========================================== And superdan plays ghetto-speak like an instrument <g>.
Oh my god, I'm rarely able to make any sense out of song lyrics (not that I usually mind), but that looks like someone took some already unclear lyrics and ran them back and forth a couple of times through a language translater. ;)
Feb 17 2009
prev sibling parent Derek Parnell <derek psych.ward> writes:
On Tue, 17 Feb 2009 02:05:56 -0500, Nick Sabalausky wrote:

 I'm a native English speaker, and even *I* find it very difficult to read 
 that kind of writing. 
Same here. I just skip over anything superdan has to say nowadays because of his communication style. I get the feeling though, he actually has some good things to say, its just a pity they take too much effort to translate into English. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Feb 17 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c143578cb5cec61f27c90 news.digitalmars.com...
 
 I'll admit I'm not always right or even discrete in my approach.  But
 I am very serious about standing against what I consider very
 dangerous material.
 
Yea, a few *drawings* of beings that are clearly inteded as sentient anyway are "dangerous". I guess people are going to see that and get killed by it, or turn into serial rapists, or it will cause earthquakes to destroy us all. Shit, I guarantee there's more explicit stuff than that in an ordinary vetrinary medicine textbook. Don't try to tell us you're not blowing it completely out of proportion.
Uh... it seems there's some misunderstanding here. Maybe the material isn't there anymore? Though, I don't really feel like testing that theory. I guess that would make me look a little stupid now, wouldn't it?
 And from the vantage point of the "rock I'm under" apparently things
 are pretty bad now even though I've seen and heard a lot over the
 years.
 
 Here's another thing:
 
 Remember "SuperDan"?  This is a good example of a guy who you all
 exercised "pressure" on to conform to your etiquette (I especially
 remember Jarrett doing so, interestingly).  Why?  By what standard?
 Was he not playing according to the rules of "niceness"?  Apparently
 even this community has limits.  Walter didn't even step in when it
 was at its worst.  I couldn't stand SuperDan's language or sick
 analogies.... but his antics were completely fair game in a community
 like this... and those of you who resisted him for it were
 practically hypocrites, if you will pardon my directness.  I wonder
 what kind of character assassinations went on then?
 
When a person, either superdan, or this time, you, comes around here and starts directly attacking other people out of the blue, yea, you can expect the rest of us are going to lash back.
Yes, that's probably true. Some of the lashing occurs without knowledge, however. I'm not satisfied that I approached this very well either. There, see? Your intolerance has just made me feel insecure about my approach! You accomplished something without violence.
 If I publicly denounce something, it may be rejected, refuted,
 ignored or even detested.  But I believe there is sometimes very good
 reason to confront things publicly, just as there is equal right for
 you to reject what I'm saying publicly.I
 
Yes, John, please save us from bearophile's drawings.
Okay. Um. How about I just not save you from it. I get the feeling you don't want to be saved. :) -JJR
Feb 15 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c143db8cb5d5ff96f4cc0 news.digitalmars.com...
 Hello Nick,

 When a person, either superdan, or this time, you, comes around here
 and starts directly attacking other people out of the blue, yea, you
 can expect the rest of us are going to lash back.
Yes, that's probably true. Some of the lashing occurs without knowledge, however. I'm not satisfied that I approached this very well either. There, see? Your intolerance has just made me feel insecure about my approach! You accomplished something without violence.
Hee hee, I'd love too see a person attempt to accomplish something over a newsgroup with physical violence ;-) That would be quite an engineering feat.
Feb 15 2009
parent reply BCS <none anon.com> writes:
Hello Nick,

 Hee hee, I'd love too see a person attempt to accomplish something
 over a newsgroup with physical violence ;-) That would be quite an
 engineering feat.
 
DARN YOU!!! Now I'm going to find my self trying to figure out how that could be done. OTOH it would make a good story.
Feb 15 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello BCS,

 Hello Nick,
 
 Hee hee, I'd love too see a person attempt to accomplish something
 over a newsgroup with physical violence ;-) That would be quite an
 engineering feat.
 
DARN YOU!!! Now I'm going to find my self trying to figure out how that could be done. OTOH it would make a good story.
Heh... ask SuperDan... i think he might have come closest to demonstrating it. -JJR
Feb 15 2009
parent "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c144248cb5d8caf3e9e10 news.digitalmars.com...
 Hello BCS,

 Hello Nick,

 Hee hee, I'd love too see a person attempt to accomplish something
 over a newsgroup with physical violence ;-) That would be quite an
 engineering feat.
DARN YOU!!! Now I'm going to find my self trying to figure out how that could be done. OTOH it would make a good story.
Heh... ask SuperDan... i think he might have come closest to demonstrating it.
Yea, but I bet I could surpass it with robotics ;-)
Feb 15 2009
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c142608cb5cabec91a980 news.digitalmars.com...
 Hello bearophile,

 (And my name is bearophile, thank you).

 Bye,
 bearophile
I'm curious to know what "bearophile" means? At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. If you don't know what I'm talking about, then I ask you consider carefully the implications of some of your the creature fantasies that you blog about. I'm surprised nobody else has complained. Or maybe I should not be so surprised considering how politically incorrect it is to challenge any ideology (or fantasy, for that matter) even if it be so morally bankrupt so as to be considered extreme indeceny and deviance by any number of different cultural standards. The implications there as graphically displayed, while not quite clear, are in the direction of bestiality... and if not, are confused enough as to be presumptiously indifferent to any ethical question about the horrible nature of it. You are not doubt quite bright, as your other interests and participation in D design have made clearly evident. But I just can't believe such content is so closely linked to this group and the D design process. I should think you would be embarrassed. I know I am to have been subjected to it. If you're shocked that I'm confronting you openly on this, the reason lies squarely in the fact that you are boldly and unashamedly displaying the material in a site that is linked here multiple times; and I believe such boldness warrants the same measure of confrontation in return. I hope you will change your mind about the material. I'd wish both your mind on the matter and the material would completely change, but I don't have the right to request much more than that you disassociate it completely with your dealings with D, so that those it concerns don't have to be involved in the particulars of your fantasies whenever you link your site here. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore. For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident. -JJR
??...You can't seriously expect someone to censor their website just because someone else on the web might have a problem with some of the content. I have a problem with religous content (some of it even sickens me), but I'm not going to give anyone on the net a big lecture just because they stuck "Jesus" in their username or put drawings of churches and bible quotes on their website. Would you have all potentially offendable content removed from the net? There wouldn't be any net left.
Feb 14 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c142608cb5cabec91a980 news.digitalmars.com...
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means? At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. If you don't know what I'm talking about, then I ask you consider carefully the implications of some of your the creature fantasies that you blog about. I'm surprised nobody else has complained. Or maybe I should not be so surprised considering how politically incorrect it is to challenge any ideology (or fantasy, for that matter) even if it be so morally bankrupt so as to be considered extreme indeceny and deviance by any number of different cultural standards. The implications there as graphically displayed, while not quite clear, are in the direction of bestiality... and if not, are confused enough as to be presumptiously indifferent to any ethical question about the horrible nature of it. You are not doubt quite bright, as your other interests and participation in D design have made clearly evident. But I just can't believe such content is so closely linked to this group and the D design process. I should think you would be embarrassed. I know I am to have been subjected to it. If you're shocked that I'm confronting you openly on this, the reason lies squarely in the fact that you are boldly and unashamedly displaying the material in a site that is linked here multiple times; and I believe such boldness warrants the same measure of confrontation in return. I hope you will change your mind about the material. I'd wish both your mind on the matter and the material would completely change, but I don't have the right to request much more than that you disassociate it completely with your dealings with D, so that those it concerns don't have to be involved in the particulars of your fantasies whenever you link your site here. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore. For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident. -JJR
??...You can't seriously expect someone to censor their website just because someone else on the web might have a problem with some of the content.
It shows professional courtesy if nothing else. This is not a small thing, Nick. If you see it as small, then we have nothing to discuss here. I don't know if you actually examined the content, so you may or may not know what you are talking about.
 I have a problem with religous content (some of it even sickens me),
 but I'm not going to give anyone on the net a big lecture just because
 they stuck "Jesus" in their username or put drawings of churches and
 bible quotes on their website.
 
A lot of religious content sickens me too... however, your analogy assumes "offense" is the only issue here. We are talking about material that would be considered extremely pornographic: censor is common etiquette for such material. Bearophile warns near the material but the content remains visible. I can spell it out for you in a private email if you wish.
 Would you have all potentially offendable content removed from the
 net? There wouldn't be any net left.
 
Oh please don't be so thick. Is it so much trouble to clean up a few pictures, add a logon system for those that absolutely must see the dirt, or move programming material to another blog/website? -JJR
Feb 14 2009
prev sibling next sibling parent reply BCS <none anon.com> writes:
Hello John,

 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means?
While I also consider the choices you are questioning to be "less than ideal", the fact that, aside from his user name, there is nothing in this NG its self to object to suggests to me that /this/ is not the correct forum to raise the issue in. It is (or should be) well understood that links posted in one site linking to another imply a bit of "buyer beware".
Feb 14 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello BCS,

 Hello John,
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
I'm curious to know what "bearophile" means?
While I also consider the choices you are questioning to be "less than ideal", the fact that, aside from his user name, there is nothing in this NG its self to object to suggests to me that /this/ is not the correct forum to raise the issue in. It is (or should be) well understood that links posted in one site linking to another imply a bit of "buyer beware".
"less than ideal" is wimpy way of putting it. You might as well give your support for it by such a statement. (Oh no... here I'm forcing my opinion on another Judeo-Christian! ;) ) Incidentally, it doesn't appear that there is any correct forum in which to raise the question. Please suggest a correct procedure in approaching this. Here are my reasons for posting here. (1) This is the D language discussion group. Promotion of D happens here. It is the center of D life. (2) His blog links are connected to his site consistantly in his posts here (3) His blog links are carried consistantly through the "Planet D" feed, which consistantly promote NOT only his D blog material but also his furry critters blogs. (yes, I can stop signing up to D planet feed altogether and lose all connection to other feeds :P)... but that won't improve D's reputation any, now will it? (4) His *root* link is referenced in Andrei's Phobos2 documentation on ranges. An email address would have sufficed there. (5) "bearophile" now mixed with the content, which sooner or later, many people of all ages will see from the D world has bizarre implications... and I suppose I must stop all imagination from running wild on this one after seeing what kinds of things he publicly displays at his site. I'm sorry: there is just no good connotation for that alias given the history of modern words ending in "phile". Innocently... "lover of bears" is cute until you see a picture of human-like figure in a explicit "tangle" with a furry critter from his site. Excuse the extreme frankness here. (6) His public connection of his website here indicates that he appears to have no shame concerning this part of his life. I therefore feel no shame in showing the dangers of such an association publicly also. If this is a poor mode of reasoning, then I'm still waiting to have this carefully explained to me /minus/ the typical lame "religion" accusations. (7) You'll have to suggest to me any other situation where D has had to worry about external links being this bad. If you think this is "less than ideal"... how much does it take before someone sees how bad this is? Are people completely oblivious these days to the nature of where all this leads? If this were same person that posted /drawings/ of pedophilia related material, or perhaps even rape drawings, would that be acceptable association for the D community too? You will be identified by what you associate with. It's not a matter of passive "leave and let a guy have his space." He chose to connect himself with the D language this way! Come on guys! Wake up! Has TV and movies lulled everyone into some sort numbness here so that they can no longer see a problem with this stuff? Does it take some secular psychologist to suggest the problems with this to you? A question: why should a link be "buyer beware" here? Is D having too much difficulty managing itself. Shall we paste such a thing all over D? Is this design team so careless as to not understand the effects of websites it links to or the image it projects? Even most advertisement services and marketing companies probably know this! You want to leave the worldview out of this? Then please just consider the practical reasons as to why such an association stinks. Of course, we're need to always be careful on the internet, but we're talking about the promotion of a system language that we want to gain widespread interest across the world, no? It's not just about each one of us as individuals... it's about D and a whole slew of people that are affected by it. If I have responded too severely in my initial post (or this one, for that matter), I'm afraid it's because I am frustrated with so much apathy here and absolutely astonished at how oblivious people are to the fallout that these sort of things create. You don't /have to/ ascribe to religous system to see evidence of this. In his favour: bearophile is polite and consistant in his approach to posting here. I appreciate that. Now I *request* that he'll just take the step further and somehow help us not have any association of this material with D! Bearophile... you appear to have some supporters here, so you apparently have nothing to be ashamed of, although I disagree. But I think you are hurting D by allowing your lifestyle choices to be associated with the language design. I ask you to please change this. -JJR
Feb 14 2009
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
You know, John, the way you've been going on here I expected to see pics
of Shepherds doing their sheep, barnyard orgies, and such. But Furries?
Come on.

You're taking a very big leap, going from Furries to pornography. It's
like the uproar over D & D back in the '70s, with TSR and their
customers being accused of devil worshipping. This is pure fantasy. I
didn't even see anything remotely resembling bestiality or pornography,
something you alluded to in other posts in this thread.

Frankly, I think you're making a mountain out of a molehill. You're
entitled to find pictures of fantastical creatures offensive. The
solution to soothe sensibilities is to stop looking at them. There's no
need to mount a crusade to save the D community from the evils of feline
  humanoids showing breasts.

John Reimer wrote:
 
 Here are my reasons for posting here.
 
 
 (1) This is the D language discussion group.  Promotion of D happens 
 here. It is the center of D life.
And at what point did bearophile start pushing Furries on you or any other member of this D newsgroup? His posts are generally all about D.
 
 
 (2) His blog links are connected to his site consistantly in his posts here
 
 
 (3) His blog links are carried consistantly through the "Planet D" feed, 
 which consistantly promote NOT only his D blog material but also his 
 furry critters blogs. (yes, I can stop signing up to D planet feed 
 altogether and lose all connection to other feeds :P)... but that won't 
 improve D's reputation any, now will it?
 
 (4) His *root* link is referenced in Andrei's Phobos2 documentation on 
 ranges. An email address would have sufficed there.
 
You need not follow the links. Besides, I fail to see how Furries can have any impact on D's reputation. I'm fairly certain the majority of programmers are a bit more open-minded than your average Bible-belt soccer mom.
 
 (5) "bearophile" now mixed with the content, which sooner or later, many 
 people of all ages will see from the D world has bizarre implications... 
 and I suppose I must stop all imagination from running wild on this one 
 after seeing what kinds of things he publicly displays at his site.  I'm 
 sorry: there is just no good connotation for that alias given the 
 history of modern words ending in "phile".  Innocently... "lover of 
 bears" is cute until you see a picture of human-like figure in a 
 explicit "tangle" with a furry critter from his site.  Excuse the 
 extreme frankness here.
 
Most handles have a meaning behind them. I alwasys wondered what the meaning behind bearophile might be. Now that we know, it's still cute. Furry art is all over the net. You can find plenty of it by typing "Furry" into Google. If you are so easily offended, I suggest you install a content filter.
 (6) His public connection of his website here indicates that he appears 
 to have no shame concerning this part of his life.  I therefore feel no 
 shame in showing the dangers of such an association publicly also.  If 
 this is a poor mode of reasoning, then I'm still waiting to have this 
 carefully explained to me /minus/ the typical lame "religion" accusations.
 
Shame is usually in the eyes of the beholder. I see nothing at all shameful about Furry art. I could understand your reaction if it were beastiality, bondage, or some other collection of alternative sexual lifestyle photos. I still would completely disagree with you, but I would understand it since negative reactions to anything other than the missionary position are common in a prudish society like that of America. But what is on bearophile's site isn't even sexual (unless there's a page I missed, but it still wouldn't make a difference). It's fantasy art. Your reaction is extreme and quite unwarranted, in my book.
 
 (7) You'll have to suggest to me any other situation where D has had to 
 worry about external links being this bad.
 
This is all on you, John. From what I've seen, the majority of the respondents to your post are on the on the other side of the debate. There's nothing 'bad' going on here.
 
 
 In his favour:
 
 
 bearophile is polite and consistant in his approach to posting here.  I 
 appreciate that.  Now I *request* that he'll just take the step further 
 and somehow help us not have any association of this material with D!
 
You are making associations where there are none. Everyone has their own personal interests and pursuits. Some people mix their interests on their blogs and web sites, others separate them. My signature on the DSource forums prominently displays a link to three of my blogs, including my personal blog where I frequently rant against religion and conservatives. I also occasionally post music videos from Korean girl bands. Are you going to claim that has a negative impact on the D community as well? Ultimately, you are entitled to express your opinion (though, it is certainly subject to moderation in a privately operated forum such as this). But, taking under consideration point number 1 on your list above, I think you'd be better served posting your objections to Furry fandom on your own blog.
Feb 15 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Mike,

 You know, John, the way you've been going on here I expected to see
 pics of Shepherds doing their sheep, barnyard orgies, and such. But
 Furries? Come on.
 
I was wondering when you'd say something.
 You're taking a very big leap, going from Furries to pornography. It's
 like the uproar over D & D back in the '70s, with TSR and their
 customers being accused of devil worshipping. This is pure fantasy. I
 didn't even see anything remotely resembling bestiality or
 pornography, something you alluded to in other posts in this thread.
 
Sometimes, it's that you just didn't see it. I guess you missed it then or it is now gone.
 Frankly, I think you're making a mountain out of a molehill. You're
 entitled to find pictures of fantastical creatures offensive. The
 solution to soothe sensibilities is to stop looking at them. There's
 no
 need to mount a crusade to save the D community from the evils of
 feline
 humanoids showing breasts.
Hmmm. Nope that wasn't it.
 John Reimer wrote:
 
 Here are my reasons for posting here.
 
 (1) This is the D language discussion group.  Promotion of D happens
 here. It is the center of D life.
 
And at what point did bearophile start pushing Furries on you or any other member of this D newsgroup? His posts are generally all about D.
 (2) His blog links are connected to his site consistantly in his
 posts here
 
 (3) His blog links are carried consistantly through the "Planet D"
 feed, which consistantly promote NOT only his D blog material but
 also his furry critters blogs. (yes, I can stop signing up to D
 planet feed altogether and lose all connection to other feeds :P)...
 but that won't improve D's reputation any, now will it?
 
Here for one.
 (4) His *root* link is referenced in Andrei's Phobos2 documentation
 on ranges. An email address would have sufficed there.
 
You need not follow the links. Besides, I fail to see how Furries can have any impact on D's reputation. I'm fairly certain the majority of programmers are a bit more open-minded than your average Bible-belt soccer mom.
Actually, they aren't. They are just as open-minded. They will defend their worldview quite stridently. Of course, I haven't seen a "Bible-belt" soccer mom in action, so maybe that offers a bit more of a display than I'm familiar with.
 (5) "bearophile" now mixed with the content, which sooner or later,
 many people of all ages will see from the D world has bizarre
 implications... and I suppose I must stop all imagination from
 running wild on this one after seeing what kinds of things he
 publicly displays at his site.  I'm sorry: there is just no good
 connotation for that alias given the history of modern words ending
 in "phile".  Innocently... "lover of bears" is cute until you see a
 picture of human-like figure in a explicit "tangle" with a furry
 critter from his site.  Excuse the extreme frankness here.
 
Most handles have a meaning behind them. I alwasys wondered what the meaning behind bearophile might be. Now that we know, it's still cute. Furry art is all over the net. You can find plenty of it by typing "Furry" into Google. If you are so easily offended, I suggest you install a content filter.
 (6) His public connection of his website here indicates that he
 appears to have no shame concerning this part of his life.  I
 therefore feel no shame in showing the dangers of such an association
 publicly also.  If this is a poor mode of reasoning, then I'm still
 waiting to have this carefully explained to me /minus/ the typical
 lame "religion" accusations.
 
Shame is usually in the eyes of the beholder. I see nothing at all shameful about Furry art. I could understand your reaction if it were beastiality, bondage, or some other collection of alternative sexual lifestyle photos. I still would completely disagree with you, but I would understand it since negative reactions to anything other than the missionary position are common in a prudish society like that of America. But what is on bearophile's site isn't even sexual (unless there's a page I missed, but it still wouldn't make a difference). It's fantasy art. Your reaction is extreme and quite unwarranted, in my book.
Again, you must have missed it... or maybe it was removed.
 (7) You'll have to suggest to me any other situation where D has had
 to worry about external links being this bad.
 
This is all on you, John. From what I've seen, the majority of the respondents to your post are on the on the other side of the debate. There's nothing 'bad' going on here.
Maybe not anymore... that's good to know.
 In his favour:
 
 bearophile is polite and consistant in his approach to posting here.
 I appreciate that.  Now I *request* that he'll just take the step
 further and somehow help us not have any association of this material
 with D!
 
You are making associations where there are none. Everyone has their own personal interests and pursuits. Some people mix their interests on their blogs and web sites, others separate them. My signature on the DSource forums prominently displays a link to three of my blogs, including my personal blog where I frequently rant against religion and conservatives. I also occasionally post music videos from Korean girl bands. Are you going to claim that has a negative impact on the D community as well?
I suppose there are no associations anymore? Okay... good to know. Yes, I've read some of your links. They would count as rants much worse and much more abusive and hurtful than mine from a liberal stand-point. Some of them I completely disagree with, but then some of them are justified.
 Ultimately, you are entitled to express your opinion (though, it is
 certainly subject to moderation in a privately operated forum such as
 this). But, taking under consideration point number 1 on your list
 above, I think you'd be better served posting your objections to Furry
 fandom on your own blog.
 
I didn't object to furry fandom, mike. Just one image there that perhaps has been removed since? -JJR
Feb 15 2009
next sibling parent "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c143d48cb5d5c962e0e80 news.digitalmars.com...
 I didn't object to furry fandom, mike.  Just one image there that perhaps 
 has been removed since?
If you're referring to the one with the guy "laying down" with a male (or are they all hermaphrodite as the one diagram would seem to indicate?) human/fantasy-creature hybrid, that's drawing's still there, and I've been unoffended by worse. My biggest concern with it is that the one character is one of those creatures that seems to have two torsos at right-angles to each other. I can't even image the sorts of back problems that must create for them in old age, or just how their biology is able to actually *fill* both torsos with useful organs. ;-)
Feb 15 2009
prev sibling parent reply BCS <none anon.com> writes:
Hello John,

 I'm fairly certain the majority of
 programmers are a bit more open-minded than your average Bible-belt
 soccer mom.
 
Actually, they aren't. They are just as open-minded. They will defend their worldview quite stridently. Of course, I haven't seen a "Bible-belt" soccer mom in action, so maybe that offers a bit more of a display than I'm familiar with.
Nor have I seen a "Bible-belt" soccer mom in action but, yah /everyone/ has there issue: <G> VI/emacs, tabs/spaces, 4-space/8-space tabs, NNTP/PHPBB, static/dynamic typing, airplains on a treadmill, need I go on? </G>
Feb 15 2009
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
BCS wrote:
 Hello John,
 
 I'm fairly certain the majority of
 programmers are a bit more open-minded than your average Bible-belt
 soccer mom.
Actually, they aren't. They are just as open-minded. They will defend their worldview quite stridently. Of course, I haven't seen a "Bible-belt" soccer mom in action, so maybe that offers a bit more of a display than I'm familiar with.
Nor have I seen a "Bible-belt" soccer mom in action but, yah /everyone/ has there issue: <G> VI/emacs, tabs/spaces, 4-space/8-space tabs, NNTP/PHPBB, static/dynamic typing, airplains on a treadmill, need I go on? </G>
Let me add one too: there/their. Andrei
Feb 15 2009
parent reply BCS <none anon.com> writes:
Hello Andrei,

 Let me add one too: there/their.
 
 Andrei
 
Oops :( I don't /think/ I'm dyslexic :b
Feb 15 2009
next sibling parent John Reimer <terminal.node gmail.com> writes:
Hello BCS,

 Hello Andrei,
 
 Let me add one too: there/their.
 
 Andrei
 
Oops :( I don't /think/ I'm dyslexic :b
I do it all the time... and only see my errors after the fact. :( -JJR
Feb 15 2009
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
BCS wrote:
 Hello Andrei,
 
 Let me add one too: there/their.

 Andrei
Oops :( I don't /think/ I'm dyslexic :b
That lysdexia is a killer isn't it :o). Andrei
Feb 15 2009
parent reply Steve Schveighoffer <schveiguy yahoo.com> writes:
On Sun, 15 Feb 2009 15:42:17 -0800, Andrei Alexandrescu wrote:

 BCS wrote:
 Hello Andrei,
 
 Let me add one too: there/their.

 Andrei
Oops :( I don't /think/ I'm dyslexic :b
That lysdexia is a killer isn't it :o). Andrei
dyslexics of the world untie!!!
Feb 15 2009
parent =?UTF-8?B?QWxleGFuZGVyIFDDoW5law==?= writes:
Steve Schveighoffer wrote:
 On Sun, 15 Feb 2009 15:42:17 -0800, Andrei Alexandrescu wrote:
 
 BCS wrote:
 Hello Andrei,

 Let me add one too: there/their.

 Andrei
Oops :( I don't /think/ I'm dyslexic :b
That lysdexia is a killer isn't it :o). Andrei
dyslexics of the world untie!!!
I put the SEX in DYSLEXIA!
Feb 16 2009
prev sibling parent reply BCS <none anon.com> writes:
 You will be identified by what you associate with.  It's not a matter
 of passive "leave and let a guy have his space."  He chose to
 connect himself with the D language this way!
I think that asking him to adjust the root page and stuff relating to D might be reasonable, but a direct e-mail or a comment on his blog would be a better choice than a post here.
 In his favour:

 bearophile is polite and consistant in his approach to posting here.
 I appreciate that.  Now I *request* that he'll just take the step
 further and somehow help us not have any association of this material
 with D!

 Bearophile... you appear to have some supporters here, so you
 apparently have nothing to be ashamed of, although I disagree. But I
 think you are hurting D by allowing your lifestyle choices to be
 associated with the language design.  I ask you to please change this.
I will agree with you on this.
Feb 15 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"BCS" <none anon.com> wrote in message 
news:a6268ff2a258cb5d85e3cc3572 news.digitalmars.com...
 You will be identified by what you associate with.  It's not a matter
 of passive "leave and let a guy have his space."  He chose to
 connect himself with the D language this way!
I think that asking him to adjust the root page and stuff relating to D might be reasonable, but a direct e-mail or a comment on his blog would be a better choice than a post here.
 In his favour:

 bearophile is polite and consistant in his approach to posting here.
 I appreciate that.  Now I *request* that he'll just take the step
 further and somehow help us not have any association of this material
 with D!

 Bearophile... you appear to have some supporters here, so you
 apparently have nothing to be ashamed of, although I disagree. But I
 think you are hurting D by allowing your lifestyle choices to be
 associated with the language design.  I ask you to please change this.
I will agree with you on this.
If I created a website that sometimes discussed Joe's Pizza Parlor and at other times posted drawings of cigarettes and even included my site's homepage link in my signature at Joe's Pizza Parlor Internet Message Board, then anyone who took that as an indication that Joe's Pizza Parlor endorses either smoking, non-smoking, or the act of making cigarette-related drawings, would clearly be a complete nut (Not that Joe's Pizza Parlor necessarily endorses, condemns, or is ambivalent towards nuts of either the human or tree-grown variety, or any other variety that may have ever existed, does exit, will exist or doesn't, didn't and/or never will exist). I see no reason for the same principle not to apply here. This is the same pulling-imaginary-connections-out-of-thin-air kind of thinking that, in the early days of the web, led National Public Radio to pull that ridiculous stunt of trying to prohibit anyone from linking to their site.
Feb 15 2009
parent Daniel Keep <daniel.keep.lists gmail.com> writes:
Nick Sabalausky wrote:
 [snip]
 
 If I created a website that sometimes discussed Joe's Pizza Parlor and at 
 other times posted drawings of cigarettes and even included my site's 
 homepage link in my signature at Joe's Pizza Parlor Internet Message Board, 
 then anyone who took that as an indication that Joe's Pizza Parlor endorses 
 either smoking, non-smoking, or the act of making cigarette-related 
 drawings, would clearly be a complete nut (Not that Joe's Pizza Parlor 
 necessarily endorses, condemns, or is ambivalent towards nuts of either the 
 human or tree-grown variety, or any other variety that may have ever 
 existed, does exit, will exist or doesn't, didn't and/or never will exist). 
 I see no reason for the same principle not to apply here.
 
 This is the same pulling-imaginary-connections-out-of-thin-air kind of 
 thinking that, in the early days of the web, led National Public Radio to 
 pull that ridiculous stunt of trying to prohibit anyone from linking to 
 their site. 
The sad thing is, people are all too happy to draw these kinds of links; if they want to ruin something or someone, they'll take whatever fodder they can. Just look at the video game violence debate... "It was violent video games that drove him to murder all those people, like GTA!" "Umm... actually, he didn't play games. He did have a lot of violent R-rated movies, though, and..." "VIDEO GAMES!" -- Daniel
Feb 15 2009
prev sibling next sibling parent reply Steve Schveighoffer <schveiguy yahoo.com> writes:
On Sat, 14 Feb 2009 19:10:05 +0000, John Reimer wrote:

 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident.
I too did not find anything offensive on bearophile's site. This is the same kind of attitude, John, that brought about the death of Alan Turing. I find this post is not flamebait, but simply intolerant. Bearophile never brought his personal preferences or fantasies into this forum, you did. And that is not the way to do something like that. I can see your point that Walter or Andrei may not want D or phobos to be considered connected to something that is controversial. But just email them and have a private conversation. John, the fact that not a *single* person who has responded to your posts shares your opinion should tell you something. If I posted a picture of Jesus nailed to a cross on my blog, along with my D code, and somebody found it offensive, would you agree that I should be forced to remove this picture because it depicts murder? Bearophile's art did not hurt anyone or any animal, it is a *drawing*. Let's get back to more constructive programming discussion, and leave the bible study class at home, ok John? If you feel offended by the link to bearophile's blog, contact Andrei or Walter directly, and petition them. It matters not what we think, but if anything you most certainly have solidified in Walter and Andrei's eyes the case against your wishes. -Steve
Feb 15 2009
parent reply John Reimer <terminal.node gmail.com> writes:
Hello Steve,

 On Sat, 14 Feb 2009 19:10:05 +0000, John Reimer wrote:
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
For those that see this as flamebait, I request that you do not respond. I just felt somebody had to say something about this. If this is perceived to be libelous, I ask that you consider carefully how damaging your content is to others, and the feelings it might engender in its viewers. Thus, you should recognize that this post merely elucidates on what's already evident.
I too did not find anything offensive on bearophile's site.
Maybe it's gone now? Hmmm... I guess it's time for me to shutup?
 This is the same kind of attitude, John, that brought about the death
 of Alan Turing.  
That's a strong accusation, Steve, without knowing me; it's a very hasty reduction for circumstances, personalities, and factors you are quite unfamiliar with. I didn't see you mention this sort of thing while people were talking about physically harming the internet marketer's in horrible ways in the javascript discussion. :)
 I find this post is not flamebait, but simply
 intolerant.
Yes, it is a form of intolerance. Sometimes it must exist. You have some of it too... it's just at what point it is activated and how you act on it. You assume violence always follows from intolerance. It does only from the those worldviews or personalities that believe such action is justified. I abhore such. But, using the "intolerance" accusation against me is very weak method to discharge such activity, especially considering the same accusation could be used for any government that allows votes on matters. You are intolerant every day. You are intolerant of some D designs. The problem is, when we get to nitty gritty details of morality, this consistancy ends with a bang... and suddenly nobody should argue, discuss, or even consider the dangers of such things. Please stick to arguing that perhaps I was indiscrete or had poor judgement in my original post and keep the suggestions (as you have) to alternative modes of accomplishing the same task. But don't give that silly intolerance bit. I've seen the same from all sides, and there's a world of hypocracy wrapped in that statement. ? Bearophile never brought his personal preferences or
 fantasies into this forum, you did.  And that is not the way to do
 something like that.  I can see your point that Walter or Andrei may
 not want D or phobos to be considered connected to something that is
 controversial.  But just email them and have a private conversation.
 John, the fact that not a *single* person who has responded to your
 posts shares your opinion should tell you something.
 
Yes, I believe he did in a way as I listed above. But perhaps I should have done as you suggested... first.
 If I posted a picture of Jesus nailed to a cross on my blog, along
 with my D code, and somebody found it offensive, would you agree that
 I should be forced to remove this picture because it depicts murder?
 
False analogy. However, someone may request you to remove it... and you may do it out of courtesy or you may not. I guarantee you there would be something that /would/ most certainly make you back away from any association with a site if you really thought about it. Naturally we all have our limits... you are just refusing to admit it.
 Bearophile's art did not hurt anyone or any animal, it is a *drawing*.
 Let's get back to more constructive programming discussion, and leave
 the bible study class at home, ok John?  If you feel offended by the
 link to bearophile's blog, contact Andrei or Walter directly, and
 petition them.  It matters not what we think, but if anything you most
 certainly have solidified in Walter and Andrei's eyes the case against
 your wishes.
 
There was no Bible-study done here, Steve. I believe it was practically minded and argued. But it is convenient for people to repeatedly make that accusation to religion when they don't have a better argument. That may be the case about Andrei and Walter... in which it would prove that my approach was deeply flawed. But that would only be so if it were my only reason for posting here. It does matter what you think... perhaps more than you know. -JJR
Feb 15 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c143d88cb5d632bf3cd10 news.digitalmars.com...
 That's a strong accusation, Steve, without knowing me; it's a very hasty 
 reduction for circumstances, personalities, and factors you are quite 
 unfamiliar with.  I didn't see you mention this sort of thing while people 
 were talking about physically harming the internet marketer's in horrible 
 ways in the javascript discussion. :)
It was clear that the violent things said in that discussion were not intended literally. The images on bearophile's site are *also* clearly fictional. Thus we don't mind either. But your comments against it were more serious. If instead you had said something like "Argh! This whole furry movement makes me want to burn out my eyes and take a lawn-mower to every art institute in the tri-county area!" then we'd be clearly back in the realm of fiction again, and we'd all acknolegde your viewpoint on it, chuckle at the amusingly overstated comment, and silently agree to disagree. And if bearophile decided that he wanted to, he could think "Hmm, some people that are into the D content really don't like this other stuff, so I guess I could add some clearer separtion of topics". (Personally, it doesn't bother me the way it is, though.) Or, as you've come to realize now, you could have said something like "Bearophile, I like your D content, but I find some of those images disturbing, and others might too. Maybe it would be a better site design to have a stronger separation of content." As I'm sure you realize, that would have achieved the same result I described in the paragraph above - but sadly without the "people chuckling at the amusingly overstated comment" part. I like having amusingly overstated comments to chuckle at ;-)
 I find this post is not flamebait, but simply
 intolerant.
Yes, it is a form of intolerance. Sometimes it must exist. You have some of it too... it's just at what point it is activated and how you act on it. You assume violence always follows from intolerance. It does only from the those worldviews or personalities that believe such action is justified. I abhore such. But, using the "intolerance" accusation against me is very weak method to discharge such activity, especially considering the same accusation could be used for any government that allows votes on matters. You are intolerant every day. You are intolerant of some D designs. The problem is, when we get to nitty gritty details of morality, this consistancy ends with a bang... and suddenly nobody should argue, discuss, or even consider the dangers of such things. Please stick to arguing that perhaps I was indiscrete or had poor judgement in my original post and keep the suggestions (as you have) to alternative modes of accomplishing the same task. But don't give that silly intolerance bit. I've seen the same from all sides, and there's a world of hypocracy wrapped in that statement.
Ok, here I do agree with you (and this is kind of a pet peeve I've had for a while). Being against intolerance is a contradiction. A person who is against "intolerance" is automatically intolerant of at least one thing - namely, intolerance (ie, exactly the thing they're intolerant of). You just simply can't get away from intolerance without being tolerant of *everything*, including, but not limited to, every act of intolerance as well as every imaginable atrocity. Clearly, though, some things really just shouldn't be tolerated. Mass murder, for example. Or deliberately false and misleading advertising. Or really, really, really dumb language design ;) So the meaningful question becomes not "Is this intolerance?" but rather "What is and isn't acceptable and to what degree?"
Feb 15 2009
next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c143d88cb5d632bf3cd10 news.digitalmars.com...
 
 That's a strong accusation, Steve, without knowing me; it's a very
 hasty reduction for circumstances, personalities, and factors you are
 quite unfamiliar with.  I didn't see you mention this sort of thing
 while people were talking about physically harming the internet
 marketer's in horrible ways in the javascript discussion. :)
 
It was clear that the violent things said in that discussion were not intended literally. The images on bearophile's site are *also* clearly fictional. Thus we don't mind either. But your comments against it were more serious.
Yes, they were serious. The fact that they are fictional is not an argument for "right" as I expressed in other posts that brought other analogies into the spectrum to show that everyone will enforce their limits at some point, fictional or otherwise.
 If instead you had said something like "Argh! This whole furry
 movement makes me want to burn out my eyes and take a lawn-mower to
 every art institute in the tri-county area!" then we'd be clearly back
 in the realm of fiction again, and we'd all acknolegde your viewpoint
 on it, chuckle at the amusingly overstated comment, and silently agree
 to disagree. And if bearophile decided that he wanted to, he could
 think "Hmm, some people that are into the D content really don't like
 this other stuff, so I guess I could add some clearer separtion of
 topics". (Personally, it doesn't bother me the way it is, though.)
 
 Or, as you've come to realize now, you could have said something like
 "Bearophile, I like your D content, but I find some of those images
 disturbing, and others might too. Maybe it would be a better site
 design to have a stronger separation of content." As I'm sure you
 realize, that would have achieved the same result I described in the
 paragraph above - but sadly without the "people chuckling at the
 amusingly overstated comment" part. I like having amusingly overstated
 comments to chuckle at ;-)
 
Uh uh uh... don't gloat to quickly now. :) You, Nick, are chuckling now perhaps because I have conceded some points here? I don't think this or the content is a chuckling matter... but as you like. Yes, I should have approached it the way you so adroitly expressed. No, I don't think my comment was overstated concerning the seriousness of the material. That's just your opinion based on your experience, Nick. Some feel that because they have been exposed to much more serious material, that it lessons the "evil" of the so-called "lesser" forms of it ... this is what I would call the numbing factor. You can appeal to this form of reasoning, but I wouldn't use it as an argument to define such limits for others. I've seen a lot of dead people (maimed and otherwise) before, and thus have less of reaction than others to seeing death even if I greatly understand the significance of it. This does not mean that I presume to think that all people share my desensitization to it. In terms of things that are moral issues (even if fictional in form), I believe that you vastly underestimating the potential for damage and influence by public promotion of the material -- I would say your chuckling is careless. I do ascribe my reasoning to the standards found in my worldview. You appear to have nothing but personal experience to appeal to as a standard. If this is the case, be prepared to see no possible way to define what is trully evil because everyone's level of experience will render some consensus almost impossible or temporary at best. -JJR
Feb 15 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"John Reimer" <terminal.node gmail.com> wrote in message 
news:28b70f8c144158cb5d8c0c1ac480 news.digitalmars.com...
 Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c143d88cb5d632bf3cd10 news.digitalmars.com...

 That's a strong accusation, Steve, without knowing me; it's a very
 hasty reduction for circumstances, personalities, and factors you are
 quite unfamiliar with.  I didn't see you mention this sort of thing
 while people were talking about physically harming the internet
 marketer's in horrible ways in the javascript discussion. :)
It was clear that the violent things said in that discussion were not intended literally. The images on bearophile's site are *also* clearly fictional. Thus we don't mind either. But your comments against it were more serious.
Yes, they were serious. The fact that they are fictional is not an argument for "right" as I expressed in other posts that brought other analogies into the spectrum to show that everyone will enforce their limits at some point, fictional or otherwise.
I was merely explaining the discrepancy between how most of us reacted to the content in the javascript discussion and how we reacted to your original post against bearophile.
 If instead you had said something like "Argh! This whole furry
 movement makes me want to burn out my eyes and take a lawn-mower to
 every art institute in the tri-county area!" then we'd be clearly back
 in the realm of fiction again, and we'd all acknolegde your viewpoint
 on it, chuckle at the amusingly overstated comment, and silently agree
 to disagree. And if bearophile decided that he wanted to, he could
 think "Hmm, some people that are into the D content really don't like
 this other stuff, so I guess I could add some clearer separtion of
 topics". (Personally, it doesn't bother me the way it is, though.)

 Or, as you've come to realize now, you could have said something like
 "Bearophile, I like your D content, but I find some of those images
 disturbing, and others might too. Maybe it would be a better site
 design to have a stronger separation of content." As I'm sure you
 realize, that would have achieved the same result I described in the
 paragraph above - but sadly without the "people chuckling at the
 amusingly overstated comment" part. I like having amusingly overstated
 comments to chuckle at ;-)
Uh uh uh... don't gloat to quickly now. :) You, Nick, are chuckling now perhaps because I have conceded some points here? I don't think this or the content is a chuckling matter... but as you like.
Please re-read. I wasn't chuckling in this case, I was merely pointing out that many of us find deliberately colorful overstatements, such as the ones in the javascript discussion, to be amusing (and thus, chuckle at *those* statements while being well aware that they are just that - overstatements).
 In terms of things that are moral issues (even if fictional in form), I 
 believe that you vastly underestimating the potential for damage and 
 influence by public promotion of the material
If this is so, then please enlighten us with examples rather than repeatedly flying the "It's dangerous!" flag. Something more substantial than the speculative slippery slope argument.
Feb 15 2009
parent reply "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:gna51a$r4n$1 digitalmars.com...
 "John Reimer" <terminal.node gmail.com> wrote in message 
 news:28b70f8c144158cb5d8c0c1ac480 news.digitalmars.com...
 Hello Nick,

 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c143d88cb5d632bf3cd10 news.digitalmars.com...

 That's a strong accusation, Steve, without knowing me; it's a very
 hasty reduction for circumstances, personalities, and factors you are
 quite unfamiliar with.  I didn't see you mention this sort of thing
 while people were talking about physically harming the internet
 marketer's in horrible ways in the javascript discussion. :)
It was clear that the violent things said in that discussion were not intended literally. The images on bearophile's site are *also* clearly fictional. Thus we don't mind either. But your comments against it were more serious.
Yes, they were serious. The fact that they are fictional is not an argument for "right" as I expressed in other posts that brought other analogies into the spectrum to show that everyone will enforce their limits at some point, fictional or otherwise.
I was merely explaining the discrepancy between how most of us reacted to the content in the javascript discussion and how we reacted to your original post against bearophile.
In other words, while you may not consider "real" vs "not-real" to be a useful variable to include in the "acceptability" equation, many of us do, and that is why we reacted differently in the different situations. In that particular portion of my message above, I wasn't attempting to make any point beyond that.
Feb 15 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Nick,

 "Nick Sabalausky" <a a.a> wrote in message
 news:gna51a$r4n$1 digitalmars.com...
 
 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c144158cb5d8c0c1ac480 news.digitalmars.com...
 
 Hello Nick,
 
 "John Reimer" <terminal.node gmail.com> wrote in message
 news:28b70f8c143d88cb5d632bf3cd10 news.digitalmars.com...
 
 That's a strong accusation, Steve, without knowing me; it's a very
 hasty reduction for circumstances, personalities, and factors you
 are quite unfamiliar with.  I didn't see you mention this sort of
 thing while people were talking about physically harming the
 internet marketer's in horrible ways in the javascript discussion.
 :)
 
It was clear that the violent things said in that discussion were not intended literally. The images on bearophile's site are *also* clearly fictional. Thus we don't mind either. But your comments against it were more serious.
Yes, they were serious. The fact that they are fictional is not an argument for "right" as I expressed in other posts that brought other analogies into the spectrum to show that everyone will enforce their limits at some point, fictional or otherwise.
I was merely explaining the discrepancy between how most of us reacted to the content in the javascript discussion and how we reacted to your original post against bearophile.
In other words, while you may not consider "real" vs "not-real" to be a useful variable to include in the "acceptability" equation, many of us do, and that is why we reacted differently in the different situations. In that particular portion of my message above, I wasn't attempting to make any point beyond that.
Yeah, I think I misunderstood you there. Thanks for the clarification. -JJR
Feb 15 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
I suppose I should say something.

The website is hosted on Smartsoft's servers. I pay for the bandwidth. I 
am not responsible for user supplied content posted here.

We are all adults here, and I am not anyone's mother, nor am I the 
morals police.

I'll remove specific posts if the author of them asks me to, as I 
understand completely if someone has second thoughts about something 
they posted.

I'll also remove drive-by spam posts, anything with illegal content, and 
links to illegal content or malware sites, as I become aware of them and 
am reasonably able to. If anyone sees something like that (I can't read 
all the posts) please let me know with a private email. This forum has 
been remarkably free of that, though. This is one reason why I would 
prefer google to continue to refuse to recognize our server <g>.

If anyone finds a particular poster personally offensive, that's what 
kill files are for. Ostracism also works well - trolls tend to go away 
if nobody responds to their vitriol.

Eventually, I'd like to have some sort of voting system on posts, and 
then registered users can downvote into oblivion any trash (and even 
better, upvote the gems!).
Feb 15 2009
next sibling parent BCS <none anon.com> writes:
Hello Walter,

 
 Eventually, I'd like to have some sort of voting system on posts, and
 then registered users can downvote into oblivion any trash (and even
 better, upvote the gems!).
 
something like this? <G> http://stackoverflow.com
Feb 15 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Walter,

 I suppose I should say something.
 
 The website is hosted on Smartsoft's servers. I pay for the bandwidth.
 I am not responsible for user supplied content posted here.
 
 We are all adults here, and I am not anyone's mother, nor am I the
 morals police.
 
 I'll remove specific posts if the author of them asks me to, as I
 understand completely if someone has second thoughts about something
 they posted.
 
 I'll also remove drive-by spam posts, anything with illegal content,
 and links to illegal content or malware sites, as I become aware of
 them and am reasonably able to. If anyone sees something like that (I
 can't read all the posts) please let me know with a private email.
 This forum has been remarkably free of that, though. This is one
 reason why I would prefer google to continue to refuse to recognize
 our server <g>.
 
 If anyone finds a particular poster personally offensive, that's what
 kill files are for. Ostracism also works well - trolls tend to go away
 if nobody responds to their vitriol.
 
 Eventually, I'd like to have some sort of voting system on posts, and
 then registered users can downvote into oblivion any trash (and even
 better, upvote the gems!).
 
Walter, I regret that I have spoken rather hastily about you in my frustration. I disagree with how you sometimes handle (or don't handle) things, but I do admit that you have always been responsive to me when I've written you personally about a matter. You haven't always listened, but you've responded. That I appreciate. I personally don't think the "we're all adults here" argument flies very well. That assumption seems to have been the general operating principle of this group for awhile, and it hasn't turned out to be exactly true... more so wishful thinking :). And if that were true, we wouldn't need a voting system on posts. Nonetheless, that would be an interesting experiment in self-moderation. Also relying on this community to refuse to feed the trolls has never worked. Regarding this topic... you never responded which means this is the answer in itself. But that's okay. I started this with the wrong approach for what I still consider a serious matter. Maffi Leonardo, my apologies for not addressing you privately first on the matter. My apologies to the group for rushing the matter out without a little more forethought. I think most of my arguments are valid, but this is somewhat lost when the manner of presentation is offensive to the majority of responders. Sometimes this can't be avoided; but in this case, a little more discretion would have benefited me. Maffi, I still wish that you would find a solution that moves or removes your "furry" material or the D material elsewhere so that the two are not connected (including your blog that appears on D planet). I'll leave that up to your discretion, but such is the significance of it to me (specifically one image) that I would hope both Andrei and Walter would be consciencious of such a root link in the D range reference. Naturally, your contribution deserves credit, but I don't think there is any necessity for it to be joined to your website without a more responsible regard for linked content. -JJR
Feb 15 2009
next sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Mon, Feb 16, 2009 at 10:20 AM, John Reimer <terminal.node gmail.com> wrote:
 Maffi, I still wish that you would find a solution that moves or removes
 your "furry" material or the D material elsewhere so that the two are not
 connected (including your blog that appears on D planet).
I will second that. I'm not interested in seeing posts about "furries" on Planet D. Or posts about people's kids or people's rants on society, or political views, or C++, etc. To everyone with a mixed-use blog on Planet D: Please put categories on your posts and tell Anders Bergh (anders1 foogmail.com-foo) how to subscribe to just the D-related categories. I have done so for my techblog (and also posted the instructions about how to do a category-specific feed for anyone else who uses WordPress -- http://www.billbaxter.com/techblog/?p=27 ). --bb
Feb 15 2009
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
John Reimer wrote:
 I personally don't think the "we're all adults here" argument flies very 
 well.
 That assumption seems to have been the general operating 
 principle of this group for awhile, and it hasn't turned out to be 
 exactly true... more so wishful thinking :).  And if that were true, we 
 wouldn't need a voting system on posts.
A voting system is also useful for those who just want to see the gems and not wade through the detritus. I've looked at a few systems, and have never seen one that integrates seamlessly with news. I keep toying with writing one, but that requires supporting FreeBSD with D first <g>. Yeah, I would do it in D. The webnews thing we currently use is in PHP, and it frankly shows how desperate things are to have to use it.
Feb 15 2009
parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Sun, Feb 15, 2009 at 8:47 PM, Walter Bright
<newshound1 digitalmars.com> wrote:
 I've looked at a few systems, and have never seen one that integrates
 seamlessly with news. I keep toying with writing one, but that requires
 supporting FreeBSD with D first <g>. Yeah, I would do it in D. The webnews
 thing we currently use is in PHP, and it frankly shows how desperate things
 are to have to use it.
GDC already works on FreeBSD..
Feb 15 2009
prev sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Mon, Feb 16, 2009 at 10:37 AM, Bill Baxter <wbaxter gmail.com> wrote:
 On Mon, Feb 16, 2009 at 10:20 AM, John Reimer <terminal.node gmail.com> wrote:
 Maffi, I still wish that you would find a solution that moves or removes
 your "furry" material or the D material elsewhere so that the two are not
 connected (including your blog that appears on D planet).
I will second that. I'm not interested in seeing posts about "furries" on Planet D. Or posts about people's kids or people's rants on society, or political views, or C++, etc. To everyone with a mixed-use blog on Planet D: Please put categories on your posts and tell Anders Bergh (anders1 foogmail.com-foo) how to subscribe to just the D-related categories. I have done so for my techblog (and also posted the instructions about how to do a category-specific feed for anyone else who uses WordPress -- http://www.billbaxter.com/techblog/?p=27 ).
This explains how to get a tag specific feed for a LiveJournal blog: http://www.livejournal.com/support/faqbrowse.bml?faqid=149 --bb
Feb 15 2009
prev sibling parent reply Steve Schveighoffer <schveiguy yahoo.com> writes:
On Sun, 15 Feb 2009 17:01:49 +0000, John Reimer wrote:

 Hello Steve,
 
 This is the same kind of attitude, John, that brought about the death
 of Alan Turing.
That's a strong accusation, Steve, without knowing me; it's a very hasty reduction for circumstances, personalities, and factors you are quite unfamiliar with.
I'm just pointing out the similarities. Of course there are differences in the case of Alan Turing, but I don't think I have to know you to interpret your post? You don't like the furry creature drawings (or specifically one drawing, which supposedly depicts something "close" to beastiality), and I get that. But suggesting that someone's artistic preference should preclude them from contributing to D is in my mind a form of discrimination, and it seems uncalled for. I agree with Nick about how you should have gone about this, and I'm glad you see that now.
 I didn't see you mention this sort of thing while
 people were talking about physically harming the internet marketer's in
 horrible ways in the javascript discussion. :)
I didn't read that discussion, so I can't really say how I would have reacted. But suggesting physical harm on a newsgroup is far less realistic than suggesting removal of pics or links. Sounds backwards, but it's true. People rant in the most dramatic way imaginable, and it seems certain people have no qualms about how they talk on a forum, but if you talked to them in person, they probably are very tame people. I don't think it's the numbness effect as you put it, but really the general assumption that people talking about hurting others (again, I don't have any context, so I'm not sure what was suggested) are generally speaking from an orifice other than their mouth, and generally don't put as much time and effort into their posts as you did. As one other poster put it, it would be very difficult to physically harm someone through a newsgroup ;)
 
 I find this post is not flamebait, but simply intolerant.
Yes, it is a form of intolerance. Sometimes it must exist. You have some of it too... it's just at what point it is activated and how you act on it. You assume violence always follows from intolerance.
Yes, I think intolerance of cruelty and harm is in order. Intolerance of peoples preferences is BS. Yes, that's my opinion, and not necessarily the "Right view," but I can state my opinion just as easily as you can, and if you feel you are justified, it probably does nothing to change your mind to argue with you. No I don't assume violence always follows from intolerance. If you are referring to my Turing reference, he committed suicide after his career was ruined when the government found out he was a homosexual. So it's not violence that caused his death, but simply everyone telling him that he had no right to exist the way he did, or make a living at something totally unrelated to his sexual preference. Unfortunately for the computer world, sexual equality did not exist back then, or Turing may have done a hundred more amazing things in his lifetime.
  It does only
   from
 the those worldviews or personalities that believe such action is
 justified.
  I abhore such.  But, using the "intolerance" accusation against me is
  very
 weak method to discharge such activity,
I'm not suggesting you are a violent person, or one that hates people that like furries (a term which BTW I was as ignorant about as you were). But your suggestion of limiting access or contributions based on a preference for art is disturbing to me, and I thought it would help if you saw it from that point of view.
 especially considering the same
 accusation could be used for any government that allows votes on
 matters.  You are intolerant every day.  You are intolerant of some D
 designs.  The problem is, when we get to nitty gritty details of
 morality, this consistancy ends with a bang... and suddenly nobody
 should argue, discuss, or even consider the dangers of such things.
I think we are having a discussion right now about it. I don't think the way you brought it up was very kind or proper. You surely could have brought it up in a way that would have fostered a better discussion of the *merits* of your beliefs versus the way you announced them.
 Please stick to arguing that perhaps I was indiscrete or had poor
 judgement in my original post and keep the suggestions (as you have) to
 alternative modes of accomplishing the same task.  But don't give that
 silly intolerance bit.  I've seen the same from all sides, and there's a
 world of hypocracy wrapped in that statement.
As long as you give up the belief that links to furrys should not be associated with D :)
 If I posted a picture of Jesus nailed to a cross on my blog, along with
 my D code, and somebody found it offensive, would you agree that I
 should be forced to remove this picture because it depicts murder?
 
 
False analogy. However, someone may request you to remove it... and you may do it out of courtesy or you may not. I guarantee you there would be something that /would/ most certainly make you back away from any association with a site if you really thought about it. Naturally we all have our limits... you are just refusing to admit it.
I'm not refusing to admit it. I would absolutely refuse to associate myself with people who I know were doing criminal activities or were harming others. I appreciate that you do not want to be associated with furries, that is your call.
 Bearophile's art did not hurt anyone or any animal, it is a *drawing*.
 Let's get back to more constructive programming discussion, and leave
 the bible study class at home, ok John?  If you feel offended by the
 link to bearophile's blog, contact Andrei or Walter directly, and
 petition them.  It matters not what we think, but if anything you most
 certainly have solidified in Walter and Andrei's eyes the case against
 your wishes.
 
 
There was no Bible-study done here, Steve. I believe it was practically minded and argued. But it is convenient for people to repeatedly make that accusation to religion when they don't have a better argument.
I didn't necessarily mean literally Bible study :) Your views just remind me of that type of thing. I probably should have left that part out, sorry. -Steve
Feb 15 2009
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Steve Schveighoffer" <schveiguy yahoo.com> wrote in message 
news:gnakdh$19a9$2 digitalmars.com...
 If you are
 referring to my Turing reference, he committed suicide after his career
 was ruined when the government found out he was a homosexual.
That's really interesting. I had absolutely no idea about any of that.
 I'm not suggesting you are a violent person, or one that hates people
 that like furries (a term which BTW I was as ignorant about as you
 were).
Since some of the people here appear to dislike "furry" content, but weren't aware of the term, I thought I should point out that "yiffy" is another common term for the same thing. Just so you're aware and don't accidentally click on something with that label someday and get a big surprise.
 As long as you give up the belief that links to furrys should not be
 associated with D :)
The closet rebel in me can't help but be tempted to make a risque' drawing involving the anthropomorphic D mascot. And maybe toss in Tux, the BSD deamon, an...apple...and...umm...a window, I guess...to like, symbolize cross-platform harmony...or something...and stuff...dude. But fortunately for everyone, I can't draw ;)
Feb 15 2009
parent =?UTF-8?B?QWxleGFuZGVyIFDDoW5law==?= writes:
Nick Sabalausky wrote:
 The closet rebel in me can't help but be tempted to make a risque' drawing 
 involving the anthropomorphic D mascot. And maybe toss in Tux, the BSD 
 deamon, an...apple...and...umm...a window, I guess...to like, symbolize 
 cross-platform harmony...or something...and stuff...dude.
 
 But fortunately for everyone, I can't draw ;) 
LOL
Feb 16 2009
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Hello Steve,

 On Sun, 15 Feb 2009 17:01:49 +0000, John Reimer wrote:
 
 Hello Steve,
 
 This is the same kind of attitude, John, that brought about the
 death of Alan Turing.
 
That's a strong accusation, Steve, without knowing me; it's a very hasty reduction for circumstances, personalities, and factors you are quite unfamiliar with.
I'm just pointing out the similarities. Of course there are differences in the case of Alan Turing, but I don't think I have to know you to interpret your post? You don't like the furry creature drawings (or specifically one drawing, which supposedly depicts something "close" to beastiality), and I get that. But suggesting that someone's artistic preference should preclude them from contributing to D is in my mind a form of discrimination, and it seems uncalled for. I agree with Nick about how you should have gone about this, and I'm glad you see that now.
Just a quick response here. You seem to infer that I suggested that he stop contributing to D. I did not. I suggested a separation of the display of his other interests from his D material that gets displayed here (specifically I requested "that you disassociate /it/ completely with your dealings with D"). I think that particular request was fair, and it seems that he was considerate enough to respond to the request or at least part of it. This should not be compared to ostracism. I just wanted to clarify that part. Ostracism in a group like this would make no practical sense because I'm sure the whole group would disappear for one reason or another :P (and I'm sure I would be the first to be ostracised.) Although it seems that the right to ostracise trolls still exists. Poor guys. :) Yes, the mode was completely indelicate however disturbed I was at the time. I am not at all satisfied with how I carried that one out. -JJR
Feb 17 2009
parent Steve Schveighoffer <schveiguy yahoo.com> writes:
On Wed, 18 Feb 2009 05:43:06 +0000, John Reimer wrote:

 Hello Steve,
 
 On Sun, 15 Feb 2009 17:01:49 +0000, John Reimer wrote:
 
 Hello Steve,
 
 This is the same kind of attitude, John, that brought about the death
 of Alan Turing.
 
That's a strong accusation, Steve, without knowing me; it's a very hasty reduction for circumstances, personalities, and factors you are quite unfamiliar with.
I'm just pointing out the similarities. Of course there are differences in the case of Alan Turing, but I don't think I have to know you to interpret your post? You don't like the furry creature drawings (or specifically one drawing, which supposedly depicts something "close" to beastiality), and I get that. But suggesting that someone's artistic preference should preclude them from contributing to D is in my mind a form of discrimination, and it seems uncalled for. I agree with Nick about how you should have gone about this, and I'm glad you see that now.
Just a quick response here. You seem to infer that I suggested that he stop contributing to D. I did not. I suggested a separation of the display of his other interests from his D material that gets displayed here (specifically I requested "that you disassociate /it/ completely with your dealings with D"). I think that particular request was fair, and it seems that he was considerate enough to respond to the request or at least part of it. This should not be compared to ostracism. I just wanted to clarify that part.
OK, I was thinking about the case where bearophile was less accommodating :) If the link was bearophile's requirement (which it wasn't, and I think he was happy to oblige to your request) for inclusion of his work, then the only recourse would be to remove the work. As it turns out, that was not the case, but we hadn't heard from him at the time I wrote this :) In any case, I agree the request was fair.
 Ostracism in a group like this would make no practical sense because I'm
 sure the whole group would disappear for one reason or another :P (and
 I'm sure I would be the first to be ostracised.)   Although it seems
 that the right to ostracise trolls still exists. Poor guys. :)
I don't think ostracism is necessary. People who are jerks (not meaning you) get called out as such, so usually there isn't a problem with that. I take more offense to a person saying that an idea is stupid or worthless than I do to swearing or trolling.
 Yes, the mode was completely indelicate however disturbed I was at the
 time.
  I am not at all satisfied with how I carried that one out.
Water under the bridge now. -Steve
Feb 18 2009
prev sibling next sibling parent reply Don <nospam nospam.com> writes:
John Reimer wrote:
 Hello bearophile,
 
 (And my name is bearophile, thank you).

 Bye,
 bearophile
 At first, I thought this alias was innocent enough, but after visiting 
 your much promoted site (promoted in the D community), I'm not so sure 
 what to think.  I almost blanched at some of the content and greatly 
 regretted having visited it.
 
 Of course, it is equally people's right here to support you in your 
 freedom to display such things (while providing the links here).  If 
 they do, however, it speaks volumes about peoples general apathy to the 
 downward spiral of society where increasingly indecent content is seen 
 as normal and harmless. This is a great shame, and I'd be sorry to see 
 that people don't care anymore.
John, I think you make a valid point that the D community should check that any site which is officially linked to, provides reasonable indication when you are leaving the technical section, particularly when there's potential for offense. (For example, linking to a terrorist website might be damaging for D). But in other respects, if you're arguing from a Christian perspective, I don't see how bearophile's apparent acknowledgement of the truth of Romans 1 is anything but beneficial. He's no different from any of us. Rom 3:23. -Don.
Feb 15 2009
parent John Reimer <terminal.node gmail.com> writes:
Hello Don,

 John Reimer wrote:
 
 Hello bearophile,
 
 (And my name is bearophile, thank you).
 
 Bye,
 bearophile
At first, I thought this alias was innocent enough, but after visiting your much promoted site (promoted in the D community), I'm not so sure what to think. I almost blanched at some of the content and greatly regretted having visited it. Of course, it is equally people's right here to support you in your freedom to display such things (while providing the links here). If they do, however, it speaks volumes about peoples general apathy to the downward spiral of society where increasingly indecent content is seen as normal and harmless. This is a great shame, and I'd be sorry to see that people don't care anymore.
John, I think you make a valid point that the D community should check that any site which is officially linked to, provides reasonable indication when you are leaving the technical section, particularly when there's potential for offense. (For example, linking to a terrorist website might be damaging for D).
Yes. Meanwhile I admit my failure to approach this in a more graceful manner.
 But in other respects, if you're arguing from a Christian perspective,
 I don't see how bearophile's apparent acknowledgement of the truth of
 Romans 1 is anything but beneficial. He's no different from any of us.
 Rom 3:23.
 
 -Don.
 
Well, I don't know if he would agree with you that he is acknowledging it. :) From the Christian perspective, as you point out, you are correct that he is no different from any of us, except that you leave out some important details that are contextually completed by the words in and surrounding Romans 3:23. :) There's an irony here in the word "beneficial" which would cause me to react. However, I will leave your statement here, which contains the most fundamental description of the situation that could ever be said. -JJR
Feb 15 2009
prev sibling next sibling parent bearophile <bearophileHUGS lycos.com> writes:
Bill Baxter:
To everyone with a mixed-use blog on Planet D:  Please put categories on your
posts and tell Anders Bergh (anders1 foogmail.com-foo) how to subscribe to just
the D-related categories.<
Thank you, I always use tags in the blog, but I didn't know how to do this filtering from the beginning. I have now sent an email to Anders Bergh to show only my posts with the "d language" tag, I hope to receive an answer. (I'd also like to see PlanetD support LiveJournal "cuts", I use them to hide long blocks of code in the blog). Regarding links to my site, I have never asked for them, I didn't even know such links exist, so feel free to remove them; please remove references to my name too. I think this is enough to solve such kind of problems. ---------------- Nick Sabalausky:
My biggest concern with it is that the one character is one of those creatures
that seems to have two torsos at right-angles to each other. I can't even image
the sorts of back problems that must create for them in old age, or just how
their biology is able to actually *fill* both torsos with useful organs. ;-)<
I think there's a solution: the chakasa spine isn't L-shaped as an elbow, in the middle it has the shape of part of a circle. In the following months I'll try to have an image that shows this anatomic solution of such part of the spine :-) There are finite-element simulations of the mechanical stresses inside dinosaur tails, adapting them to the middle of their spine will require some time. Bye, bearophile
Feb 16 2009
prev sibling parent bearophile <bearophileHUGS lycos.com> writes:
John Reimer:
 Yes, the mode was completely indelicate however disturbed I was at the time. 
  I am not at all satisfied with how I carried that one out. 
Relax, I have a thick pelt. Learn from your errors, and be better next times. Bye, bearophile
Feb 18 2009
prev sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Fri, 13 Feb 2009 19:04:54 +0300, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:

 bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is on!<
   This thread is very long and complex, I am unable to understand where
 to start reading, etc. So can someone explain the problem to me, so I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going through the same element more than once. Consume minimal amounts of memory and time. Baseline solution: allocate an array of indices, shuffle it, then follow indices stored in the array. Andrei
In ideal world I'd like to see the following permutations generator in std library, instead: auto range = [0, 1, 2, 3, 4, 5]; auto perms = permutations(range); // a random-access range that returns lazy permutation generators. auto permutation = perms[0]; // get first permutation out of range.length! // auto permutation = perms(uniform(0, perms.length)); // get random permutation // print all possible permutations of a given array foreach (p; perms) { // print a given permutation foreach (e; p) { write(e, " "); } writeln(); // new line } BTW, I think it's ok to have permutation generator that consumes O(N) memory and runs at constant time. It would be totally awesome if generator would accept temporary buffer as an optional parameter: auto range = ...; auto buffer = cast(int*)alloca(int.sizeof * range.length)[0..range.length]; auto perms = permutations(range, buffer); // same code afterwards
Feb 13 2009
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Denis Koroskin wrote:
 On Fri, 13 Feb 2009 19:04:54 +0300, Andrei Alexandrescu 
 <SeeWebsiteForEmail erdani.org> wrote:
 
 bearophile wrote:
 Andrei Alexandrescu>The quest for finding a random cover of an array
 with as little extra memory consumed and with good complexity is on!<
   This thread is very long and complex, I am unable to understand where
 to start reading, etc. So can someone explain the problem to me, so I
 may be able to suggest some idea/code?
Given an array of length m, return a range that iterates the array in random order such that the entire array is visited without going through the same element more than once. Consume minimal amounts of memory and time. Baseline solution: allocate an array of indices, shuffle it, then follow indices stored in the array. Andrei
In ideal world I'd like to see the following permutations generator in std library, instead: auto range = [0, 1, 2, 3, 4, 5]; auto perms = permutations(range); // a random-access range that returns lazy permutation generators. auto permutation = perms[0]; // get first permutation out of range.length! // auto permutation = perms(uniform(0, perms.length)); // get random permutation
That can be done easily if you settle for forward iteration. The problem is that there are N! permutations of N objects, so reaching any interesting permutation will take a long time. Andrei
Feb 13 2009
prev sibling parent bearophile <bearophileHUGS lycos.com> writes:
Denis Koroskin:
 In ideal world I'd like to see the following permutations generator in std
library, instead:
In my dlibs there's already lazy versions for that, both lazy and eager, and more (but it's D1 code, not range-based): http://www.fantascienza.net/leonardo/so/dlibs/comb.html Bye, bearophile
Feb 13 2009
prev sibling next sibling parent reply Jason House <jason.james.house gmail.com> writes:
Andrei Alexandrescu Wrote:

 bearophile wrote:
 Andrei Alexandrescu:
 Say at some point there are k available (not taken) slots out of
 "n". There is a k/n chance that a random selection finds an
 unoccupied slot. The average number of random trials needed to find
 an unoccupied slot is proportional to 1/(k/n) = n/k. So the total
 number of random trials to span the entire array is quadratic.
 Multiplying that by 0.9 leaves it quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere.
Well I don't buy it. If you make a point, you need to be more precise than such hand-waving. It's not like in hashing. It's like in the algorithm we discuss. If you make a clear point that your performance is better than O(n*n) by stopping at 90% then make it. I didn't go through much formalism, but my napkin says you're firmly in quadratic territory. Andrei
Retrying when 90% full gives you a geometric series for the number of tries: 1+0.1+0.1^2+0.1^3+... Ignoring the math trick to get 1/(1-p), it's easy to see it's 1.111111... You're firmly in linear territory.
Feb 14 2009
parent Jason House <jason.james.house gmail.com> writes:
Jason House Wrote:

 Andrei Alexandrescu Wrote:
 
 bearophile wrote:
 Andrei Alexandrescu:
 Say at some point there are k available (not taken) slots out of
 "n". There is a k/n chance that a random selection finds an
 unoccupied slot. The average number of random trials needed to find
 an unoccupied slot is proportional to 1/(k/n) = n/k. So the total
 number of random trials to span the entire array is quadratic.
 Multiplying that by 0.9 leaves it quadratic.
It's like in hashing: if you want to fill 99% of the available space in a hash, then you take ages to find empty slots. But if you fill it only at 75-90%, then on average you need only one or two tries to find an empty slot. So your time is linear, with a small multiplicative constant. When the slots start to get mostly full, you change algorithm, copying the empty slots elsewhere.
Well I don't buy it. If you make a point, you need to be more precise than such hand-waving. It's not like in hashing. It's like in the algorithm we discuss. If you make a clear point that your performance is better than O(n*n) by stopping at 90% then make it. I didn't go through much formalism, but my napkin says you're firmly in quadratic territory. Andrei
Retrying when 90% full gives you a geometric series for the number of tries: 1+0.1+0.1^2+0.1^3+... Ignoring the math trick to get 1/(1-p), it's easy to see it's 1.111111... You're firmly in linear territory.
Ugh, I should not post when tired. p=0.9, not 0.1! 1/(1-0.9)=10. It's still linear, but won't be as nice as my prior post implied. Sorry.
Feb 14 2009
prev sibling parent Jerry Quinn <jlquinn optonline.net> writes:
Andrei Alexandrescu Wrote:

 Bill Baxter wrote:
 On Sat, Feb 14, 2009 at 1:03 PM, Andrei Alexandrescu 
 <SeeWebsiteForEmail erdani.org <mailto:SeeWebsiteForEmail erdani.org>> 
 wrote:
 
     bearophile wrote:
 
         Andrei Alexandrescu:
 
             Say at some point there are k available (not taken) slots out of
             "n". There is a k/n chance that a random selection finds an
             unoccupied slot. The average number of random trials needed
             to find
             an unoccupied slot is proportional to 1/(k/n) = n/k. So the
             total
             number of random trials to span the entire array is quadratic.
             Multiplying that by 0.9 leaves it quadratic.
 
 
         It's like in hashing: if you want to fill 99% of the available space
         in a hash, then you take ages to find empty slots. But if you
         fill it
         only at 75-90%, then on average you need only one or two tries to
         find an empty slot. So your time is linear, with a small
         multiplicative constant. When the slots start to get mostly
         full, you
         change algorithm, copying the empty slots elsewhere.
 
 
     Well I don't buy it. If you make a point, you need to be more
     precise than such hand-waving. It's not like in hashing. It's like
     in the algorithm we discuss. If you make a clear point that your
     performance is better than O(n*n) by stopping at 90% then make it. I
     didn't go through much formalism, but my napkin says you're firmly
     in quadratic territory.
 
  
 Well he has a point that the number of trials required to find an empty 
 depends not on the absolute number of empty items, but only the ratio of 
 empties to fulls.   Even your own claim about average number of trials 
 was n/k -- not sure how you got that though.
If you toss a N-side dice hoping for a specific face to show up (and stopping afterwards), how many times do you have to toss it on average? I recall (without being sure) that you need to toss it a number of times proportional to N. Could anyone confirm or deny?
avg_trials(N) = sum(t = 1-inf) { 1/N * ((N-1)/N)^(t-1) } where t is the number of trials. Experimentally, it converges to N
Feb 14 2009