Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Fast randomizer

75 views
Skip to first unread message

Tavis Ormandy

unread,
Jan 17, 2021, 4:11:49 PM1/17/21
to
On 2021-01-17, H e <he1...@hotmail.com> wrote:
> Anybody knows why Javascript Math.random() is so slow?
> Am the only one, who thinks, that it can be as fast as a computer screen?
>

Which implementation? As far as I know, all major implementations use
xorshift128+, which is very fast with a very impressive period,
2^128-1. It is just a dozen or so machine instructions on a 64bit
machine.

You can read about it here: http://vigna.di.unimi.it/ftp/papers/xorshiftplus.pdf

> It will be the next a10. Function will remember a2,...,a10. Next
> polynom takes as last polynom multiplier new time produced digit.

I would suggest implementing your scheme and see if it passes the
Diehard test suite. If it does, then see if you can benchmark better
than something from the xorshift family with a similar period.

(I really think that is a tall order though)

https://en.wikipedia.org/wiki/Diehard_tests

Tavis.

--
_o) $ lynx lock.cmpxchg8b.com
/\\ _o) _o) $ finger tav...@sdf.org
_\_V _( ) _( ) @taviso

H e

unread,
Jan 17, 2021, 4:26:32 PM1/17/21
to
I am referring to Vivaldi in Manjaro linux. I am now using "Min". Have not tested this in that so far. Will look.



He

(372) 6861327
Message has been deleted

H e

unread,
Jan 17, 2021, 5:13:18 PM1/17/21
to
Seems a bit faster in Min.
The code I am referring to:

<html>
<head>
<style>
body {
height: 100%;
color:green;
background-color: black;
}
#a1 {
width: 105%;
height: 94%;
font-size: 2vw;
font-weight: bold;
overflow-y:hidden;
line-height:2vw;
margin-top:1%;
}
</style>
</head>
<body>

<div id="a1">
</div>
<script>
function a2() {
setInterval(function(){
var a01=document.getElementById("a1").innerHTML;
a01="</p>"+a01;
for(var i=0; i<10; i++) {
var a=Math.round(Math.random()*999999999);
a01=a+" "+a01;
}
a01="<p style='height:1px;'>"+a01;
document.getElementById("a1").innerHTML=a01;

var a=document.getElementById("a1").innerHTML;
if(a.length>3345) {
var select = document.getElementById('a1');
select.removeChild(select.lastChild);
}
}, 1);
}

a2();
</script>
</body>
</html>


Can You tell me how fast it is exactly ?
Is it the minimum programming language countable time unit ?





He
(372) 6861327

David Brown

unread,
Jan 17, 2021, 6:09:30 PM1/17/21
to
On 17/01/2021 23:13, H e wrote:
> Seems a bit faster in Min.

