This should be rejected.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
Mathew Yeates wrote:
def delta2day1(delta):
return delta.days/365.0
deltas2days=numpy.frompyfunc(delta2day1,1,1)
If I had to guess where the problem is, it's here. frompyfunc() and vectorize()
have always been tricky beasts to get right.
--
Robert Kern
I have come to believe
anybody else reproduce this ?
Can you try a similar program in C compiled with the same C compiler that you
used to build ctypes? sizeof(long long) does not have to be 8 bytes; it just has
to be at least as large as sizeof(long).
--
Robert Kern
I have come to believe that the whole world
Christian Meesters wrote:
Hoi,
thanks to Robert Kern who helped me out yesterday on the f2py-list, I was
able
to make some progress in accessing FORTRAN from Python. But only some
progress ...
If I have the following code, named 'hello.f':
C File hello.f
subroutine foo
':
'ignore'}
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
clever approach that does much the same thing:
b = 1.0 / where(a==0, 1.0, a)
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
option.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Using
, this checking would slow down the common case that has no nans (sans
nans, if you will).
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
.egg/numpy/lib/function_base.py
Definition: nanmin(a, axis=None)
Docstring:
Find the minimium over the given axis, ignoring NaNs.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret
long ago that an int32 really is an array of 32-bit integers
and behaves like one. That's precisely why one uses int32 arrays rather than
object arrays. There are algorithms that do need the wraparound, and the Python
int behavior is always available through object arrays.
--
Robert Kern
I have
a seemingly equivalent
Python scalar.
Part of the point of adding scalar types was to ensure that a[0], for example,
always exposes the array interface (.shape, .dtype, etc.) whether a.shape is
(10,) or (10, 10). This uniformity aids generic programming.
--
Robert Kern
I have come to believe
to the missing FFW.
You probably tried to run a previous build or install as root. Delete the build/
directory (probably as root) and try another build as a regular user. Don't use
root until you actually want to install (and then, only if you need to).
--
Robert Kern
I have come to believe
not sure where to find it.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
to install Xcode 2.4.1
which was released on Tuesday.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
2^15 is too big to be an int.
No, it isn't. As Fernando pointed out, if David's code is what he typed here,
then his upper bound is (2 * 15) == 30 not (2 ** 15) == 32768 as he intended
intended.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
rely on it.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
and -1 for an error. However, the function must
still set an exception object. The rest is just a convenient convention.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
George Sakkis wrote:
Robert Kern robert.kern at gmail.com writes:
It looks like you linked against a FORTRAN LAPACK, but didn't manage to link
the
FORTRAN runtime library libg2c. Can you give us the output of your build?
I just installed Numpy, ATLAS and LAPACK on Centos a few hours
jeremito wrote:
If I understand correctly, the LAPACK package has some standard
matrices included with it for testing. Does the linalg portion of
numpy also have access to these matrices/arrays?
No.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless
Robert Kern wrote:
jeremito wrote:
If I understand correctly, the LAPACK package has some standard
matrices included with it for testing. Does the linalg portion of
numpy also have access to these matrices/arrays?
No.
To clarify, these are routines provided with the LAPACK source
at
the mtrand interface.
There is RandomState.tomaxint(), which returns signed integers = 0 and =
sys.maxint. It didn't get exposed at the module level, for some reason, though.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible
compiler, on say a
Cygwin host?
I'm afraid that distutils really does not support cross-compilation. numpy adds
some more complications in that it tries to configure itself by compiling and
running small programs.
--
Robert Kern
I have come to believe that the whole world is an enigma
)
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Using Tomcat
it is to sub-class and create your own ndarray that can
have attributes attached.What are others opinions.
I'd say leave it off. Many uses of that feature will require custom
__array_finalize__ methods anyways.
--
Robert Kern
I have come to believe that the whole world is an enigma
, axis):
reduced = reducing_func(arr, axis=axis)
shape = list(reduced.shape)
axis = axis % len(arr.shape)
shape.insert(axis, 1)
reduced.shape = tuple(shape)
return reduced
I think.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless
the
FORTRAN runtime library libg2c. Can you give us the output of your build?
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
(), asanyarray(), etc. functions will return the input array if it
is already suitable.
* Slicing, reshaping, transposing and similar structural operations create new
array objects, but they are generally views, not copies of the data.
--
Robert Kern
I have come to believe that the whole world
knew how to make the Forums link go
away on the project page, I would do so.
If you have questions about numpy (or even Numeric and numarray), this is the
place.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad
folks having trouble there?
Apparently. I've contacted Jeff Strunk, the sysadmin.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
think that the Universal stuff is going
to
make our lives quite complicated.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
as closely as I could have (and as I'm
currently on vacation, I'm not about to rectify that now).
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth
, 0, 0, 0])
In [10]: tmp = tmp.__iadd__(c)
In [11]: tmp
Out[11]: array([1, 1, 1, 1, 1])
In [12]: a[b] = tmp
In [13]: a
Out[13]: array([1, 1])
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret
= np.random.uniform(size=lenc)
idx = np.arange(lena, dtype=int)[:, np.newaxis]
mask = (b == idx)
for i in range(lena):
a[i] = c[b[i]].sum()
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though
Alan G Isaac wrote:
On Fri, 06 Oct 2006, Robert Kern apparently wrote:
http://pida.berlios.de/
Can this be installed under Windows?
(Looks unlikely.)
It might be possible if you have a Windows build of PyGTK, but not with the
gvim
integration. However, pida also supports other PyGTK
such as (if possible):
- editing with gvim
This probably is the most limiting factor. I use pida because it embeds gvim
into a PyGTK frame with all of the IDE goodies around it.
http://pida.berlios.de/
I believe it can use one of the PyGTK debugger GUIs, but I've never used it.
--
Robert Kern
I
. Fleshing out the masked array and matrix classes would be similar, I
imagine.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
Bryce Hendrix wrote:
Robert Kern wrote:
It is not zip-safe if you want to compile against the headers. That keyword
can't be added to the setup() call in the trunk's setup.py because numpy
cannot
depend on setuptools, at the moment.
Adding the keyword does not break builds not using
Greg Willden wrote:
On 10/5/06, *Robert Kern* [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] wrote:
Greg Willden wrote:
From my view as a newbie to numpy/scipy/matplotlib it isn't
clear where
I should look for what functionality. Matplotlib plots the
spectrogram
a bit of memory by using the array from
(a200) and simply casting it to the uint8 type. That way, you only have two
arrays in memory at any time, a and b.
b = (a 200).astype(numpy.uint8)
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
Has anyone implemented an easier or more efficient way to broadcast arrays to a
common shape at the Python level? I was hoping that the broadcast iterator would
actually provide the broadcasted arrays, but it does not.
I've attached my best pure-Python effort.
--
Robert Kern
I have come
Francesc Altet wrote:
Hi,
I'm writing this here because the numpy Trac seems down:
{{{
Oops...
Trac detected an internal error: The Trac Environment needs to be upgraded.
Run trac-admin /home/scipy/trac/numpy upgrade
}}}
It's back up.
--
Robert Kern
I have come to believe
in that case.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
anything else with gcc?
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
Scott Ransom wrote:
argmin is currently defined as using the argmax method!
Please check out the latest source from SVN. I fixed this a few days ago.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt
them and then tell
ndarray to use it for __str__ or __repr__ using numpy.set_string_function().
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth
Sebastian Haase wrote:
Robert Kern wrote:
Sebastian Haase wrote:
I know that having too much knowledge of the details often makes one
forget what the newcomers will do and expect.
Please be more careful with such accusations. Repeated frequently, they can
become quite insulting.
I did
David M. Cooke wrote:
On Wed, Sep 20, 2006 at 03:01:18AM -0500, Robert Kern wrote:
Let me offer a third path: the algorithms used for .mean() and .var() are
substandard. There are much better incremental algorithms that entirely
avoid
the need to accumulate such large (and therefore
in your
case.
I will fix that.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
separately is a sensible and (partially) informative thing to do. Simply
applying the formula for estimating variance for real numbers to complex
numbers
(i.e. change x to z) is a meaningless operation.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
of
arr. Double precision can't fix that.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
, usually with map().
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
.
Could you give us a short piece of code that demonstrates the problem? You
don't
state what flaws you were working around before. Note that some of those
functions in scipy are unavoidably implemented in double precision at the
C/FORTRAN level.
--
Robert Kern
I have come to believe
the already-enormous API of the ndarray object without much benefit.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
SciPy and the Python
random module. The Python randint includes the upper endpoint. The SciPy
version excludes it.
numpy.random.random_integers() includes the upper bound, if you like.
numpy.random does not try to emulate the standard library's random module.
--
Robert Kern
I have come to believe
rex wrote:
Robert Kern [EMAIL PROTECTED] [2006-09-07 16:35]:
rex wrote:
Charles R Harris [EMAIL PROTECTED] [2006-09-07 15:04]:
I don't know about count, but you can gin up something like this
In [78]: a = ran.randint(0,2, size=(10,))
In [79]: a
Out[79]: array([0, 1, 0, 1, 1, 0, 0, 1, 1, 1
.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Using Tomcat
measurement. A sparse matrix is conceptually
rectangular, so it does not fit the request at all.
The question is whether numpy has such support; if not, is it planned.
No, and no.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible
numeric arrays, I think that
difference
is warranted.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
to proceed and help you navigate the current
code, but I'm afraid I don't have much time to actually code.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth
) are broadcast against each other using the same rules
as
ufunc parameters.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
Charles R Harris wrote:
Hi all,
I added the keyword side to the searchsorted method and functions.
Thank you! Just the other day, I was wishing that we had such a thing.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible
less so when you want to treat
these arrays as matrices and row and column vectors.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
I.SetDataBuffer(buffer(some_array))
and it seems to work on OS X with Python 2.4, numpy 1.0b2 and wxMac 2.6.3.3 .
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
of lack of time, but assigning it to someone won't fix that. Let the dev team
work out the assignment of tickets.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying
, what do you mean?
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
devising a robust rule for when that
happens. Consequently, I would like to avoid doing so.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto
', 'i4')])
In [6]: a.dtype.names
Out[6]: ('float', 'int')
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
Les Schaffer wrote:
3. near zero docstrings for this module, hard to see how the new
records works.
http://www.scipy.org/RecordArrays
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret
Les Schaffer wrote:
i'll pitch in some
time to add docstrings, if i know they will be used.
Of course they will.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
on their slides for their talks at the actual conference. Next
year, sprints will come *after* the talks.
Is the preferred approach, as Albert suggested,
to submit documentation patches attached to tickets?
Yes.
--
Robert Kern
I have come to believe that the whole world is an enigma
, 3], not [[[1]]].
http://mathworld.wolfram.com/TensorRank.html
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
a particular axis (default is axis=0
to match concatenate).
Comments?
I would drop appendto(). I also recommend leaving them as functions and not
making methods from them. This will help prevent people from thinking that
these
modify the arrays in-place.
--
Robert Kern
I have come to believe
let's not resurrect this argument.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
David Grant wrote:
Thanks everyone. My only question now is why there is random_sample and
random. My guess is that one is there for compatibility with older
releases and so I'm not bothered by it.
Yes.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless
Linux distributions, separates distutils from
the rest of the standard library in a separate package which you will need to
install. It will be called something like python-dev or python-devel.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Using Tomcat
{modulename} problem, either. It's a problem
that
occurs at build-time, not import-time.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
further yet. Perhaps that's a better way to go
than bending distutils to your will?
Well, wrapper he's writing destined for scipy, so python setup.py build must
work.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad
almost certainly
wanted to test that *all* of the values were True. This is why we now raise an
exception; lots of people got tripped up over that.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt
David Grant wrote:
What about the documentation that already exists here: http://www.tramy.us/
Essentially every function and class needs a docstring whether or not there is
a
manual available. Neither one invalidates the need for the other.
--
Robert Kern
I have come to believe
. Should I be forced to cast that to
an int before calling divmod with it?
I don't see an exception with a more recent numpy (r2881, to be precise).
Please
try a later version.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible
/numpy/settings
Otherwise, subscribe to the numpy-tickets email list, and you will get
notifications of all tickets.
http://www.scipy.org/Mailing_Lists
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt
it was at that
revision.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Take Surveys
Louis Cordier wrote:
Hmmm, I think people are spreading fud (lower case)...
http://media.libsyn.com/media/awaretek/Python411_060530_Numeric.mp3
Can you give us a synopsis? or point us to when exactly in the clip we're
supposed to listen?
--
Robert Kern
I have come to believe that the whole
Sven Schreiber wrote:
Robert Kern schrieb:
Sven Schreiber wrote:
That would be fine with me. However, I'd like to point out that after
some bug-squashing currently all numpy functions deal with
numpy-matrices correctly, afaik. The current behavior of numpy.diag
could be viewed as a violation
?
It isn't. Look at numpy/matlib.py
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
to broadcast over their arguments. That's probably the source of the
regression.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
/numpy numpy got me
what I wanted.
Grr. That means developers are not merging changes appropriately.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth
accept matrix objects; it's just not what you want.
I don't want to introduce a backwards-compatibility-breaking special case to
the
function. Special cases aren't special enough to break the rules. Different
functionality should go into a different function.
--
Robert Kern
I have come
until the actual release of 2.x. Then a 2.x branch is created for maintainings
2.x.y and the trunk develops for 2.x+1. We aren't going to be working on 1.1
until 1.0 is actually out the door.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
reimplementing the distribution
functions as ufuncs, but that's a hefty chunk of work that won't happen for 1.0.
I'm afraid that, for now, you're stuck with iterating over the values.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made
and weave.
http://www.scipy.org/SciPy2006
/teaser
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
enough as it is. I'm
-0 on making a standalone package. The time would be better spent on making
sure
that scipy subpackages can be downloaded, built and installed individually.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible
and anything from NR.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
.
(Untested)
def is_row_nan(a):
return numpy.isnan(a).any(axis=-1)
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
as to keep things general, it makes sense to
also avoid sorting as well Sasha's slick algorithm not withstanding.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
been the configuration from the very beginning.
Okay, now I think I've officially spent more time on this email than I ever did
using or implementing rand().
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt
.
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
-
Using
with numpy.set_printoptions().
--
Robert Kern
I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth.
-- Umberto Eco
1 - 100 of 136 matches
Mail list logo