e two areas of focus for Axiom, community and research.
One focus is to "make Axiom live", hence the focus on literate programming.
I contacted the Physically Based Rendering authors and they gave me a
copy of their tools for creating their literate document. Unfortunately,
Axiom
is an order o
Dear Tim,
On Sun, Apr 2, 2023 at 5:35 PM Tim Daly wrote:
>
> > Moving forward with Axiom is going to be hard, and will probably have
> > to require some new people to get involved. That is best served with
> > financial or other incentives, but I have no suggestions on how to
> > achieve that
> Moving forward with Axiom is going to be hard, and will probably have
> to require some new people to get involved. That is best served with
> financial or other incentives, but I have no suggestions on how to
> achieve that goal.
I have contacted about a dozen companies for grant money.
I
le to capture, structure,
and pass on the knowledge. Eventually I settled on Knuth's Literate
Programming idea. Textbooks, such as Lisp In Small Pieces, were
what attracted me to the idea.
Like the Physically Based Rendering book, it should be possible to
find any algorithm. Each algorithm would have a
Dear Tim,
On Sat, Apr 1, 2023 at 10:22 AM Tim Daly wrote:
[...]
> I had hoped that Axiom could have been reborn as a literate program.
> The idea was to "make it live beyond the authors". Each algorithm
> would provide an explanation, various literature references, and some
> examples as well as
Hello Tim !
Idea is wonderful!
It can also serve as a living math book. Book that captures human
understanding about math. It starts with basic concepts and next
chapters can build upon this. Book can contain executable code
alongisde explanation. So someone learning particular subject can
I just received the 4th edition copy of Physically Based Rendering[0].
Donald Knuth wrote "This book has deservedly won an Academy Award.
I believe it should also be nominated for a Pulitzer Prize."
It is a 1200 page literate program. It not only contains the actual
source code, it contains
Hello !
AFAIK almost all top 15 billionaires of the world are described as
philanthropists.
I tried to contact their charities and suggest that certain carefully chosen
open
source software projects really deserve funding/donations given the value they
provide back to society. Nobody replied
Hello !
Sorry. This is greatly off-topic from Axiom, but your wild ideas got
me triggered in a good sense. So I throw few my ideas, comments to the
mix :)
> My research is on self-reproducing systems (SRP). The idea is that
> this leads to exponential growth. The goal is to terraform Mars.
Perhaps I wasn't clear.
I've sent a note to the Schmidt Futures project requesting Axiom support.
They have not yet replied. There is no agreement in place.
Tim
On Tue, Jul 19, 2022 at 4:35 PM Svjatoslav Agejenko <
svjatos...@svjatoslav.eu> wrote:
>
> Hello !
>
> > Financing isn't the real
Hello !
> Financing isn't the real issue.
>
> I've contacted many companies / universities to try to get support.
> The latest effort is with the Schmidt Futures foundation.
> https://www.schmidtfutures.com/
>
> The Schmidt advantage is that it has a focus on open source software
> and is
>> One early Axiom project question was how to keep Axiom
>> alive after the project lead dies (aka me). Almost all projects
>> die once the lead developer stops developing. Since Axiom
>> is so complex it needs a lot of explanation to transfer the
>> required knowledge. I really want it to
Clifford,
My research is on self-reproducing systems (SRP). Specifically I am trying
to build
a robot / 3D printer combination that can (a) make two copies of itself and
then
(b) forage for materials that can be used by those copies to make two
copies.
The idea is that this leads to exponential
On Tue, Jul 19, 2022 at 12:31 AM Svjatoslav Agejenko <
svjatos...@svjatoslav.eu> wrote:
> Maybe that higher level language
> can be compiled to forth or forth byte-code, or forth should be
> used to implement lisp ?
>
Interesting you should mention that - I'm aware of a couple cases were
people
Hello !
On Mon, 2022-07-18 at 11:56 -0400, Tim Daly wrote:
> One early Axiom project question was how to keep Axiom
> alive after the project lead dies (aka me). Almost all projects
> die once the lead developer stops developing. Since Axiom
> is so complex it needs a lot of explanation to
it needs a lot of explanation to transfer the
required knowledge. I really want it to survive and flourish.
Keeping Axiom alive led to one of the primary project goals,
rewriting Axiom using literate programming. That is still "in
progress" as you can see from the Axiom Wikipedia p
Though it is not obvious, the book "Compiling with
Continuations" by Andrew Appel (isbn 0-521-03311-X)
is a perfect example of a literate program. It would be
a great achievement for Axiom code to reach this level
of quality.
Tim
___
Axiom-developer
On 08/06/2016 01:28 PM, Tim Daly wrote:
> Methinks I mis-understood your DAG suggestion.
>
> Are you suggesting that the source code is in one DAG
> (src/doc/build/etc) and that bugs are in a parallel DAG?
More or less yes. I think it is a bit like when you document a project
on github.
Methinks I mis-understood your DAG suggestion.
Are you suggesting that the source code is in one DAG
(src/doc/build/etc) and that bugs are in a parallel DAG?
Are you also suggesting that the "bug DAG" be a git repo
separate from the source repo?
In a pile-of-sand (POS) project organized by a
On 08/06/2016 02:51 AM, Tim Daly wrote:
> Fixed bugs seem uninteresting. Several things failed on my car, for
> instance, that were fixed. There is rarely the need to revisit
> failures, except possibly in regression tests, like brakes :-)
I don't understand your comment. You are in favour of
Fixed bugs seem uninteresting. Several things failed on my
car, for instance, that were fixed. There is rarely the need
to revisit failures, except possibly in regression tests, like
brakes :-)
Except for release notes, why would anyone want to know about
fixed bugs? At most someone running an
The bug list brings out several aspects of literate programming
that are not obvious at first glance but make a qualitative
difference in maintaining code. Previously people have turned
to IDEs to provide these features. IDEs are just more code to
maintain, often with very task-specific hacks
sytle. It was painful, pointless,
and unnatural but eventually I understood. The GOTO statement,
especially my precious computed-goto, made programs hard to understand,
maintain, and modify. I haven't written a GOTO statement in years.
Literate programming is painful, pointless, and unnatural. We're
The Literate Programming in the Large video, which was a talk
given at the Portland Write the DOCS conference is now online
as an MP4. The audience members are corporate people writing
documentation.
http://axiom-developer.org/axiom-website/videos.html
or directly at
http://axiom-developer.org
This is interesting:
cl-notebook, common lisp, and literate programming
http://vimeo.com/97623064
Tim
___
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer
Gregg and Gary,
I understand where you are coming from. Indeed, Maturana [0] is on your
side of the debate. Since even the philosophers can't agree, I doubt we
will find a common ground.
Unfortunately, I've decided to take on the task of documenting the
Clojure internals because, yaknow, *I*
the code is
doing. Comments hurt the former but can help the latter. The same thing
goes for literate programming, but--it depends on your goals and your human
audience.
4. Two examples to convey the context-dependence of appropriate
configuration schemes:
A. One time I wrote a small
Howdy Tim,
On Thu, May 22, 2014 at 1:16 AM, u1204 d...@axiom-developer.org wrote:
Gregg and Gary,
I understand where you are coming from. Indeed, Maturana [0] is on your
side of the debate. Since even the philosophers can't agree, I doubt we
will find a common ground.
Ah, but
On 05/22/2014 11:21 AM, Gregg Reynolds wrote:
I can tell you I would rather maintain the four lines of C++ without
the largely useless commentary.
That's a simple AXIOM program, but I'm sure one can easily translate it
into any programming language.
foo(a: Integer, b: Integer): Integer ==
I can tell you I would rather maintain the four lines of C++ without
the largely useless commentary.
That's a simple AXIOM program, but I'm sure one can easily translate it
into any programming language.
foo(a: Integer, b: Integer): Integer ==
if a 0 then
if a b then return
On 05/22/2014 03:29 PM, Fabio S. wrote:
I can tell you I would rather maintain the four lines of C++ without
the largely useless commentary.
That's a simple AXIOM program, but I'm sure one can easily translate it
into any programming language.
foo(a: Integer, b: Integer): Integer ==
if
Date: Thu, 22 May 2014 15:40:11 +0200
From: r...@hemmecke.org
To: axiom-developer@nongnu.org
CC: marsh...@logical.net; d...@mobileink.com
Subject: Re: [Axiom-developer] Heidegger, literate programming, and
communication
On 05/22/2014 03:29 PM, Fabio S. wrote:
I can tell you I
...
And... the problem is be no means specific to AXIOM.
foo(a: Integer, b: Integer): Integer ==
if a 0 then
if a b then return foo(b,a)
return foo(b-a,a)
return b
Question: Does the program have a bug?
I think that your question is related to the fact that if we
Forward from Ralf Hemmecke:
On 05/22/2014 11:21 AM, Gregg Reynolds wrote:
I can tell you I would rather maintain the four lines of C++ without
the largely useless commentary.
That's a simple AXIOM program, but I'm sure one can easily translate it
into any programming language.
foo(a:
Tim,
Your project of LP'ing the Clojure internals is not at all inconsistent
with my view. That is code that would benefit from being widely
understood, even by people who won't maintain it. I learned a lot from
reading the Lions book on an early version of Unix, even though I
probably
On Thursday, May 22, 2014 4:05:58 PM UTC-5, Gary Johnson wrote:
Hi folks,
I suspect I'm the Gary that Tim thought he was referring to since I've
posted on several of his other LP-related threads (though not this one
until now).
I cede the name Gary to Gary.
But really, at the
On Thursday, May 22, 2014 6:20:39 PM UTC-4, Mars0i wrote:
On Thursday, May 22, 2014 4:05:58 PM UTC-5, Gary Johnson wrote:
Hi folks,
I suspect I'm the Gary that Tim thought he was referring to since I've
posted on several of his other LP-related threads (though not this one
until now).
) are churning out some
pretty neat looking tools to make LP easier to do in the Clojure world. I
for one would love to see more lively discussion around that and not feel
like we're just bear-baiting whenever we mention the forbidden paradigm of
Literate Programming.
My 2c,
~ (the actual
the author to the audience is the underlying
theme of literate programming. Knuth's point is about communication,
not about the machinery of communication. The question is, to what
audience, not how.
Discussions seem to get lost in a debate about the machinery rather
than the goal. We focus our
with the machine. Scratch any programmer, interview at
any company, listen to any talk, and you find machinery.
But communication from the author to the audience is the underlying
theme of literate programming. Knuth's point is about communication,
not about the machinery of communication. The question
the former but can help the latter. The same thing
goes for literate programming, but--it depends on your goals and your human
audience.
4. Two examples to convey the context-dependence of appropriate
configuration schemes:
A. One time I wrote a small but slightly complex bit of code (in Perl
rid of noweb and declare
past attempt at literate programming as a failure.
More precisely, noweb markup is causing troubles.
They are not big troubles, but AFAICS we are getting
essentially no value from noweb so why bother with
it?
On 06/08/13 03:06, Bill Page wrote:
Before giving
Does the code have to be physically in the same document as the documentation
to achieve the aims of literate programming?
The analogy that I would make is with graphics in html, these are stored in
their own files so we can edit a .gif file or a .jpeg file or .png or .svg and
so on each
On 01/20/2012 11:57 AM, Martin Baker wrote:
Does the code have to be physically in the same document as the documentation
to achieve the aims of literate programming?
It all depends on your tools. If there were a tool that puts every code
chunk into a separate file but while editing shows you
On Fri, 2012-01-20 at 10:57 +, Martin Baker wrote:
Does the code have to be physically in the same document as the documentation
to achieve the aims of literate programming?
The analogy that I would make is with graphics in html, these are stored in
their own files so we can edit
On Friday 20 Jan 2012 11:59:52 Ralf Hemmecke wrote:
It all depends on your tools. If there were a tool that puts every code
chunk into a separate file but while editing shows you the chunks in the
order you want, you wouldn't care how your content is physically stored.
Its just that the method
to do literate programming in HTML. And I've (almost
completely) rewritten Axiom to use standard latex everywhere so the
pamphlet files are straight latex using \begin{chunk}. The only tool
needed is a small tangle program which I have as a C utility and is
also compiled into the lisp image
On Friday 20 Jan 2012 15:59:15 you wrote:
How hard is this? It could hardly be easier. Send the single
pamphlet file to another user and they have everything.
Tim,
Perhaps I'm too set in my ways or perhaps I'm missing something but I think we
are going to have to agree to disagree on this
but I
think we
are going to have to agree to disagree on this issue.
Literate programming is a change of mindset. You clearly get it.
There is no right way to do it. And I don't feel we are disagreeing.
I think we agree on the importance of documentation and the importance
of
explaining
Suggested reading:
Computers in Science and Engineering (IEEE + APS):
vol.11 n.1 - most of the issue which is dedicated to the problem
vol.12 no.5 p.8--12 - A Yale round table on the subject
My impression is that many, if not most, labs would have trouble
reproducing their own results given
Publish the code and the data as well as the results.
People should be able to reproduce results without
contacting the original authors.
We really do need to raise the level of scholarship
in software and software-related science.
Tim
From Alfredo Portes:
. in the database schema) or a program bug lurks.
The meta-issue is distinguishing communication from documentation.
Literate programming is about communication, not documentation.
Write with your audience in mind and assume that the audience is
NOT your shower committee (a shower committee
or
insight with which I had not formerly possessed in the moments prior?
For in truth I have not been able to discern its helpfulness thereby.
Methinks thou hast conflated the spirit of literate programming,
intended as a communication medium between fellow traveling souls
on this dark road
at 10:21 PM, Daniel Jomphe danieljom...@gmail.com wrote:
With the tools available to us today, there's no reason why we at least
shouldn't have everything needed to make literate programming more seamless,
more natural. For example, while reading your toy example, I found myself
wanting to ask
On Sunday, November 20, 2011 6:17:13 AM UTC-5, robermann79 wrote:
FYI: some time ago the Opensuse project used such a collaborative tool
(http://www.co-ment.com) in order to get a shared mindset of its
goals.
This was the result, see how clicking on higlight words points to
their comments:
Tim,
One issue that occurred to me on this subject. It seems to me the point of
HTML and hypertext is that they are not a linear book. What I like about this
is that the reader can start at a high level with a small and concise page but
they can drill down to any level of detail they may need.
have a magic mind that allows
them to look at several hundred sand files and derive the big
ideas of the program. Yet we continue to act as if they do.
My experience with literate programming has led me to expect that I
have to write the first three chapters (sections, paragraphs, or
whatever
If you feel that interleaving videos, animations, navigation, and any
other tricks improves the independence test results then these
techniques should be used. If, however, you are just trying to
organize the material by some random criteria (e.g. alphabetical
or as trees of logically grouped
style. The problem is that they have confused the idea of
documentation or comments with the idea of literate programming.
Literate programming makes the human to human communication paramount.
This means that you ought to be able to sit and read, like any good
novel. You could easily print
of information.
It is easy to confuse literate programming with these documentation
and commenting system but they are nowhere the same.
They may not be the same but why should the user have to switch between them
and know which to use and when?
In Axiom, I have often tried to find something in pdf
more richly interlinked with itself and
the other type of information.
It is easy to confuse literate programming with these documentation
and commenting system but they are nowhere the same.
They may not be the same but why should the user have to switch between them
and know which to use
this speaks very positively about literate
programming. What
remains to be seen is how much (or not) I'm going to
practice it in
the future.
If you do try to rewrite it in Clojure please post the
program. I
would
It's been a long time but I believe I read
Anatomy of Lisp
John Allen
As I recall it would be an example of literate programing in the sense
that every piece of code had extensive explanation before and after; and
could actually lift the code and implement it.
I found it a revelation; he actually
I loved that book. I taught from it at Vassar.
It is well worth the price.
On Sat, 2011-11-19 at 13:52 -0600, Raymond Rogers wrote:
It's been a long time but I believe I read
Anatomy of Lisp
John Allen
As I recall it would be an example of literate programing in the sense
that every piece
to us today, there's no reason why we at least
shouldn't have everything needed to make literate programming more
seamless, more natural. For example, while reading your toy example, I
found myself wanting to ask a question or comment on your thoughts a few
times. If your book had been displayed
:
On Mon, 2011-11-14 at 14:08 -0500, Eugene Surowitz wrote:
Will your talk and slides be available on the web?
I gave a presentation at the Clojure Conj on Literate
Programming which was fairly well received but there were
no slides. I don't believe the talk was recorded.
I have an article
mature
working environment that contains too many bells and whistles.
I have simplified the whole idea down to a simple tangle
program.
That said, I believe Knuth's idea of literate programming is
really a fundamental breakthrough.
On Fri, 2011-11-18 at 12:53 -0500, Eugene Surowitz wrote:
I
Tim,
That's quite an interesting example! Is there a license on it? I can see that
being useful in a lot of scenarios as an introduction to the idea of literate
programming.
Cheers,
CY
From: daly d...@axiom-developer.org
To: su...@attglobal.net
Cc
On Fri, 2011-11-18 at 20:24 -0800, C Y wrote:
Tim,
That's quite an interesting example! Is there a license on it? I can
see that being useful in a lot of scenarios as an introduction to the
idea of literate programming.
Cheers,
CY
License? Nope.
You have my permission to use
.
The reference to tools really was intended to address
the idea of the utility of a mechanism(s) that could
globally treat the entire source code as text to
answer that question.
Eugene J. Surowitz
On 11/8/2011 4:42 PM, daly wrote:
Tools? The goal of literate programming is communicating from
human
On Mon, 2011-11-14 at 14:08 -0500, Eugene Surowitz wrote:
Will your talk and slides be available on the web?
I gave a presentation at the Clojure Conj on Literate
Programming which was fairly well received but there were
no slides. I don't believe the talk was recorded.
I have an article
Knuth said:
Literate programming is a very personal thing. I think it's terrific,
but that might well be because I'm a very strange person. It has tens
of thousands of fans, but not millions.
In my experience, software created with literate programming has
turned out to be significantly better
Yet to me, literate programming is certainly the most important thing
that came out of the TeX project. Not only has it enabled me to write
and maintain programs faster and more reliably than ever before, and
been one of my greatest sources of joy since the 1980s -- it has
actually been
That literate programming is fully justified for Axiom is, well, almost
axiomatic.
But the issue is more how to boost the ability to invert the process
and reverse engineer non-literate code piles into literate documents.
What, in your opinion, would be the most effective type of tool
Tools? The goal of literate programming is communicating from
human to human. It is like writing a novel. All you need is a
working Underwood typewriter and time.
I tend to favor Latex because a lot of math is involved and
Latex prints math well. But I'm presenting a talk about
Literate
I would gladly pay for such a thing to materialize on my screen; if it only
took money to get that, I'm sure we'd all be willing to finance such an
effort however we can.
On Thursday, October 27, 2011 1:58:52 PM UTC-4, TimDaly wrote:
So imagine a world where the eloquence of Rich Hickey was
Hi,
just to be sure: are you are aware of Marginalia?
https://github.com/fogus/marginalia
Regards,
Stefan
___
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer
Hi Tim,
while I agree that good documentation is important for maintaining and
developing further a given code base, I always wonder how literate
programming deals with refactoring and larger restructuring. I mean, in
basically all software projects I'm involved in, developers have a hard
time
Maybe COBOL already solves the problem which Literate Programming want to
solve?
___
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer
On Fri, 2011-10-28 at 11:59 +0200, Tassilo Horn wrote:
Hi Tim,
while I agree that good documentation is important for maintaining and
developing further a given code base, I always wonder how literate
programming deals with refactoring and larger restructuring. I mean, in
basically all
On Thu, 2011-10-27 at 00:17 -0700, Mark Engelberg wrote:
Tim,
I recall that at some point you described your setup for doing Clojure
literate programming, and if I recall correctly, you were primarily
working in LaTeX, relying on incremental compilation to test little
snippets of code
On Thu, 2011-10-27 at 20:11 -0400, Larry Johnson wrote:
My two favorite articles on Literate Programming are both from Donald
Knuth's book Literate Programming. One is Computer Programming as an
Art, and the other is Literate Programming. When I was preparing
to interview Knuth a bit over
I see that my Literate Programming session is beginning to gain some
traction. I would encourage you to bring examples. We can discuss the
merits and possibly gain some new insights. If nothing else, please
sign up for the Literate Software session at Clojure-Conj. I promise
to keep it short
I'm pondering a new (i.e. I have not seen it anywhere else but
I'm sure it exists somewhere) idea of shape-shifting documents.
By year end I hope to have all of Axiom fully literate so all
that remains are the books containing the sources. This is still
just the 0-th layer of documentation.
but only a very few are the editors/primary
authors. I don't
think there is a good label for this historically, except perhaps the
Chief Programmer
from Harlan Mills Chief Programmer Teams. I don't care for that label.
Ultimately literate programming requires a complete understanding of the
system
http://stanford-online.stanford.edu/seminars/knuth/871021-knuth-100.asx
http://stanford-online.stanford.edu/seminars/knuth/871023-knuth-100.asx
___
Axiom-developer mailing list
Axiom-developer@nongnu.org
I am getting increasingly interested in literate programming. There are a
few questionmarks I am turning at the idea of turning the aldor compiler
sources into literate programs.
I have a long term interest in making Aldor be literate when it
becomes part of Axiom. If the code had been released
will have access to
more
and more algorithms and can spend time inventing new things rather
than recreating existing ones.
I am a firm believer in Knuth's Literate Programming and in the need
to have full publication of the program as well as the research paper
in the field of computational mathematics
Don Knuth made these remarks in an interview with Andrew Binstock
http://www.informit.com/articles/article.aspx?p=1193856
Andrew: One of the few projects of yours that hasnt been embraced by
a widespread community is literate programming. What are your thoughts
about why literate programming
It may be that the negative views of Axiom are simply due to Axiom
being very poorly (read not at all) marketed - there are no
elementary books about the use of Axiom, and if you go to the Axiom
website, it is hard to find introductory beginner's or tutorial
articles. Contrast this last with
--- Gabriel Dos Reis [EMAIL PROTECTED] wrote:
[EMAIL PROTECTED] writes:
[...]
| Axiom has the opportunity to be the base of computational
mathematics.
When it manages to meet the needs of the working computational
mathematicians. It cannot do that by building self-made ghetto
with
On Sun, 29 Jul 2007, Alasdair McAndrew wrote:
| It may be that the negative views of Axiom are simply due to Axiom
| being very poorly (read not at all) marketed - there are no
| elementary books about the use of Axiom, and if you go to the Axiom
| website, it is hard to find introductory
On Sun, 29 Jul 2007, C Y wrote:
| Um. I can understand the lack of seamless integration, but why would
| Axiom's history cause a negative reaction?
Well, this is something one should oneself ask directly to the interested
people. Do you believe Axiom's history is not a factor to Tim's
On Sun, 29 Jul 2007, Alasdair McAndrew wrote:
| Another problem - which I see as major - is that there is no native
| windows version with documentation (HyperDoc) and graphics.
I agree.
-- Gaby
___
Axiom-developer mailing list
--- Gabriel Dos Reis [EMAIL PROTECTED] wrote:
On Sun, 29 Jul 2007, C Y wrote:
| Um. I can understand the lack of seamless integration, but why
| would Axiom's history cause a negative reaction?
Well, this is something one should oneself ask directly to the
interested people. Do you
On Sun, 29 Jul 2007, Bill Page wrote:
| I think you are wrong. You should take a very close look at the large
| number of developers in the Sage project and the kind of (mostly
| leading edge) things they are doing.
This is a very good point.
I'm very impressed by the diligence with which
--- Gabriel Dos Reis [EMAIL PROTECTED] wrote:
On Sun, 29 Jul 2007, C Y wrote:
| Sure, as a commercial product. Open source is a different
| ballgame;
What are the concrete differences?
For one thing, there is no legal problem with fixing problems yourself
and distributing the results
Hello Gaby,
Is it your contention that Axiom should be more devoted to the
perpetual task of meeting the common consensus on what qualifies as
`state of the art', as opposed to the perpetual task of trying to
redefine the meaning of the term?
I can understand that having a CAS today which
of this foundation.
I disagree.
I think that is a different issue. I still believe literate
programming to be a worthwhile long term goal - especially for the
the Axiom library (Spad) code. I am just not convinced that we really
know how to do it.
Well, I don't know how we will figure it out unless we try
On Sun, 29 Jul 2007, C Y wrote:
|
| --- Gabriel Dos Reis [EMAIL PROTECTED] wrote:
|
| On Sun, 29 Jul 2007, C Y wrote:
|
| | Sure, as a commercial product. Open source is a different
| | ballgame;
|
| What are the concrete differences?
|
| For one thing, there is no legal problem with
1 - 100 of 151 matches
Mail list logo