(This is your chance to be viewed as serious about learning to program.
Think, and reply carefully, and you have a chance to learn something
useful. Continue to post the verbal diarrhoea that you've done so far
in this group, and you'll lose that chance.)


What do you think you are testing, using the code you posted? How do
you think it is affected by the speed of the Math.random() function?


H e

unread,
Jan 17, 2021, 7:53:07 PM1/17/21
to
Hello dear David.
I am testing random() speed.
I am referring to the fact, that it should be as fast as a pc can operate.

Look this:
https://groups.google.com/g/comp.programming/c/omwgnEPXjhA




Mina, jah mina, kes küll muu.

(372) 6861327

Richard Heathfield

unread,
Jan 18, 2021, 2:30:16 AM1/18/21
to
On 18/01/2021 00:53, H e wrote:
> David Brown kirjutas esmaspäev, 18. jaanuar 2021 kl 01:09:30 UTC+2:
>> On 17/01/2021 23:13, H e wrote:
>>> Seems a bit faster in Min.
>> (This is your chance to be viewed as serious about learning to program.
>> Think, and reply carefully, and you have a chance to learn something
>> useful. Continue to post the verbal diarrhoea that you've done so far
>> in this group, and you'll lose that chance.)
>>
>>
>> What do you think you are testing, using the code you posted? How do
>> you think it is affected by the speed of the Math.random() function?
>
> Hello dear David.
> I am testing random() speed.

Perhaps, but you're posting scraps of source that David has rightly
described as verbal diarrhoea.

He's not going to follow your links, any more than anyone else is - or
at least, not until you've established that you're capable of holding a
meaningful technical discussion, which so far you have not done.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

David Brown

unread,
Jan 18, 2021, 2:49:28 AM1/18/21
to
On 18/01/2021 01:53, H e wrote:
> David Brown kirjutas esmaspäev, 18. jaanuar 2021 kl 01:09:30 UTC+2:
>> On 17/01/2021 23:13, H e wrote:
>>> Seems a bit faster in Min.
>> (This is your chance to be viewed as serious about learning to program.
>> Think, and reply carefully, and you have a chance to learn something
>> useful. Continue to post the verbal diarrhoea that you've done so far
>> in this group, and you'll lose that chance.)
>>
>>
>> What do you think you are testing, using the code you posted? How do
>> you think it is affected by the speed of the Math.random() function?
>
> Hello dear David.
> I am testing random() speed.

No - that is what you /want/ to test, but it is certainly not what you
are doing with that code.

Try with code like this:


<!DOCTYPE html>
<html>
<body>

<h2>Timing of Math.random()</h2>

<p>EmptyTime: <span id = "EmptyTime">X</span></p>
<p>TotalTime: <span id = "TotalTime">X</span></p>
<p>RandTime: <span id = "RandTime">X</span></p>

<script>

const rounds = 1000000000;

var starttime = Date.now()
for (var i = 0; i < rounds; i++) {
// Empty loop
}
var emptytime = Date.now() - starttime;

document.getElementById("EmptyTime").innerHTML =
(1000000 * emptytime / rounds) + " µs";

starttime = Date.now()
for (var i = 0; i < rounds; i++) {
var x = Math.random();
}
var totaltime = Date.now() - starttime;

document.getElementById("TotalTime").innerHTML =
1000000 * (totaltime / rounds) + " µs";

var randtime = totaltime - emptytime;
document.getElementById("RandTime").innerHTML =
1000000 * (randtime / rounds) + " µs";


</script>

</body>
</html>


Depending on the speed of your computer/browser, you may need to change
the value of "rounds". The script should take a few seconds to run -
anything less and you have little accuracy in the results. Ideally it
should run for minutes, but I didn't want to spend that long.

Now, let's compare my code with yours, and see what differences there are.

1. My code looks like program code, not line noise. Learn to lay out
your code properly with indentation, and spacing in the code.
Readability is key to programming. (If Richard is paying attention,
I'll let him quote you Heathfield's Law here.) Use suitable identifier
names, even in the smallest of test code. But don't fill the code with
pointless style stuff - if all you need out is some numbers, that's all
you make.

2. If you want to test the speed of something - like the Math.random()
function - then aim to test /only/ that. Your code does rounding,
arithmetic, conversion to string, string concatenation - which will take
orders of magnitude longer than the call to Math.random(), completely
swamping its effect.

3. When testing the speed of a fast operation, you need to do it /many/
times. Here I am looping 1,000,000,000 times. You looped 10 times.
PC's, especially JavaScript environments, have a huge variability in
their timings depending on loads, dynamic clock speeds, JIT
optimisation, and all sorts of other factors. To have a hope of even a
vaguely useful result, you need to average out over a huge number of
iterations.

4. The speed of the "for" loop itself could dominate. (In my testing,
it was in fact roughly the same speed as the call to Math.random()
itself.) So my code compensates for that.


So now you have a rough basis for doing some benchmarking that can give
at least vaguely realistic results, you do some more testing. Things
you will want to check include :

1. Is Date.now() the best way of getting a good time reference? (I
don't know, I am not a JavaScript expert.)

2. Is the timing stable enough, or can you do better? Take multiple
samples and present a table or graph?

3. How does simply calling an empty function compare to calling
Math.round() ? If it is similar, then Math.random() is already as fast
as it could be.

4. How does your own "random" function compare in timing?

David Brown

unread,
Jan 18, 2021, 2:55:34 AM1/18/21
to
On 18/01/2021 08:30, Richard Heathfield wrote:
> On 18/01/2021 00:53, H e wrote:
>> David Brown kirjutas esmaspäev, 18. jaanuar 2021 kl 01:09:30 UTC+2:
>>> On 17/01/2021 23:13, H e wrote:
>>>> Seems a bit faster in Min.
>>> (This is your chance to be viewed as serious about learning to program.
>>> Think, and reply carefully, and you have a chance to learn something
>>> useful. Continue to post the verbal diarrhoea that you've done so far
>>> in this group, and you'll lose that chance.)
>>>
>>>
>>> What do you think you are testing, using the code you posted? How do
>>> you think it is affected by the speed of the Math.random() function?
>>
>> Hello dear David.
>> I am testing random() speed.
>
> Perhaps, but you're posting scraps of source that David has rightly
> described as verbal diarrhoea.
>
> He's not going to follow your links, any more than anyone else is - or
> at least, not until you've established that you're capable of holding a
> meaningful technical discussion, which so far you have not done.
>

You are correct that I am not going to follow his links. But I've given
him a leg-up on his testing, and we'll see where that leads.

Richard Heathfield

unread,
Jan 18, 2021, 3:05:27 AM1/18/21
to
Prediction:

Your code will give different results to the results he's already
obtained. He will therefore wrongly dismiss your code as being
incorrect, and will learn bugger all from the exercise.

My basis for this prediction is the ridiculous way he handled the
cross-sum "discussion".

H e

unread,
Jan 18, 2021, 6:08:20 AM1/18/21
to
This code does not work in my browser.





He

372(country code) 6861327

H e

unread,
Jan 18, 2021, 6:18:03 AM1/18/21
to
Guys, look my new function for it:
https://groups.google.com/g/comp.programming/c/jAWV0arcuEY

The testing html with smaller font:

<html>
<head>
<style>
body {
height: 100%;
color:#ff99ff;
background-color: white;
}
#a1 {
width: 100%;
height: 100%;
font-size: 0.9vw;
font-weight: bold;
font-style: italic;
overflow-y:hidden;
line-height:2vw;
margin-top:-3vh;
}
</style>
</head>
<body>

<div id="a1">
</div>
<script>
function a2() {
setInterval(function(){
var a01=document.getElementById("a1").innerHTML;
a01="</p>"+a01;
for(var i=0; i<23; i++) {
var a=Math.round(Math.random()*999999999);
a01=a+" "+a01;
}
a01="<p style='height:1px;'>"+a01;
document.getElementById("a1").innerHTML=a01;

var a=document.getElementById("a1").innerHTML;
if(a.length>12245) {
var select = document.getElementById('a1');
select.removeChild(select.lastChild);
}
}, 1);
}

a2();
</script>
</body>
</html>


He

Tel.: 372(country code) 6861327

David Brown

unread,
Jan 18, 2021, 6:19:15 AM1/18/21
to
On 18/01/2021 12:08, H e wrote:

> This code does not work in my browser.
>

That is one of the reasons why no one considers JavaScript to be a
serious programming language - there are far too many variations of it
and far too many inconsistent implementations.

You are trying to learn the basics of programming and software
development. Take the code I posted, and try to find out /why/ it
doesn't work on your browser - and how to change it to make it work.

Oh, and if you intend to use Usenet, please get yourself a newsreader
program (Thunderbird is fine for most people) and a newsserver
(news.eternal-september.org is popular and free), and drop the crappy
"google groups" interface. The limitations of google groups show up
quickly when trying to post code.

Härra Ramob

unread,
Jan 5, 2022, 3:39:04 AM1/5/22
to
Hi....................

Want to make business together?



Mister Kristjan Robam
hrramob@@@@@@mail.ee

Julio Di Egidio

unread,
Jan 5, 2022, 5:57:00 AM1/5/22
to
On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
> On 18/01/2021 12:08, H e wrote:
>
> > This code does not work in my browser.
> >
> That is one of the reasons why no one considers JavaScript to be a
> serious programming language - there are far too many variations of it
> and far too many inconsistent implementations.

It is you who are an incompetent fucking clown just repeating some bullshit you read in the blogs.

JS, "the world's most misunderstood programming language", indeed is a *wonderful* language (modulo the pseudo-OO bullshit they have been adding to it thanks, again, to the ultimate morons who have been asking for it, but one can ignore that just stuff...)

> You are trying to learn the basics of programming and software
> development. Take the code I posted, and try to find out /why/ it
> doesn't work on your browser - and how to change it to make it work.
>
> Oh, and if you intend to use Usenet, please get yourself a newsreader
> program (Thunderbird is fine for most people) and a newsserver
> (news.eternal-september.org is popular and free), and drop the crappy
> "google groups" interface. The limitations of google groups show up
> quickly when trying to post code.

You are the measure of how fucking insane and inane humanity has become. ESAD.

*Spammer Alert*

Julio

Richard Heathfield

unread,
Jan 5, 2022, 6:28:02 AM1/5/22
to
On 05/01/2022 10:56, Julio Di Egidio wrote:
> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:

<snip>

>> The limitations of google groups show up
>> quickly when trying to post code.
>
> You are the measure of how fucking insane and inane humanity has become. ESAD.
>
> *Spammer Alert*

You plonked David *twice* less than a month ago. And here you are
replying to him. The limitations of google groups show up quickly when
trying to plonk someone, especially when he's right and you're wrong.

Here's a tip for you. If you want people to take you seriously, drop the
swearing, which marks you out as an adolescent fool.

David Brown

unread,
Jan 5, 2022, 10:00:51 AM1/5/22
to
On 05/01/2022 12:27, Richard Heathfield wrote:
> On 05/01/2022 10:56, Julio Di Egidio wrote:
>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
>
> <snip>
>
>>> The limitations of google groups show up
>>> quickly when trying to post code.
>>
>> You are the measure of how fucking insane and inane humanity has
>> become.  ESAD.
>>
>> *Spammer Alert*
>
> You plonked David *twice* less than a month ago. And here you are
> replying to him. The limitations of google groups show up quickly when
> trying to plonk someone, especially when he's right and you're wrong.
>
> Here's a tip for you. If you want people to take you seriously, drop the
> swearing, which marks you out as an adolescent fool.
>

He is also responding to a year-old post, which does not make him look
any better!

I can't figure out Julio - I wonder if it is two people using the same
account. Sometimes he makes appropriate posts - polite enough and
on-topic for the threads, and generally contributing to this (and other)
newsgroups. And sometimes he makes posts that are just random swearing
and accusations of spamming.

I've had a few people plonk me over the years, as the result of
long-standing disagreements or character clashes - that's fair enough.
Anyone is free to read my posts and free to ignore them. But I have
never spam-posted, and his "plonk" posts came out of the blue.

And I can't imagine any justification someone could have for plonking
/you/, or Ben - as Julio has claimed to do.

Well, I guess we've all met stranger characters on Usenet!



Richard Heathfield

unread,
Jan 5, 2022, 11:35:52 AM1/5/22
to
On 05/01/2022 15:00, David Brown wrote:
> Well, I guess we've all met stranger characters on Usenet!

Truly it has been said: Usenet is a strange place.

Julio Di Egidio

unread,
Jan 5, 2022, 5:23:40 PM1/5/22
to
On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
> On 05/01/2022 10:56, Julio Di Egidio wrote:
> > On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
> <snip>
> >> The limitations of google groups show up
> >> quickly when trying to post code.
> >
> > You are the measure of how fucking insane and inane humanity has become. ESAD.
> >
> > *Spammer Alert*
>
> You plonked David *twice* less than a month ago.

And I'll keep doing it, you other piece of resident spamming shit: not for his sake of course, I have given up on you headless cunts.

ESAD, both of you.

*Plonk*

Julio

David Brown

unread,
Jan 5, 2022, 5:36:41 PM1/5/22
to
Do you actually know what the term "plonk" means here? It seems more
likely that you are just an ignorant plonker.


(Apologies to any non-British people here, who may not know the slang
term "plonker".)

Julio Di Egidio

unread,
Jan 5, 2022, 5:41:20 PM1/5/22
to
On Wednesday, 5 January 2022 at 23:36:41 UTC+1, David Brown wrote:
> On 05/01/2022 23:23, Julio Di Egidio wrote:
> > On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
> >> On 05/01/2022 10:56, Julio Di Egidio wrote:
> >>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
> >> <snip>
> >>>> The limitations of google groups show up
> >>>> quickly when trying to post code.
> >>>
> >>> You are the measure of how fucking insane and inane humanity has become. ESAD.
> >>>
> >>> *Spammer Alert*
> >>
> >> You plonked David *twice* less than a month ago.
> >
> > And I'll keep doing it, you other piece of resident spamming shit: not for his sake of course, I have given up on you headless cunts.
> >
> > ESAD, both of you.
> >
> Do you actually know what the term "plonk" means here?

It means "fuck you retarded assholes".

ESAD.

*Plonk*

Julio

Richard Heathfield

unread,
Jan 5, 2022, 7:24:22 PM1/5/22
to
On 05/01/2022 22:23, Julio Di Egidio wrote:
> On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
>> On 05/01/2022 10:56, Julio Di Egidio wrote:
>>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
>> <snip>
>>>> The limitations of google groups show up
>>>> quickly when trying to post code.
>>>
>>> You are the measure of how fucking insane and inane humanity has become. ESAD.
>>>
>>> *Spammer Alert*
>>
>> You plonked David *twice* less than a month ago.
>
> And I'll keep doing it,

So what you're saying is that you don't know what "plonk" means. Got it.

Richard Heathfield

unread,
Jan 5, 2022, 7:32:39 PM1/5/22
to
Wrong.

Freebase puts it well...

"Plonk is a Usenet jargon term for adding a particular poster to one's
kill file such that the poster's future postings are completely ignored.
It was first used in 1989, and by 1994 was a commonly used term on
Usenet regarding kill file additions. The word is an example of
onomatopoeia, intended to humorously represent the supposed sound of the
user hitting the bottom of the kill file."

By the way, Google doesn't support killfiles. Get yourself a real news
client. Until you do, claiming plonks your software doesn't support just
makes you look foolish.

And swearing still ages you at about 14. Grow up.

Julio Di Egidio

unread,
Jan 6, 2022, 4:21:28 AM1/6/22
to
On Thursday, 6 January 2022 at 01:32:39 UTC+1, Richard Heathfield wrote:
> On 05/01/2022 22:41, Julio Di Egidio wrote:
> > On Wednesday, 5 January 2022 at 23:36:41 UTC+1, David Brown wrote:
> >> On 05/01/2022 23:23, Julio Di Egidio wrote:
> >>> On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
> >>>> On 05/01/2022 10:56, Julio Di Egidio wrote:
> >>>>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
> >>>> <snip>
> >>>>>> The limitations of google groups show up
> >>>>>> quickly when trying to post code.
> >>>>>
> >>>>> You are the measure of how fucking insane and inane humanity has become. ESAD.
> >>>>>
> >>>>> *Spammer Alert*
> >>>>
> >>>> You plonked David *twice* less than a month ago.
> >>>
> >>> And I'll keep doing it, you other piece of resident spamming shit: not for his sake of course, I have given up on you headless cunts.
> >>>
> >>> ESAD, both of you.
> >>>
> >> Do you actually know what the term "plonk" means here?
> >
> > It means "fuck you retarded assholes".
>
> Wrong.
>
> Freebase puts it well...

Freebase is certainly not my source of truth, you piece retarded shit.

> "Plonk is a Usenet jargon term for adding a particular poster to one's
> kill file such that the poster's future postings are completely ignored.
> It was first used in 1989, and by 1994 was a commonly used term on
> Usenet regarding kill file additions. The word is an example of
> onomatopoeia, intended to humorously represent the supposed sound of the
> user hitting the bottom of the kill file."
>
> By the way, Google doesn't support killfiles. Get yourself a real news
> client. Until you do, claiming plonks your software doesn't support just
> makes you look foolish.
>
> And swearing still ages you at about 14. Grow up.

Shut the fuck up, you hypocritical piece of shit, and go fuck yourself.

Polluters of ponds should be impaled...

*Plonk*

Julio

Richard Heathfield

unread,
Jan 6, 2022, 4:38:07 AM1/6/22
to
On 06/01/2022 09:21, Julio Di Egidio wrote:
> On Thursday, 6 January 2022 at 01:32:39 UTC+1, Richard Heathfield wrote:
>> On 05/01/2022 22:41, Julio Di Egidio wrote:
>>> On Wednesday, 5 January 2022 at 23:36:41 UTC+1, David Brown wrote:
>>>> On 05/01/2022 23:23, Julio Di Egidio wrote:
>>>>> On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
>>>>>> On 05/01/2022 10:56, Julio Di Egidio wrote:
>>>>>>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
>>>>>> <snip>
>>>>>>>> The limitations of google groups show up
>>>>>>>> quickly when trying to post code.
>>>>>>>
>>>>>>> You are the measure of how fucking insane and inane humanity has become. ESAD.
>>>>>>>
>>>>>>> *Spammer Alert*
>>>>>>
>>>>>> You plonked David *twice* less than a month ago.
>>>>>
>>>>> And I'll keep doing it, you other piece of resident spamming shit: not for his sake of course, I have given up on you headless cunts.
>>>>>
>>>>> ESAD, both of you.
>>>>>
>>>> Do you actually know what the term "plonk" means here?
>>>
>>> It means "fuck you retarded assholes".
>>
>> Wrong.
>>
>> Freebase puts it well...
>
> Freebase is certainly not my source of truth

Clearly, neither is reality.

>> And swearing still ages you at about 14. Grow up.
>
> Shut the fuck up, you hypocritical piece of shit, and go fuck yourself.

Does your mother know you're using the Internet?

> Polluters of ponds should be impaled...
>
> *Plonk*

How predictable. I could simulate you with a bot.

To save you further embarrassment, I'll plonk you and show you how it's
done.

*Plonk*

Julio Di Egidio

unread,
Jan 6, 2022, 4:48:37 AM1/6/22
to
On Thursday, 6 January 2022 at 10:38:07 UTC+1, Richard Heathfield wrote:
> On 06/01/2022 09:21, Julio Di Egidio wrote:
> > On Thursday, 6 January 2022 at 01:32:39 UTC+1, Richard Heathfield wrote:
> >> On 05/01/2022 22:41, Julio Di Egidio wrote:
> >>> On Wednesday, 5 January 2022 at 23:36:41 UTC+1, David Brown wrote:
> >>>> On 05/01/2022 23:23, Julio Di Egidio wrote:
> >>>>> On Wednesday, 5 January 2022 at 12:28:02 UTC+1, Richard Heathfield wrote:
> >>>>>> On 05/01/2022 10:56, Julio Di Egidio wrote:
> >>>>>>> On Monday, 18 January 2021 at 12:19:15 UTC+1, David Brown wrote:
> >>>>>> <snip>
> >>>>>>>> The limitations of google groups show up
> >>>>>>>> quickly when trying to post code.
> >>>>>>>
> >>>>>>> You are the measure of how fucking insane and inane humanity has become. ESAD.
> >>>>>>>
> >>>>>>> *Spammer Alert*
> >>>>>>
> >>>>>> You plonked David *twice* less than a month ago.
> >>>>>
> >>>>> And I'll keep doing it, you other piece of resident spamming shit: not for his sake of course, I have given up on you headless cunts.
> >>>>>
> >>>>> ESAD, both of you.
> >>>>>
> >>>> Do you actually know what the term "plonk" means here?
> >>>
> >>> It means "fuck you retarded assholes".
> >>
> >> Wrong.
> >>
> >> Freebase puts it well...
> >
> > Freebase is certainly not my source of truth
>
> Clearly, neither is reality.

Shut the fuck up, you hypocritical piece spamming of shit, and go fuck yourself.

Polluters of ponds should be impaled...

*Plonk*

Julio
0 new messages