Re: [Python-es] En busca del libro

2021-01-15 Por tema Francesc Alted
El "Python Essential Reference" de David Beazley siempre me gustó mucho.
Tiene una parte de introducción al lenguaje que es básica, pero muy
completa al mismo tiempo.  Pero la parte "buena" para mí es la referencia
de las librerías que vienen incluidas en el lenguaje (batteries included).
Se nota que el tipo estuvo muy cerca de Guido durante la fase de desarrollo
de las mismas.

Saludos!

On Fri, Jan 15, 2021 at 12:38 PM Miguel Sánchez Rodríguez <
miguels...@gmail.com> wrote:

> Yo te recomendaría Fluent Python, de Luciano Ramalho.
>
> El vie, 15 ene 2021 a las 11:55, Javier Morales de Lucas (<
> javm...@gmail.com>) escribió:
>
>> Llevo buscando un buen libro sobre Python hace semanas y estoy lleno de
>> dudas el nivel medio alto. Bueno lo explico la mayoría de libros que han
>> pasado por mis manos llevan mucha paja, otros son muy básico , aunque a
>> veces y no siempre me sorprendo con líneas de código no siempre es así.
>> Busco un libro lo más completo posible que se hable de una forma clara.
>> Nivel medio alto
>> ¿ Cuál me recomendáis ?
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
> _______
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Tutorial online para colaborar en software libre

2020-05-11 Por tema Francesc Alted
On Sun, May 10, 2020 at 11:20 PM Marc Garcia  wrote:

> Que alguien me avise si spameo mucho con estos eventos...
>

Al contrario, se agradece mucho tu dedicación :-)

Francesc


> Pero por si a alguien le interesa, este miércoles vamos a hacer una
> introducción desde cero al análisis de datos en Python. Será muy básico,
> para tener una pequeña idea de qué son y como usar Conda, Jupyter, pandas y
> Matplotlib. Y ver el potencial que tienen.
>
> Más info: https://twitter.com/datapythonista/status/1259520468605943808
>
> On Fri, May 8, 2020 at 7:54 AM Leandro Aguinaga 
> wrote:
>
>> Gracias,
>> Justo iba a preguntar dónde lo subirías.
>> Saludos
>>
>> El mar., 5 may. 2020 4:14, Marc Garcia  escribió:
>>
>>> Lo hemos subido a peertube, se puede ver aqui:
>>> https://p.eertu.be/videos/watch/e10300f6-453d-4256-bbf6-bf6fd1034e3f
>>>
>>> On Sun, May 3, 2020 at 8:33 PM Agustin Bueno 
>>> wrote:
>>>
>>>> Yo no puedo, pero si que me gustaría verlo, si después lo cuelgas en
>>>> alguna plataforma podrías indicar cual.
>>>>
>>>> Muchas gracias
>>>>
>>>>
>>>> El dom., 3 may. 2020 a las 10:53, Marc Garcia ()
>>>> escribió:
>>>>
>>>>> Por si alguien tiene interés en colaborar en proyectos de software
>>>>> libre, y no sabe por donde empezar, esta tarde/noche voy a estar dando un
>>>>> tutorial práctico online sobre el tema.
>>>>>
>>>>> El tutorial va a ser 100% práctico, y está pensado para que los
>>>>> participantes vayan siguiendo los pasos, y hagan las primeras
>>>>> contribuciones mientras se aprenden los conceptos.
>>>>>
>>>>> Va a ser a la 13h en Ciudad de México, 15h en Buenos Aires, 20h en
>>>>> Madrid...
>>>>>
>>>>> Más info:
>>>>> https://twitter.com/datapythonista/status/1254892940452921344?s=19
>>>>> ___
>>>>> Python-es mailing list
>>>>> Python-es@python.org
>>>>> https://mail.python.org/mailman/listinfo/python-es
>>>>>
>>>> ___
>>>> Python-es mailing list
>>>> Python-es@python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Es coconut solamente azucar sintactico?

2019-04-29 Por tema Francesc Alted
Missatge de Chema Cortes  del dia ds., 27 d’abr. 2019 a
les 19:03:

>
> El vie., 26 abr. 2019 a las 18:14, Francesc Alted ()
> escribió:
>
>> Yo también me alegro que los lenguajes funcionales se empiecen a tomar en
>> serio en ámbitos cada vez más amplios.  No acabo de estar totalmente con
>> Chema cuando dice en su blog que las construcciones funcionales estan
>> siendo arrinconcadas en Python; personalmente, uso mucho los
>> iteradores/generadores, que estan considerados como constructos
>> funcionales, y que creo que estan en la base de muchas librerias Python.
>>
>
> Como siempre digo, los paradigmas en programación depende de la actitud
> del programador. El lenguaje ayuda bastante, pero es el programador quién
> hace el esfuerzo.
>
> Efectivamente, los iteradores/generadores son el fundamento de muchas
> librerías y su uso debería ser obligado. Pero si usas un iterador para
> crear otro al puro estilo funcional, ¿se puede evitar que un error
> interrumpa la cadena de iteradores? ¿se podrían paralelizar (incluso
> ignorando que existe GIL)?
>


>
> Para la primera pregunta, no he visto cómo. Para la segunda, Futures.
>

Bueno, para el paralelismo (sin GIL), también existe el módulo
multiprocessing (
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool.imap);
hay muchas variantes de uso, como por ejemplo:
http://www.grantjenks.com/wiki/random/python_multiprocessing_lazy_iterating_map.
Aunque lanzar un proceso por cada worker parezca muy caro, no lo es tanto
(unos 35 us en Linux, como se puede ver en:
https://eli.thegreenplace.net/2018/launching-linux-threads-and-processes-with-clone/
).

Y si, para la primera no habia caido, pero es verdad que tampoco hago
demasiado uso de cadenas de iteradores.


>
> En mi blog hablaba en pasado. Hoy en día, todos los lenguajes se ven
> obligados a introducir características funcionales, incluso java. Pero
> visto lo que se ha tardado en dejar atrás python2, reconozco que se me
> agota la paciencia.
>
>
>> De todas maneras habrá que seguir con mucho interés a Chema en lo que se
>> prevé como una prometedora serie de artículos sobre coconut en su blog:
>> https://blog.ch3m4.org/2019/04/16/que-es-un-coconut/ (aunque esperemos
>> que las apariciones de Enrique y Ana no se prodiguen demasiado ;-)
>>
>
> Prometo que será la última aparición de Enrique y Ana :-P
>

Se agradece (aunque he de confesar que, como tú, soy de la generación que
creció viéndolos en la tele; pero creo que, o ellos o yo hemos envejecido
mal :-)

Francesc



>
>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> https://blog.ch3m4.org
> Buscador Python Hispano: http://busca.ch3m4.org
> <https://blog.ch3m4.org/pages/busqueda-python-es/>
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Es coconut solamente azucar sintactico?

2019-04-26 Por tema Francesc Alted
Yo también me alegro que los lenguajes funcionales se empiecen a tomar en
serio en ámbitos cada vez más amplios.  No acabo de estar totalmente con
Chema cuando dice en su blog que las construcciones funcionales estan
siendo arrinconcadas en Python; personalmente, uso mucho los
iteradores/generadores, que estan considerados como constructos
funcionales, y que creo que estan en la base de muchas librerias Python.

De todas maneras habrá que seguir con mucho interés a Chema en lo que se
prevé como una prometedora serie de artículos sobre coconut en su blog:
https://blog.ch3m4.org/2019/04/16/que-es-un-coconut/ (aunque esperemos que
las apariciones de Enrique y Ana no se prodiguen demasiado ;-)

Saludos!

Missatge de Chema Cortes  del dia dv., 26 d’abr. 2019 a
les 11:54:

>
> El vie., 26 abr. 2019 a las 4:39, AGTUGO () escribió:
>
>> Perdon la traduccion de syntatic sugar pero es lo que se me ocurri'o. Lo
>> que mas esperaba de coconut es verificaci'on de tipos en funciones, no hay.
>> El objetivo es escribir mas claro el programa con estilo funcional? Aveces
>> uso decoradores para revisar los tipos, solamente cuando es necesario
>> pensaba que coconut podria ahorrarme la molestia.
>>
>>
> Yo no lo consideraría como *syntatic sugar*. Aunque opcional, puedes
> activar el modo estricto y las comprobaciones de tipos con mypy. Lo único a
> tener en cuenta es que la versión de python objetivo (*target*) debe
> tener soporte para notación de tipos para que mypy lo procese. O sea, debes
> usar un target superior a 3 en lugar del target universal que usa por
> defecto:
>
> https://coconut.readthedocs.io/en/latest/DOCS.html#allowable-targets
>
> Aunque no necesitas coconut. Para chequear tipos puedes usar algún linter
> con mypy en el IDE que uses (por ejemplo, visual code con pylama).
>
>
> Por seguir con coconut, tiene comprobación de patrones, tanto en
> asignación como en definición de función. Por ejemplo, se puede definir la
> función factorial como:
>
> def factorial(0) = 1
> @addpattern(factorial)def factorial(n is int if n > 0) =
> range(1, n+1) |> reduce$(*)
>
> No tienen *returns*, casi podría decirse que son funciones lambdas. Pero
> implícitamente saldrá un error si el argumento no es cero o un entero
> positivo, por lo que hace bastante más que una simple función lambda.
>
> Por otro lado, el reduce se está aplicando parcialmente con el operador
> multiplicación. Se podría hacer igual con reduce, partial y mul que puedes
> "rescatar" de algunos módulos donde han sido exiliados en python. Pero en
> coconut son entidades de primer orden que, además, puedes combinar con
> otras inexistentes en python como la evaluación perezosa de listas (lazy
> lists) o el procesamiento paralelo (útil en monads).
>
>
> Saludos.
>
>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> https://blog.ch3m4.org
> Buscador Python Hispano: http://busca.ch3m4.org
> <https://blog.ch3m4.org/pages/busqueda-python-es/>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [ANN] 11ᵗʰ Advanced Scientific Programming in Python in Camerino, Italy, 3—8 September, 2018

2018-03-23 Por tema Francesc Alted
Hola,

Esta es la nueva convocatoria del curso gratuito de programación científica
avanzada en Python que este año tendrá lugar en Camerino, Italia.  A ver si
os animáis y por favor, darle difusión al tema.

Suerte!
Francesc

11ᵗʰ Advanced Scientific Programming in Python
==
a Summer School by the G-Node and the University of Camerino

https://python.g-node.org

Scientists spend more and more time writing, maintaining, and debugging
software. While techniques for doing this efficiently have evolved, only
few scientists have been trained to use them. As a result, instead of doing
their research, they spend far too much time writing deficient code and
reinventing the wheel. In this course we will present a selection of
advanced programming techniques and best practices which are standard in
the industry, but especially tailored to the needs of a programming
scientist. Lectures are devised to be interactive and to give the students
enough time to acquire direct hands-on experience with the materials.
Students will work in pairs throughout the school and will team up to
practice the newly learned skills in a real programming project — an
entertaining computer game.

We use the Python programming language for the entire course. Python works
as a simple programming language for beginners, but more importantly, it
also works great in scientific simulations and data analysis. We show how
clean language design, ease of extensibility, and the great wealth of open
source libraries for scientific computing and data visualization are
driving Python to become a standard tool for the programming scientist.

This school is targeted at Master or PhD students and Post-docs from all
areas of science. Competence in Python or in another language such as Java,
C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of
Python and of a version control system such as git, subversion, mercurial,
or bazaar is assumed. Participants without any prior experience with Python
and/or git should work through the proposed introductory material before
the course.

We are striving hard to get a pool of students which is international and
gender-balanced: see how far we got in previous years <
https://python.g-node.org/wiki/archives#stats>!

Date & Location
===
3–8 September, 2018. Camerino, Italy.

Application
===
You can apply online: https://python.g-node.org/wiki/applications
Application deadline: 23:59 UTC, 31 May, 2018. There will be no deadline
extension, so be sure to apply on time.
Be sure to read the FAQ before applying: https://python.g-node.org/wiki/faq

Participation is for free, i.e. no fee is charged! Participants however
should take care of travel, living, and accommodation expenses by
themselves.

Program
===
• Version control with git and how to contribute to open source projects
with GitHub
• Best practices in data visualization
• Organizing, documenting, and distributing scientific code
• Testing scientific code
• Profiling scientific code
• Advanced NumPy
• Advanced scientific Python: decorators, context managers, generators, and
elements of object oriented programming
• Writing parallel applications in Python
• Speeding up scientific code with Cython and numba
• Memory-bound computations and the memory hierarchy
• Programming in teams

Also see the detailed day-by-day schedule: https://python.g-node.org/
wiki/schedule

Faculty
===
• Ashwin Trikuta Srinath, Cyberinfrastructure Technology Integration,
Clemson University, SC USA
• Jenni Rinker, Department of Wind Energy, Technical University of Denmark,
Roskilde Denmark
• Juan Nunez-Iglesias, Melbourne Bioinformatics, University of Melbourne
Australia
• Nicolas P. Rougier, Inria Bordeaux Sud-Ouest, Institute of
Neurodegenerative Disease, University of Bordeaux France
• Pietro Berkes, NAGRA Kudelski, Lausanne Switzerland
• Rike-Benjamin Schuppner, Institute for Theoretical Biology,
Humboldt-Universität zu Berlin Germany
• Tiziano Zito, freelance consultant, Berlin Germany
• Zbigniew Jędrzejewski-Szmek, Red Hat Inc., Warsaw Poland

Organizers
==
For the German Neuroinformatics Node of the INCF (G-Node) Germany:

• Tiziano Zito, freelance consultant, Berlin Germany
• Caterina Buizza, Personal Robotics Lab, Imperial College London UK
• Zbigniew Jędrzejewski-Szmek, Red Hat Inc., Warsaw Poland
• Jakob Jordan, Department of Physiology, University of Bern, Switzerland
Switzerland

 For the University of Camerino Italy:

• Flavio Corradini, Computer Science Division, School of Science and
Technology, University of Camerino Italy
• Barbara Re, Computer Science Division, School of Science and Technology,
University of Camerino Italy


Website: https://python.g-node.org
Contact: python-i...@g-node.org

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Propuesta de algoritmo o estructura de datos para conjuntos aleatorios con pocos cambios?

2017-11-28 Por tema Francesc Alted
2017-11-27 23:37 GMT+01:00 Jesus Cea <j...@jcea.es>:

> On 27/11/17 21:38, Francesc Alted wrote:
> > De todas maneras, lo que intentaba era hacer ver
> > que una ordenación siempre suele aumentar el ratio de compresión.
> > Aquí
> > hay un ejemplo mejor de lo que quería decir:
> >
> > In [40]: b = np.random.randint(2**63, size=1000*1000)
>
> Estás usando 63 bits, no 64, pero vale :-)
>

​Bueno, la verdad es que confieso que mientras estaba intentando los 64 me
encontré con:

In [8]: b = np.random.randint(2**64, size=1000*1000)
---
ValueErrorTraceback (most recent call last)
 in ()
> 1 b = np.random.randint(2**64, size=1000*1000)

mtrand.pyx in mtrand.RandomState.randint
(numpy/random/mtrand/mtrand.c:16123)()

ValueError: high is out of bounds for int64

y me dije "bah, probablemente Jesús me va a perdonar 1 bit" :)​


>
> Ordenar mejora la compresión porque estamos reduciendo la entropía de
> los datos. En mi caso, si tengo 256000 valores diferentes, podrían
> ordenarse de 256000! maneras, un número de 1.4 millones de dígitos. Si
> de todas esas posibilidades me quedo exclusivamente con la versión
> ordenada numéricamente, me ahorro (por entropía) unos 4229911 bits
> (aproximación de Stirling del factorial). Es decir, un compresor
> perfecto comprimiría mis 8192000 bytes perfectamente aleatorios a
> 7663261 bytes. Una compresión teórica máxima del 6.45%. Si los datos son
> verdaderamente aleatorios y la única estructura que tenemos es que están
> ordenados, no podemos comprimir más que un 6.45%. Salvo error matemático
> por mi parte. (considerando 256000 valores de 256 bits aleatorios).
>
> Por tanto, insisto nuevamente, me centraría en buscar una estructura de
> datos que acceda al mínimo posible de páginas de RAM, no en comprimir,
> porque por la parte de compresión estoy limitado al 6.45% de un
> compresor ideal que no existe.
>
> Usemos la fórmula para analizar tu ejemplo. Un millón de valores son
> 1e6! de combinaciones de ordenación. Si me quedo solo con la variedad
> ordenada numéricamente, un compresor IDEAL podría ahorrar 18488874 bits.
> Tus datos ocupan 63 bits cada uno (no 64), así que en total suman
> 6300 bits. Con la compresión IDEAL salen 44511126 o 5563891 bytes.
> Como tú partes de 64 bits de mentirijillas y no 63 bits reales (jeje, te
> doy ventaja), el nivel de compresión máximo teórico cogiendo esos 64
> bits por elemento sería del 30.5%.
>

​Buena estimación.  Para ver que pasa con 64 bits he hecho la prueba fetén:

In [25]: b = np.random.randint(2**64, size=1000*1000, dtype=np.uint64)

In [26]: b.sort()

In [27]: %time len(blosc.compress(b))
CPU times: user 26.3 ms, sys: 0 ns, total: 26.3 ms
Wall time: 6.9 ms
Out[27]: 6324530

Lo cual nos deja la compresión en un ​21% (no 23% de 63 bits).  Usando el
codec más potente en blosc, el ztsd:

In [28]: %time len(blosc.compress(b, cname="zstd"))
CPU times: user 1.09 s, sys: 0 ns, total: 1.09 s
Wall time: 290 ms
Out[28]: 6050011

que representa el 25% de compresión (supongo que muy cerca del límite
teórico).



>
> La compresión que muestra blosc en ese mismo ejemplo es del 23%.
> Confieso que es una hazaña reseñable e inesperada y que mientras hacía
> las cuentas estaba nervioso por que la "práctica" contradijese la
> "teoría" matemática inviolable. A fin de cuentas yo soy ingeniero, no
> matemático :-).
>

​Bueno, mientras no se supere el límite teórico no hay ninguna 'hazaña'
reseñable ;)​


>
> > ​Probablemente ya lo habrás estudiado, pero con cosas como Cassandra o
> > HBase no podrías atacar estos problemas?​  Si éstos te parecen demasiado
> > 'pesados', a lo mejor un filesystem distribuido como Gluster
> > (https://en.wikipedia.org/wiki/Gluster) ayudaría.  Y si quieres más bajo
> > nivel todavía, qué tal un simple almacén de objetos? Hay un interesante
> > artículo sobre esto en:
> > https://www.digitalocean.com/community/tutorials/object-
> storage-vs-block-storage-services
> > (a mí me gusta la aproximación de Ceph en particular).
>
> La clave del asunto es que los nodos de almacenaje no corren ningún
> código especial. Imagina montar un sistema así con nodos tontos, simples
> almacenes de datos sin capacidad para ejecutar ningún tipo de código.
> Sus únicas operaciones son: escribir un objeto, leer un objeto y listar
> los objetos que almacena (de forma muy lenta, por cierto). Supón que tus
> nodos de almacenamiento son cosas como Google Drive o Dropbox, con una
> latencia estratosférica e incapacidad total para ejecutar ningún código
> más alla de GET, PUT, REMOVE o LIST.
>
> Los almacenes están completamente descoordinados y son TONTOS

Re: [Python-es] ¿Propuesta de algoritmo o estructura de datos para conjuntos aleatorios con pocos cambios?

2017-11-27 Por tema Francesc Alted
2017-11-27 20:12 GMT+01:00 Jesus Cea <j...@jcea.es>:

> On 27/11/17 19:01, Francesc Alted wrote:
> > Sin embargo, antes de decidir si tu
> > conjunto comprime bien o no, nunca está de más hacer una prueba.  Lo que
> > me hacía pensar en que tus datos podrían ser comprimibles es
> > precisamente lo que decías de que los valores te llegaban ordenados, y
> > sé que eso puede afectar mucho al ratio de compresión.  Por ejemplo,
> > usando un conjunto de números aleatorios de 1 millón de enteros de 64
> > bits (en total 8 MB) se tiene:
>
> Estás siendo un poco tramposo, Francesc :-). En tu ejemplo, tus datos no
> ocupan 64 bits cada uno, ocupan 20 bits escasos. Además, como generas un
> millón de valores en el rango 0-99, la diferencia entre un valor y
> el siguiente es muy pequeño, incluso cero :-).


> Así no vale :-).
>
>

​Bueno, más que tramposo me faltaba información sobre la distribución de
tus datos; viendo que estás tratando con ​valores SHA256, ya veo de que
estamos hablando :)  De todas maneras, lo que intentaba era hacer ver que
una ordenación siempre suele aumentar el ratio de compresión.  Aquí hay un
ejemplo mejor de lo que quería decir:

In [40]: b = np.random.randint(2**63, size=1000*1000)

In [41]: %time len(blosc.compress(b))

CPU times: user 74.8 ms, sys: 2.2 ms, total: 77 ms

Wall time: 23 ms

Out[41]: 816
​ ​
# sin compresion​

In [42]: b.sort()

In [43]: %time len(blosc.compress(b))

CPU times: user 51.1 ms, sys: 1.93 ms, total: 53 ms

Wall time: 15.6 ms

Out[43]: 6165702
​   #
  hay compression​​

​En los dos casos los datos son aleatorios, pero en el segundo caso están
ordenados, y por tanto comprimen (un 23% de reducción en este caso,
bastante notable para datos pseudo-aleatorios como éste).  En tu caso creí
entender que ordenabas los valores de alguna manera, pero viendo los ratios
que obtienes, y que son bastante más pobres que mi prueba, posiblemente no
entiendo bien a que te refieres cuando dices 'ordenados'. ​


> Para quedarnos todos tranquilos, voy a ver mi caso real:
>
> >>> import blosc
> >>> # Eliminamos el número de versión y el hash final de integridad
> >>> data=open("", "rb").read()[1:-32]
> >>> len(data)
> 8041888
> >>> len(blosc.compress(data, typesize=32))
> 7898856
> >>> 100 * (1 - 7898856 / 8041888)
> 1.7785873168091881
>
> La compresión es del 1.78%. Es inferior al 3.3% de simplemente dividir
> la tabla en 256 tablas y eliminar el primer byte de cada valor en cada
> subtabla. Posiblemente se pueda llegar con facilidad al 3% con blosc
> usando prefiltros.
>

​Blosc usa el filtro de SHUFFLE por defecto, así que tus datos son
claramente *dificilmente comprimibles*.​


> Mis datos son verdaderamente aleatorios en sus 256 bits. Son el SHA256
> de bloques de datos cifrados con claves a azar. Más (pseudo)aleatorio
> imposible :-).
>
> Aplicar blosc a un filtro cuckoo donde los fingerprints son más pequeños
> (digamos, 32 bits) parece más prometedor, pero en ese caso los
> fingerprints no están ordenados, tendrán un orden aleatorio y tampoco
> los vas a poder comprimir. Por ejemplo:
>
> >>> b=np.random.randint(2**32, size=1000*1000)
> # NO HAGO EL 'SORT()' PORQUE EN UN FILTRO CUCKOO LOS FINGERPRINTS
> # ESTAN DESORDENADOS.
> >>> len(blosc.compress(b))
> 4018965
>
> Dado que los datos ocupan realmente 400 bytes, blocs los expande un
> 0.5%.
>
> Que conste que blosc me parece un proyecto espectacular. Sencillamente
> no parece aplicable en este caso.
>
> Dicho lo cual, las discusiones sobre algoritmos me encantan. Sigamos :-).
>
> De momento sigo pensando que lo mejor que puedo hacer es usar "hash
> cuckoo" con un posible "filtro cucko" con una pequeña tasa de falsos
> positivos para una parte concreta del proceso.
>
> Por si alguien se pregunta sobre el uso de todo esto, se trata de un
> sistema de localización de bloques de datos en un sistema de
> almacenamiento distribuido donde no puedes controlar dónde se almacena
> cada bloque, pero debes saber dónde está a la hora de buscarlo, o
> declarar taxativametne que ese bloque no existe en el sistema. No se
> controla dónde se guardan las cosas, no hay rebalanceo a posteriori ni
> tampoco puedes contar con meter inteligencia en los nodos de
> almacenamiento más allá de un WEBDAV para listar, leer y escribir
> bloques (inmutables).
>


> A la hora de localizar bloques podría tolerarse una pequeña tasa de
> falsos positivos, que te obligaría a buscar en dos servidores en vez de
> solo en uno. Molesto, pero tolerable. Pero hay otras tareas donde no
> puedo permitir falsos positivos, como es el caso de la replicación
> (salvo que los falsos positivos se al

Re: [Python-es] ¿Propuesta de algoritmo o estructura de datos para conjuntos aleatorios con pocos cambios?

2017-11-27 Por tema Francesc Alted
Lo único que se me ocurre es que, para minimizar el uso de memoria uses
compresión para tus bloques binarios (dices que te llegan ordenados
numéricamente, así que seguro que se pueden obtener buenos ratios de
compresión).  Para las búsquedas puedes continuar usando hashes cuckoo,
pero sólo guardando las claves, no los valores, y así maximizas la
localidad de los accesos a memoria (durante la búsqueda no te sirve de nada
traer los valores a las lineas de cache).

Una vez localizado el lugar donde está el valor puedes acceder al bloque
comprimido que toque, descomprimir, y extraerlo.  Blosc te permite esta
clase de acceso de manera muy eficiente a través de la llamada
`blosc_getitem()` (
https://github.com/Blosc/c-blosc/blob/master/blosc/blosc.h#L290).  Si
eliges el tamaño de bloque lo suficientemente pequeño (digamos 4/8/16/32
KB), la descompresión normalmente sucede en la cache L1, así que es muy
rápido.

Francesc

2017-11-27 5:13 GMT+01:00 Jesus Cea <j...@jcea.es>:

> Requisitos:
>
> Tengo millones de bloques binarios de 256 bits. Estos millones de
> bloques están divididos aleatoriamente en grupos, digamos de un millón
> de elementos.
>
> Las operaciones básicas que debo soportar son:
>
> 1. Creación de un grupo. Una vez creado un grupo, no necesita ser
> actualizado. Ni para añadir ni para eliminar.
>
> 2. Comprobar si un elemento pertenece a un grupo concreto.
>
> 3. Generar un grupo nuevo como unión de dos o más grupos.
>
> 4. Generación de un grupo nuevo como intersección de dos o más grupos.
>
> 5. Iterar sobre un grupo. El orden no es importante.
>
> A nivel de limitaciones, la más importante es que la sobrecarga en
> memoria debe ser lo mínimo posible. Cada elemento ocupa 32 bytes (256
> bits). La segunda más importante es que el algoritmo debe ser "cache
> friendly", sobre todo en la parte de búsqueda de pertenencia. En
> realidad solo necesito que el número de bloques de memoria de 4096 bytes
> que se revisan para buscar un elemento sea lo más bajo posible, porque
> el entorno de trabajo tiene muy poca memoria RAM pero se puede tirar de
> SWAP.
>
> No puedo tolerar falsos positivos, así que no puedo usar filtros bloom o
> filtros cuckoo. De momento la estructura de datos que va ganando son los
> hashes cuckoo: La ocupación de memoria es prácticamente óptima y solo
> requiere acceder a dos bloques de 4096 bytes.
>
> En cuanto a los datos en sí, son valores de 256 bits aleatorios. Ahora
> mismo los recibo en orden numérico, pero podría generar cualqueir otra
> estructura. Por ejemplo, podrían almacenarse directamente como un hash
> cuckoo para no tener que regenerarlos en tiempo de ejecución cada vez.
>
> Buscando en PYPI veo un par de proyectos que implementan filtros cuckoo.
> En principio no me sirven porque están escritos en Python nativo sin
> prestar atención al uso de memoria y porque no tolero falsos positivos.
>
> Dado que tengo los datos ya ordenados en la entrada, una opción evidente
> sería usar MMAP para verlos en memoria y hacer búsquedas mediante
> bisección. Esto sería óptimo en consumo de memoria, pero teniendo grupos
> de 8 megabytes, estaría tocando unos 11 bloques de 4096 bytes por cada
> comprobación de pertenencia. Aún suponiendo que los bloques más
> "calientes" estén cacheados en RAM, es preferible que el almacenamiento
> nativo sea un chuckoo hash, que nos garantiza un máximo de acceso a dos
> bloques de 4096 bytes.
>
> Usar un "set()" nativo de Python me garantiza un acceso típico de uno o
> dos bloques de 4096 bytes (bien) pero la ocupación en memoria es
> importante: entre dos y tres veces el tamaño de los datos originales.
>
> ¿Alguna sugerencia?.
>
> Gracias por vuestras neuronas :-).
>
> Cuckoo hashing: https://en.wikipedia.org/wiki/Cuckoo_hashing
>
> Cuento con programar el algoritmo en C o en Cython, si no encuentro nada
> hecho.
>
> --
> Jesús Cea Avión _/_/  _/_/_/_/_/_/
> j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
> Twitter: @jcea_/_/_/_/  _/_/_/_/_/
> jabber / xmpp:j...@jabber.org  _/_/  _/_/_/_/  _/_/  _/_/
> "Things are not so easy"  _/_/  _/_/_/_/  _/_/_/_/  _/_/
> "My name is Dump, Core Dump"   _/_/_/    _/_/_/  _/_/  _/_/
> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿cómo anunciar un proyecto para que la comunidad participe en su desarrollo?

2017-06-27 Por tema Francesc Alted
2017-06-26 13:45 GMT+02:00 Daπid :

> 2017-06-24 4:39 GMT+02:00 Jose Caballero :
>
>> Así que pienso que tal vez la única forma de ver esos proyectitos salir
>> adelante sería "liberarlos" y dejar que la comunidad se encargue de ellos,
>> si así lo considerase oportuno (quizás no sean tan interesantes como a mí
>> me lo pueden parecer).
>>
>
> No cuentes con ello. A menos que sean verdaderamente muy interesantes, o
> alguien lo use en su trabajo, la probabilidad es baja. Y como ejemplo, mira
> numexpr: una biblioteca fantástica, con bastantes usuarios, que cuando
> Francesc no pudo seguir manteniéndola, se quedó huérfana por meses (y aún
> ahora, sigue medio huérfana).
>

​Bueno, no dramatizemos con el mantenimiento.  numexpr es un proyecto
considerado maduro, y eso quiere decir que típicamente sólo se hacen
versiones cuando 1) hay unas cuantas mejoras acumuladas o 2) cuando hay que
arreglar un problema importante.  La última versión de numexpr es de
principios de año, así que tampoco está tan mal :P

Una cosa muy importante a entender es que el tema del software abierto se
hace siempre de manera desinteresada (aunque hay gente que piense que el
dominio global forma parte del plan, esto en general no es así), y los
desarrolladores tenemos que tomarnos las cosas con un poco de calma y
distancia para no quemarnos a largo plazo. ​



>
> Pero, en todo caso, tener una biblioteca a medio hacer, es mejor que no
> tener nada, y nunca sabes cuando alguien va a darle un empujón.
>

​Exacto, esa es la filosofia.

Francesc​
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] 10ᵀᴴ Advanced Scientific Programming in Python

2017-05-05 Por tema Francesc Alted
No que yo sepa.  Aunque en nuestro curso no hacemos discriminación de
nacionalidades (de hecho, hemos tenido alumnos de muchas partes de
Latino-América, aunque es verdad que estaban haciendo estancias en Europa,
y por tanto el viaje les salía más barato).

2017-05-05 0:14 GMT+02:00 Gonzalo V <gvm2...@gmail.com>:

> hay algo así para Latinoamérica?
>
> El 3 may. 2017 08:55, "Francesc Alted" <fal...@gmail.com> escribió:
>
>> Hola,
>>
>> Acaba de salir la convocatoria de nuestro décimo curso de verano sobre
>> Python en entornos científicos que este año tendrá lugar en Grecia.  La
>> fecha límite para las solicitudes es el 31 de Mayo, así que no os podéis
>> despistar mucho.
>>
>> Suerte!
>>
>> 10ᵀᴴ Advanced Scientific Programming in Python
>> ==
>> a Summer School by the G-Node and the Municipality of Sithonia
>>
>> Scientists spend more and more time writing, maintaining, and debugging
>> software. While techniques for doing this efficiently have evolved, only
>> few scientists have been trained to use them. As a result, instead of doing
>> their research, they spend far too much time writing deficient code and
>> reinventing the wheel. In this course we will present a selection of
>> advanced programming techniques and best practices which are standard in
>> the industry, but especially tailored to the needs of a programming
>> scientist. Lectures are devised to be interactive and to give the students
>> enough time to acquire direct hands-on experience with the materials.
>> Students will work in pairs throughout the school and will team up to
>> practice the newly learned skills in a real programming project — an
>> entertaining computer game.
>>
>> We use the Python programming language for the entire course. Python
>> works as a simple programming language for beginners, but more importantly,
>> it also works great in scientific simulations and data analysis. We show
>> how clean language design, ease of extensibility, and the great wealth of
>> open source libraries for scientific computing and data visualization are
>> driving Python to become a standard tool for the programming scientist.
>>
>> This school is targeted at Master or PhD students and Post-docs from all
>> areas of science. Competence in Python or in another language such as Java,
>> C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of
>> Python and of a version control system such as git, subversion, mercurial,
>> or bazaar is assumed. Participants without any prior experience with Python
>> and/or git should work through the proposed introductory material before
>> the course.
>>
>> We are striving hard to get a pool of students which is international and
>> gender-balanced.
>>
>> You can apply online: https://python.g-node.org
>> Application deadline: 23:59 UTC, May 31, 2017. There will be no deadline
>> extension, so be sure to apply on time ;-)
>> Be sure to read the FAQ before applying.
>>
>> Participation is for free, i.e. no fee is charged! Participants however
>> should take care of travel, living, and accommodation expenses by
>> themselves.
>>
>> Date & Location
>> ===
>> August 28—September 2, 2017. Nikiti, Sithonia, Halkidiki, Greece
>>
>> Program
>> ===
>> → Best Programming Practices
>>   • Best practices for scientific programming
>>   • Version control with git and how to contribute to open source
>> projects with GitHub
>>   • Best practices in data visualization
>> → Software Carpentry
>>   • Test-driven development
>>   • Debugging with a debuggger
>>   • Profiling code
>> → Scientific Tools for Python
>>   • Advanced NumPy
>> → Advanced Python
>>   • Decorators
>>   • Context managers
>>   • Generators
>> → The Quest for Speed
>>   • Writing parallel applications
>>   • Interfacing to C with Cython
>>   • Memory-bound problems and memory profiling
>>   • Data containers: storage and fast access to large data
>> → Practical Software Development
>>   • Group project
>>
>> Preliminary Faculty
>> ===
>> • Francesc Alted, freelance consultant, author of Blosc, Castelló de la
>> Plana, Spain
>> • Pietro Berkes, NAGRA Kudelski, Lausanne, Switzerland
>> • Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason
>> University, Fairfax, VA USA
>> • Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
>> Lausanne Switzerland
>> • Juan N

[Python-es] 10ᵀᴴ Advanced Scientific Programming in Python

2017-05-03 Por tema Francesc Alted
Hola,

Acaba de salir la convocatoria de nuestro décimo curso de verano sobre
Python en entornos científicos que este año tendrá lugar en Grecia.  La
fecha límite para las solicitudes es el 31 de Mayo, así que no os podéis
despistar mucho.

Suerte!

10ᵀᴴ Advanced Scientific Programming in Python
==
a Summer School by the G-Node and the Municipality of Sithonia

Scientists spend more and more time writing, maintaining, and debugging
software. While techniques for doing this efficiently have evolved, only
few scientists have been trained to use them. As a result, instead of doing
their research, they spend far too much time writing deficient code and
reinventing the wheel. In this course we will present a selection of
advanced programming techniques and best practices which are standard in
the industry, but especially tailored to the needs of a programming
scientist. Lectures are devised to be interactive and to give the students
enough time to acquire direct hands-on experience with the materials.
Students will work in pairs throughout the school and will team up to
practice the newly learned skills in a real programming project — an
entertaining computer game.

We use the Python programming language for the entire course. Python works
as a simple programming language for beginners, but more importantly, it
also works great in scientific simulations and data analysis. We show how
clean language design, ease of extensibility, and the great wealth of open
source libraries for scientific computing and data visualization are
driving Python to become a standard tool for the programming scientist.

This school is targeted at Master or PhD students and Post-docs from all
areas of science. Competence in Python or in another language such as Java,
C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of
Python and of a version control system such as git, subversion, mercurial,
or bazaar is assumed. Participants without any prior experience with Python
and/or git should work through the proposed introductory material before
the course.

We are striving hard to get a pool of students which is international and
gender-balanced.

You can apply online: https://python.g-node.org
Application deadline: 23:59 UTC, May 31, 2017. There will be no deadline
extension, so be sure to apply on time ;-)
Be sure to read the FAQ before applying.

Participation is for free, i.e. no fee is charged! Participants however
should take care of travel, living, and accommodation expenses by
themselves.

Date & Location
===
August 28—September 2, 2017. Nikiti, Sithonia, Halkidiki, Greece

Program
===
→ Best Programming Practices
  • Best practices for scientific programming
  • Version control with git and how to contribute to open source projects
with GitHub
  • Best practices in data visualization
→ Software Carpentry
  • Test-driven development
  • Debugging with a debuggger
  • Profiling code
→ Scientific Tools for Python
  • Advanced NumPy
→ Advanced Python
  • Decorators
  • Context managers
  • Generators
→ The Quest for Speed
  • Writing parallel applications
  • Interfacing to C with Cython
  • Memory-bound problems and memory profiling
  • Data containers: storage and fast access to large data
→ Practical Software Development
  • Group project

Preliminary Faculty
===
• Francesc Alted, freelance consultant, author of Blosc, Castelló de la
Plana, Spain
• Pietro Berkes, NAGRA Kudelski, Lausanne, Switzerland
• Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason University,
Fairfax, VA USA
• Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
Lausanne Switzerland
• Juan Nunez-Iglesias, Victorian Life Sciences Computation Initiative,
University of Melbourne, Australia
• Rike-Benjamin Schuppner, Institute for Theoretical Biology,
Humboldt-Universität zu Berlin, Germany
• Nicolas P. Rougier, Inria Bordeaux Sud-Ouest, Institute of
Neurodegenerative Disease, University of Bordeaux, France
• Bartosz Teleńczuk, European Institute for Theoretical Neuroscience, CNRS,
Paris, France
• Stéfan van der Walt, Berkeley Institute for Data Science, UC Berkeley, CA
USA
• Nelle Varoquaux, Berkeley Institute for Data Science, UC Berkeley, CA USA
• Tiziano Zito, freelance consultant, Berlin, Germany

Organizers
==
For the German Neuroinformatics Node of the INCF (G-Node) Germany:
• Tiziano Zito, freelance consultant, Berlin, Germany
• Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason University,
Fairfax, USA
• Jakob Jordan, Institute of Neuroscience and Medicine (INM-6),
Forschungszentrum Jülich GmbH, Germany
• Etienne Roesch, Centre for Integrative Neuroscience and Neurodynamics,
University of Reading, UK

Website: https://python.g-node.org
Contact: python-i...@g-node.org

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/list

Re: [Python-es] Consulta modulo time

2016-10-03 Por tema Francesc Alted
Por lo que se puede ver en el codigo fuente, si, parece que usa las
librerias de tiempo del sistema:

https://github.com/python-git/python/blob/715a6e5035bb21ac49382772076ec4c630d6e960/Modules/timemodule.c


Saludos

2016-10-03 16:29 GMT+02:00 David Samaniego <dsama...@fi.uba.ar>:

> Bueno, parece que convirtiendo a entero muestra lo que necesito. Lo que me
> queda la duda ahora es si la libreria time utiliza los mismas librerias de
> tiempo (tiempo.h) del sistema operativo.
>
>
> 2016-09-29 9:46 GMT-03:00 Daπid <davidmen...@gmail.com>:
>
>> 2016-09-28 19:16 GMT+02:00 David Samaniego <dsama...@fi.uba.ar>:
>> > Gente buenas tardes, alguien conoce si el modulo time.time() tiene
>> alguna
>> > forma de devolver el tiempo en segundos y con una resolución de
>> > nanosegundos
>>
>> Malamente. Mi ordenador, con un procesador potente tarda 80 ns en
>> darte el tiempo:
>>
>> %timeit time.time()
>> 1000 loops, best of 3: 79 ns per loop
>>
>> Y entre llamadas sucesivas:
>>
>> x = [time.time() for _ in range(10)]
>> np.diff(x)
>> array([  2.38418579e-07,   2.38418579e-07,   0.e+00,
>>  0.e+00,   4.76837158e-07,   0.e+00,
>>  0.e+00,   2.38418579e-07,   2.38418579e-07])
>>
>> La resolución parece ser de unos doscientos nanosegundos, y por debajo
>> se va a zero.
>>
>> Por completar: el tiempo que tarda en crear la lista con los tiempos y
>> en crear una lista:
>>
>> In [11]: %timeit [time.time() for _ in range(10)]
>> ...:
>> 100 loops, best of 3: 1.51 µs per loop
>>
>> In [12]: %timeit [_ for _ in range(10)]
>> ...:
>> 100 loops, best of 3: 710 ns per loop
>>
>> La diferencia nos da 800 ns, consistente con los 79 ns de time.time().
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [OT] Pase para EuroPython 2016

2016-07-08 Por tema Francesc Alted
Hola,

Aunque tenia pensado acudir al EuroPython 2016 que tendrá lugar durante los
dias 17 y 24 de Julio en Bilbao, al final no podré acudir por problemas de
agenda.  Así que si alguien está interesado en ir, le puedo vender mi
entrada; el previo original que pagué fue de 380 € (early bird), pero lo
ofrezco por 323 € (15% de descuento).

Los interesados pueden enviarme un correo privado.  Gracias!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Oferta de empleo

2016-07-01 Por tema Francesc Alted
Hola,

Personalmente no creo que haya que ponerse demasiado estricto en
'condiciones' para publicar ofertas de trabajo, excepto que sean breves y
que redirecionen a enlaces externos para más info.  Tradicionalmente nunca
ha habido un gran número de ofertas en esta lista, pero en el caso de que
éstas nos empezaran a abrumar (esto seria interesante ;) pues ya veríamos.

Francesc

2016-07-01 14:02 GMT+02:00 Chema Cortes <pych...@gmail.com>:

>
>
> El vie., 1 jul. 2016 a las 11:39, Juan Luis Cano (<juanlu...@gmail.com>)
> escribió:
>
>> Chema, ¿se podrían incluir esas normas, así como unos requisitos
>> **mínimos** para poner ofertas de empleo, en la página principal de la
>> lista? O sea: que tengan cuanta más información mejor, porque si no sucede
>> como ha pasado aquí, que no se especifica ni de qué es el puesto, ni qué
>> tecnologías se usan, ni si se considera trabajo remoto, ni si se
>> proporciona visado, ni cuál es el salario, ni cuáles son las condiciones.
>> <http://python-es-faq.wikidot.com/>
>>
>
> ¿Página principal? Tenemos puesto un enlace a un wiki que no sabría
> decirte quiénes lo actualizan. Habría que mirarlo.
>
> Por otro lado, creo recordar que una vez hablamos aquí de los "requisitos
> mínimos" para las ofertas de trabajo y no llegamos a un acuerdo. Desde
> entonces estoy esperando a que se ponga en marcha la sección de la web de
> Python-ES de ofertas de empleo. Mientras tanto, habrás notado que te voy
> redirigiendo a tu cuenta de presidente2016 algunas ofertas que me van
> llegando para que decidas cómo publicitarlas entre los socios :P.
>
>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> http://ch3m4.org/blog
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Paython trabaja en memoria?

2016-05-13 Por tema Francesc Alted
2016-05-13 3:20 GMT+02:00 Chema Cortes <pych...@gmail.com>:

>
>
> El jue., 12 may. 2016 a las 21:57, Francesc Alted (<fal...@gmail.com>)
> escribió:
>
>> 2016-05-12 18:10 GMT+02:00 Chema Cortes <pych...@gmail.com>:
>>
>>> El jue., 12 may. 2016 a las 10:51, Javier Sangalo (<jjsang...@gmail.com>)
>>> escribió:
>>>
>>>> muchas gracias!
>>>> No tengo ningun problema en particular, tan solo que me hen hecho esa
>>>> pregunta y no estaba seguro de que responder jeje.
>>>>
>>>
>>> La diferencia entre trabajar con datos en memoria en lugar de en disco
>>> supone un factor multiplicativo de x20. Con los nuevos discos SSD
>>> mejora bastante bajando a unos x1. Vamos, que es muy recomendable tener
>>> todos los datos en memoria, aunque sea como matrices dispersas (sparse
>>> matrices), con el fin de operar más rápido sin pasar por disco. Tanto R
>>> como numpy tienen técnicas para optimizar el espacio ocupado en memoria.
>>>
>>
>> Supongo que estás citando números de latencia.  Aunque la cifra para
>> discos duros es más o menos correcta, la que das para SSDs está bastante
>> desfasada.  Actualmente puedes comprar SSDs SATA con latencias de entre 40
>> y 100 us sin hacer un gran desenbolso.  Teniendo en cuenta que las
>> latencias típicas de la RAM son de 0.1 us, la diferencia es ('solo') de
>> entre 500x y 1000x.  Para los discos SSD de PCIe, las latencias son
>> bastante más bajas, y ya se pueden ver tarjetas a buen precio con latencias
>> de 2 y 10 us (e incluso de menos de 1 us, como las de
>> http://www.violin-memory.com/, aunque estas ya son *muy* caras).
>>
>> Respecto a las diferencias en ancho de banda las cosas van bastante más
>> ajustadas, y los discos SSD SATA que saturan el bus (~520 MB/s) son muy
>> habituales, mientras que los SSD PCIe pueden llegar hasta 2 GB/s.  Compara
>> esto con la RAM que va entre 10 GB/s a 20 GB/s (en ordenadores modernos).
>> Añade compresión ultra-rápida para mejorar el ancho de banda de I/O y se ve
>> claro que estamos asistiendo a una verdadera revolución que cambiará (está
>> cambiando) la manera de guardar y efectuar cálculos con datos.
>>
>> Hablé justamente de esto en mi charla de PyData Madrid del mes pasado:
>>
>> https://speakerdeck.com/francescalted/new-computer-trends
>>
>> Francesc
>>
>
> Tienes toda la razón, me había quedado desfasado. Hasta ahora sólo
> consideraba los SSDs para acelerar los sistemas críticos (eg: sistemas
> oracles), pero con lo que dices ya empiezan a ser muy interesantes para
> realizar cálculos masivos.
>
> Incluso me puedo imaginar ya realizable un viejo deseo: que la
> persistencia de los datos se independice de la vida de la aplicación. O
> visto de otro modo, los datos no se mueven, se mueven las aplicaciones
> (pensando siempre en programación funcional).
>

Si, mucha gente va detrás de eso.  Sin embargo, hay muchas aplicaciones y
cada una tiene sus necesidades.  Yo más bien abogo por empezar a utilizar
la jerarquía de memoria (y muy en particular los SSDs) de manera eficaz,
cosa que se podrá aprovechar para tu 'viejo deseo' de que los datos no se
muevan.

Pero no nos equivoquemos, las CPUs hacen càlculos con las caches (más que
con la RAM), y no hay más tu tía que los datos sean transmitidos a ellas de
manera eficiente a través de la jerarquía de memoria para que los cores de
las CPUs dejen de estar tanto tiempo haciendo nada más que esperar a los
datos.  La compresión puede ayudar a rebajar la cantidad de bytes
transmitidos (al tiempo que se usan ciclos de CPU que otra manera se
desaprovechan), pero aun así hay mucha labor por hacer en determinar
parámetros esenciales como los tamaños de bloque, los contenedores de datos
óptimos, etc...  Aquí hay otro ejemplo de contenedor multidimensional
totalmente general que se está desarrollando ahora mismo con todo esto en
mente:

http://zarr.readthedocs.io/en/refactor/index.html

y aquí unos benchmarks:

http://nbviewer.jupyter.org/github/alimanfoo/zarr/blob/refactor/notebooks/dask_copy.ipynb

Como se ve, usar todos nuestros cores (que usualmente están parados), así
como las capacidades SIMD de las CPUs modernas (que también están
infra-utilizadas), y en el futuro, las GPUs integradas, es fundamental para
hacer que los datos fluyan hacia la CPU lo más rápido posible.

Francesc

>
>
>
>>
>>
>>>
>>> Pero no siempre es la mejor opción. A veces tu datos vienen como streams
>>> de datos desde algún servidor web o desde algún nodo de la base de datos.
>>> En estos casos, los tiempos invertidos en traerte los datos pueden ser
>>> mucho mayor que el

Re: [Python-es] Paython trabaja en memoria?

2016-05-12 Por tema Francesc Alted
2016-05-12 18:10 GMT+02:00 Chema Cortes <pych...@gmail.com>:

> El jue., 12 may. 2016 a las 10:51, Javier Sangalo (<jjsang...@gmail.com>)
> escribió:
>
>> muchas gracias!
>> No tengo ningun problema en particular, tan solo que me hen hecho esa
>> pregunta y no estaba seguro de que responder jeje.
>>
>
> La diferencia entre trabajar con datos en memoria en lugar de en disco
> supone un factor multiplicativo de x20. Con los nuevos discos SSD
> mejora bastante bajando a unos x1. Vamos, que es muy recomendable tener
> todos los datos en memoria, aunque sea como matrices dispersas (sparse
> matrices), con el fin de operar más rápido sin pasar por disco. Tanto R
> como numpy tienen técnicas para optimizar el espacio ocupado en memoria.
>

Supongo que estás citando números de latencia.  Aunque la cifra para discos
duros es más o menos correcta, la que das para SSDs está bastante
desfasada.  Actualmente puedes comprar SSDs SATA con latencias de entre 40
y 100 us sin hacer un gran desenbolso.  Teniendo en cuenta que las
latencias típicas de la RAM son de 0.1 us, la diferencia es ('solo') de
entre 500x y 1000x.  Para los discos SSD de PCIe, las latencias son
bastante más bajas, y ya se pueden ver tarjetas a buen precio con latencias
de 2 y 10 us (e incluso de menos de 1 us, como las de
http://www.violin-memory.com/, aunque estas ya son *muy* caras).

Respecto a las diferencias en ancho de banda las cosas van bastante más
ajustadas, y los discos SSD SATA que saturan el bus (~520 MB/s) son muy
habituales, mientras que los SSD PCIe pueden llegar hasta 2 GB/s.  Compara
esto con la RAM que va entre 10 GB/s a 20 GB/s (en ordenadores modernos).
Añade compresión ultra-rápida para mejorar el ancho de banda de I/O y se ve
claro que estamos asistiendo a una verdadera revolución que cambiará (está
cambiando) la manera de guardar y efectuar cálculos con datos.

Hablé justamente de esto en mi charla de PyData Madrid del mes pasado:

https://speakerdeck.com/francescalted/new-computer-trends

Francesc


>
> Pero no siempre es la mejor opción. A veces tu datos vienen como streams
> de datos desde algún servidor web o desde algún nodo de la base de datos.
> En estos casos, los tiempos invertidos en traerte los datos pueden ser
> mucho mayor que el que inviertes escribiendo/leyendo del disco local, con
> lo que puedes usar el disco como almacenamiento secundario para liberar
> RAM. Es en parte lo que hace Hadoop para poder procesar colecciones de
> datos enormes (aunque luego venga Spark y pulverize los tiempos de proceso
> cacheándolo todo en RAM).
>
> Una comparativa tecnológica e histórica de los tiempos de latencia:
>
> https://gist.github.com/jboner/2841832
> http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html
>
>
>
>>
>> El 12 de mayo de 2016, 10:40, Kiko <kikocorre...@gmail.com> escribió:
>>
>>>
>>> El 12 de mayo de 2016, 10:23, Javier Sangalo <jjsang...@gmail.com>
>>> escribió:
>>>
>>>> Buenos días,
>>>>
>>>> Me surge una duda, R trabaja en memoria con el inconveniente que tiene
>>>> si no dispones de suficiente memoria ram, pero...y Python? trabaja de la
>>>> misma forma?
>>>>
>>>>
>>> Sí. R, Python y el resto del universo. Tendrás que encargarte de
>>> gestionar la memoria. Hay formas más o menos eficientes de hacerlo. Si
>>> describes un poco mejor tu problema relacionado con Python quizá te puedan
>>> ofrecer mejor ayuda.
>>>
>>>
>>>> Gracias!
>>>>
>>>> ___
>>>> Python-es mailing list
>>>> Python-es@python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> http://ch3m4.org/blog
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] ANN: Summer School "Advanced Scientific Programming in Python" in Reading, UK, September 5—11, 2016

2016-04-07 Por tema Francesc Alted
Hola a todos,

Este año nuestro curso anual sobre Python avanzado para programación
científica va a ser en Reading, Reino Unido.  Hay poco más de 1 mes (hasta
el 15 de Mayo) para presentar vuestras candidaturas.  Espero ver a algunos
de vosotros entre los asistentes!

Saludos,
Francesc Alted


Advanced Scientific Programming in Python
=
a Summer School by the G-Node, and the Centre for Integrative Neuroscience
and Neurodynamics, School of Psychology and Clinical Language Sciences,
University of Reading, UK

Scientists spend more and more time writing, maintaining, and debugging
software. While techniques for doing this efficiently have evolved, only
few scientists have been trained to use them. As a result, instead of doing
their research, they spend far too much time writing deficient code and
reinventing the wheel. In this course we will present a selection of
advanced programming techniques and best practices which are standard in
the industry, but especially tailored to the needs of a programming
scientist. Lectures are devised to be interactive and to give the students
enough time to acquire direct hands-on experience with the materials.
Students will work in pairs throughout the school and will team up to
practice the newly learned skills in a real programming project — an
entertaining computer game.

We use the Python programming language for the entire course. Python works
as a simple programming language for beginners, but more importantly, it
also works great in scientific simulations and data analysis. We show how
clean language design, ease of extensibility, and the great wealth of open
source libraries for scientific computing and data visualization are
driving Python to become a standard tool for the programming scientist.

This school is targeted at Master or PhD students and Post-docs from all
areas of science. Competence in Python or in another language such as Java,
C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of
Python and of a version control system such as git, subversion, mercurial,
or bazaar is assumed. Participants without any prior experience with Python
and/or git should work through the proposed introductory material before
the course.

We are striving hard to get a pool of students which is international and
gender-balanced.

You can apply online: https://python.g-node.org
Application deadline: 23:59 UTC, May 15, 2016.
Be sure to read the FAQ before applying.

Participation is for free, i.e. no fee is charged! Participants however
should take care of travel, living, and accommodation expenses by
themselves. Travel grants may be available.

Date & Location
===
September 5—11, 2016. Reading, UK

Program
===
- Best Programming Practices
  • Best practices for scientific programming
  • Version control with git and how to contribute to open source projects
with GitHub
  • Best practices in data visualization

- Software Carpentry
  • Test-driven development
  • Debugging with a debuggger
  • Profiling code

- Scientific Tools for Python
  • Advanced NumPy

- Advanced Python
  • Decorators
  • Context managers
  • Generators

- The Quest for Speed
  • Writing parallel applications
  • Interfacing to C with Cython
  • Memory-bound problems and memory profiling
  • Data containers: storage and fast access to large data

- Practical Software Development
  • Group project

Preliminary Faculty
===

• Francesc Alted, freelance consultant, author of Blosc, Spain
• Pietro Berkes, Enthought Inc., Cambridge, UK
• Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason University,
Fairfax, VA, USA
• Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
Lausanne, Switzerland
• Juan Nunez-Iglesias, Victorian Life Sciences Computation Initiative,
University of Melbourne, Australia
• Rike-Benjamin Schuppner, Institute for Theoretical Biology,
Humboldt-Universität zu Berlin, Germany
• Bartosz Teleńczuk, European Institute for Theoretical Neuroscience, CNRS,
Paris, France
• Stéfan van der Walt, Berkeley Institute for Data Science, UC Berkeley,
CA, USA
• Nelle Varoquaux, Centre for Computational Biology Mines ParisTech,
Institut Curie, U900 INSERM, Paris, France
• Tiziano Zito, freelance consultant, Germany

Organizers
==
For the German Neuroinformatics Node of the INCF (G-Node) Germany:
• Tiziano Zito, freelance consultant, Germany
• Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason University,
Fairfax, USA
• Jakob Jordan, Institute of Neuroscience and Medicine (INM-6),
Forschungszentrum Jülich GmbH, Germany

For the Centre for Integrative Neuroscience and Neurodynamics, School of
Psychology and Clinical Language Sciences, University of Reading UK:
• Etienne Roesch, Centre for Integrative Neuroscience and Neurodynamics,
University of Reading, UK

Website: https://python.g-node.org
Contact: python-i...@g-node.org

-- 
Francesc A

[Python-es] Fwd: GNU Mailman email lists at mail.python.org

2015-03-28 Por tema Francesc Alted
Hola a tod@s,

Parece que la semana que viene nos van a actualizar la lista a Mailman
2.1.20.  No creo que haya ningún problema, pero si alguien detecta que sus
envios no aparecen o alguna otra cosa, que avise.

Saludos!
Francesc

-- Forwarded message --
From: Mark Sapiro m...@python.org
Date: 2015-03-28 3:17 GMT+01:00
Subject: GNU Mailman email lists at mail.python.org
To: fal...@pytables.org


Hello fal...@pytables.org,

This is Mark Sapiro, GNU Mailman developer and primary supporter
of the Mailman 2.1 branch.

I am writing to you because you are an owner of a list hosted at
mail.python.org.

This list is:

python-es@python.org

I want to inform you of an upcoming change to Mailman on
mail.python.org.

Mailman 2.1.20 will be released next week.  It is being released now
because it contains a fix for a security issue which doesn't affect the
python.org Mailman installation, but I will be installing it here as
it contains a new feature which I think will be of interest.

A new sub-section, Address Change, is being added to the Membership
Management... section in the web admin interface.

Here you will be able to change a list member's email address in one
step as opposed to previously where you had to add the new address,
copy options and settings from old to new and finally delete the old
address.

If you use the Address Change sub-section, the member's password will
be preserved in addition to all the member's other options and settings.
Previously you couldn't preserve the password.  There are also check
boxes to send notice of the change to the old and/or new address.

--
Mark Sapiro
m...@python.org



-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Pregunta acerca de Python en Mono/.Net

2014-08-23 Por tema Francesc Alted
Hay que decir que si haces software libre, siempre tienes la opción de 
que te regalen una licencia de PyCharm.  A mi me la concedieron y la 
verdad es que está muy, muy bien (aunque todavia no pueda dejar de usar 
Emacs a diario).


Francesc

El 23/08/14 a les 17:12, Hiko hitokiri ha escrit:
pycharm es buena opcion lo unico que no me gusta es que este hecho en 
java jajja y que la mejor version obvio es la pagada



___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] dump json no muestra bien las dobles comillas

2014-08-15 Por tema Francesc Alted
A eso hay que añadir que Python acepta los dos tipos de comillas para 
representar cadenas:


http://www.tutorialscollection.com/python-string-using-strings-and-its-methods-in-python/

Francesc

El 15/08/14 a les 14:46, Rock Neurotiko ha escrit:


El estandar para json dice que hay que usar comillas simples, es por 
eso que el modulo lo transforma automaticamente a simples :)


El 15/08/2014 14:43, Sergio Cubero serc...@alumni.uv.es 
mailto:serc...@alumni.uv.es escribió:


Hola.
Estoy jugando a procesar ficheros json.

Siendo el script:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from pprint import pprint

with open('info.json') as data_file:
data = json.load(data_file)
pprint(data)

y el json:


{maps:[{id:blabla,iscategorical:0},{id:blabla,iscategorical:0}],
masks:{id:valore},
om_points:value,
parameters:{id:valore}
}


Al ejecutarlo por consola, muestra mal las comillas dobles.

{u'maps': [{u'id': u'blabla', u'iscategorical': u'0'},
   {u'id': u'blabla', u'iscategorical': u'0'}],
 u'masks': {u'id': u'valore'},
 u'om_points': u'value',
 u'parameters': {u'id': u'valore'}}

El cat lo muestra bien.

Tengo que pasarle un encode utf-8 ??

Gracias
___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Auto-completado con ayuda

2014-06-11 Por tema Francesc Alted
De que te vamos a odiar? :) De hecho Chema siempre ha dicho que 
Eclipse/PyDev deberia ser parte de la gran unificacion de herramientas 
de programacion.


En mi caso (e imagino que en la mayoria), el hecho de usar cierto editor 
y no otro es un tema de pereza para hacer que mis dedos dejen de ir a 
ciertas partes del teclado para hacer ciertas operaciones. Despues de 
años de uso, esas combinaciones estan grabadas a fuego en mi cerebro y 
luchar contra ello seria tanto como renunciar a parte de mi yo.


Dicho esto, es verdad que las guerras sobre editores e IDEs en general 
siempre ha sido bastante religiosas. Aunque es necesario decir que emacs 
siempre sale victorioso:


http://xkcd.com/378/

Francesc

On 6/11/14, 4:23 PM, Fernando Oliva Hueto wrote:
Igual me meto en un jardín muy profundo y me odiáis (:P), pero yo uso 
eclipse con PyDev y va fantástico.



El 11 de junio de 2014, 15:25, Arturo Llaja Alarcón 
artus@autistici.org mailto:artus@autistici.org escribió:


On 10/06/14 08:36, Andres Marin wrote:


Sres muchas gracias, voy a leer y a tratar de implementar ya q
sus comentarios son solo buenos.

Slds.

El 10/06/2014 06:41, Kiko kikocorre...@gmail.com
mailto:kikocorre...@gmail.com escribió:




El 10 de junio de 2014, 13:35, Francesc Alted
fal...@gmail.com mailto:fal...@gmail.com escribió:

On 6/10/14, 11:59 AM, Chema Cortes wrote:




El 10 de junio de 2014, 9:17, Kiko
kikocorre...@gmail.com
mailto:kikocorre...@gmail.com
mailto:kikocorre...@gmail.com
mailto:kikocorre...@gmail.com escribió:




El 10 de junio de 2014, 8:26, Andres Marin
aym...@gmail.com mailto:aym...@gmail.com
mailto:aym...@gmail.com mailto:aym...@gmail.com
escribió:

Hola,

Estoy tratando de personalizar mi IDE con vim y
encontre para
autocompletar el omnicomplete, q tiene algo muy
importante (la
ayuda) pero no esta actualizado, por ejemplo, no tiene el
argparse q viene en python 2.7. Por otro lado esta
pydiction
super bueno pq si no tiene un modulo solo le corres
el script
y ya queda actualizado, pero no tiene la ayuda.

Algun autocomplete q tenga lo mejor de estos 2? Es
decir q se
pueda actualizar pero que tenga la ayuda.

Aquí tienes una documentación muy completa para
personalizar vim,
incluyendo autocompletado:

https://github.com/joedicastro/dotfiles/blob/a87b42deb9c1132c8f801bb91d119f0b26d21d68/vim/README.md


Tan sólo comentar que ese enlace es de un commit
viejo. Es mejor usar la última revisión:

https://github.com/joedicastro/dotfiles/tree/master/vim

Un trabajo de recopilación impresionante de Joe di
Castro.


Gracias, Chema.


Exacto: Im-presionante. Incluso a un usuario emacs de
vieja escuela como yo le dan ganas de cambiar :P


Coincido con vosotros. Increible.
Muchas gracias a Joe.



-- 
Francesc Alted


___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



___
Python-es mailing list
Python-es@python.org  mailto:Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ:http://python-es-faq.wikidot.com/

Emacs también tiene lo suyo :)

http://tkf.github.io/emacs-jedi/latest/


___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/




--
*Fernando Oliva Hueto*
*
*
/“Los programas deben ser escritos para que los lean las personas, y 
sólo incidentalmente, para que lo ejecuten las máquinas”. /



___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es

Re: [Python-es] Auto-completado con ayuda

2014-06-10 Por tema Francesc Alted

On 6/10/14, 11:59 AM, Chema Cortes wrote:




El 10 de junio de 2014, 9:17, Kiko kikocorre...@gmail.com 
mailto:kikocorre...@gmail.com escribió:





El 10 de junio de 2014, 8:26, Andres Marin aym...@gmail.com
mailto:aym...@gmail.com escribió:

Hola,

Estoy tratando de personalizar mi IDE con vim y encontre para
autocompletar el omnicomplete, q tiene algo muy importante (la
ayuda) pero no esta actualizado, por ejemplo, no tiene el
argparse q viene en python 2.7. Por otro lado esta pydiction
super bueno pq si no tiene un modulo solo le corres el script
y ya queda actualizado, pero no tiene la ayuda.

Algun autocomplete q tenga lo mejor de estos 2? Es decir q se
pueda actualizar pero que tenga la ayuda.

Aquí tienes una documentación muy completa para personalizar vim,
incluyendo autocompletado:

https://github.com/joedicastro/dotfiles/blob/a87b42deb9c1132c8f801bb91d119f0b26d21d68/vim/README.md


Tan sólo comentar que ese enlace es de un commit viejo. Es mejor 
usar la última revisión:


https://github.com/joedicastro/dotfiles/tree/master/vim

Un trabajo de recopilación impresionante de Joe di Castro.


Exacto: Im-presionante.  Incluso a un usuario emacs de vieja escuela 
como yo le dan ganas de cambiar :P


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Crear imagenes como resultado de otras

2014-06-10 Por tema Francesc Alted

On 6/9/14, 10:55 PM, Ivan Roms wrote:

Hola, he aprendido a base de bien gracias a esta lista de mail.
Ahora me he propuesto un pequeño reto que no consigo realizar del todo.
Es el siguiente:

# RETO 1
A partir de una 'imagenPequeña' y una 'imagenGrande', crear una 
tercera 'imagenResultado' del tamaño de 'imagenGrande' y fondo 
transparente, que contenga copias de la 'imagenPequeña' en las mismas 
posiciones detectadas en 'imagenGrande'.

Un croquis de esto podría ser algo así:
test.jpg

Gracias de antemano!


Scikit-image que te deja segmentar de manera bastante facil:

http://scikit-image.org/docs/dev/auto_examples/plot_watershed.html

Con los segmentos puedes calcular diferents propiedades:

http://scikit-image.org/docs/dev/auto_examples/plot_regionprops.html#example-plot-regionprops-py

de manera que, si coinciden con tu patron, puedes dejar la region 
original, y si no, la borras (la rellenas de ceros).  Podrias incluso 
coger un conjunto de propiedades que sea invariante respecto a 
rotaciones o cambios de escala, pero eso ya depende del problema.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] IPython 2.0 requiere node.js?

2014-04-03 Por tema Francesc Alted

On 4/3/14, 12:25 PM, Kiko wrote:


El 3 de abril de 2014, 11:52, Chema Cortes pych...@gmail.com 
mailto:pych...@gmail.com escribió:


Hola, a todos:

Probando el notebook de la nueva versión de IPython 2.0 veo que
busca una instalación de node.js para que funcione nbconvert. Al
no encontrarlo, utiliza pandoc en su lugar para renderizar markdown..

Desconozco si se trata de alguna prueba vestigial de cambiar el
kernel de ipython a node.js o que se haya empaquetado mal en conda
(anaconda).

¿Sabéis si hay alguna forma de que el nbconvert de ipython 2.0 use
el módulo markdown2 en lugar de node.js o pandoc?


 platform : win-32
conda version : 3.3.2
   python version : 2.7.5.final.0



Según la documentación:
http://ipython.org/ipython-doc/stable/notebook/nbconvert.html
/
/
/Note/

/nbconvert uses pandoc http://johnmacfarlane.net/pandoc/ to convert 
between various markup languages, so pandoc is a dependency of most 
nbconvert transforms, excluding Markdown and Python./


nbconvert ya te convierte a markdown sin usar Pandoc.

/ipython(2 o 3) nbconvert --to markdown notebook_a_transformar.ipynb/


Confirmo que eso funciona.  Ademas me funcionan todas la demas opciones 
('latex', 'markdown', 'python', 'rst', 'slides'), excepto com 'html' que 
me pide el pandoc.




¿Quieres transformar ese markdown a html usando markdown2 o es otra 
cosa la que quieres hacer?


En ningún caso necesita node (será un tema interno de anaconda para 
sus herramientas en la nube o compartir en wakari o alguna cosa de esas.


Yo acabo de actualizar ipython 2.0.0 desde conda y no pide la 
instalacion de ningun node.js.  Estoy en Mac, no se si desde Win la cosa 
es diferente.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] ANN: Escuela de verano Advanced Scientific Programming in Python en Split, Croacia

2014-02-06 Por tema Francesc Alted

Hola,

Bueno, pues ya hay una nueva convocatoria para nuestra (ya tradicional) escuela 
de verano sobre Python avanzado para cientificos.  Esta vez se celebra en 
Croacia, que es un marco estupendo para una semana de aprendizaje, camaraderia 
y competicion (torneo Pelita!) con otros colegas.

Si estas interesado, tradicionalmente siempre ha habido bastante demanda para 
este tipo de cursos (los ratios de aceptacion suelen ser de 1 entre 4 o 5), asi 
que ponle cariño a tu propuesta de participacion y ¡suerte!

Francesc Alted
Continuum Iberica

=
Advanced Scientific Programming in Python
=
a Summer School by the G-Node and the Faculty of Electrical
Engineering, Mechanical Engineering and Naval Architecture (FESB),
University of Split

Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists have been trained to use them. As
a result, instead of doing their research, they spend far too much
time writing deficient code and reinventing the wheel. In this
course we will present a selection of advanced programming
techniques, incorporating theoretical lectures and practical
exercises tailored to the needs of a programming scientist. New
skills will be tested in a real programming project: we will team up
to develop an entertaining scientific computer game.

We use the Python programming language for the entire course. Python
works as a simple programming language for beginners, but more
importantly, it also works great in scientific simulations and data
analysis. We show how clean language design, ease of extensibility,
and the great wealth of open source libraries for scientific
computing and data visualization are driving Python to become
a standard tool for the programming scientist.

This school is targeted at Master or PhD students and Post-docs from
all areas of science. Competence in Python or in another language
such as Java, C/C++, MATLAB, or Mathematica is absolutely required.
Basic knowledge of Python is assumed. Participants without any prior
experience with Python should work through the proposed introductory
materials before the course.

Date and Location
=
September 8—13, 2014. Split, Croatia

Preliminary Program
===
Day 0 (Mon Sept 8) — Best Programming Practices
  • Best Practices for Scientific Computing
  • Version control with git and how to contribute to Open
Source with github
  • Object-oriented programming  design patterns
Day 1 (Tue Sept 9) — Software Carpentry
  • Test-driven development, unit testing  quality assurance
  • Debugging, profiling and benchmarking techniques
  • Advanced Python I: idioms, useful built-in data structures,
generators
Day 2 (Wed Sept 10) — Scientific Tools for Python
  • Advanced NumPy
  • The Quest for Speed (intro): Interfacing to C with Cython
  • Programming in teams
Day 3 (Thu Sept 11) — The Quest for Speed
  • Writing parallel applications in Python
  • Python 3: why should I care
  • Programming project
Day 4 (Fri Sept 12) — Efficient Memory Management
  • When parallelization does not help:
the starving CPUs problem
  • Advanced Python II: decorators and context managers
  • Programming project
Day 5 (Sat Sept 13) — Practical Software Development
  • Programming project
  • The Pelita Tournament

Every evening we will have the tutors' consultation hour: Tutors
will answer your questions and give suggestions for your own
projects.

Applications

You can apply on-line athttp://python.g-node.org

Applications must be submitted before 23:59 UTC, May 1, 2014.
Notifications of acceptance will be sent by June 1, 2014.

No fee is charged but participants should take care of travel,
living, and accommodation expenses. Candidates will be selected on
the basis of their profile. Places are limited: acceptance rate is
usually around 20%. Prerequisites: You are supposed to know the
basics of Python to participate in the lectures. You are encouraged
to go through the introductory material available on the website.

Faculty
===
 • Francesc Alted, Continuum Analytics Inc., USA
 • Pietro Berkes, Enthought Inc., UK
 • Kathryn D. Huff, Department of Nuclear Engineering,
   University of California - Berkeley, USA
 • Zbigniew Jędrzejewski-Szmek, Krasnow Institute,
   George Mason University, USA
 • Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
   Lausanne, Switzerland
 • Rike-Benjamin Schuppner, Technologit GbR, Germany
 • Nelle Varoquaux, Centre for Computational Biology Mines ParisTech,
   Institut Curie, U900 INSERM, Paris, France
 • Stéfan van der Walt, Applied Mathematics, Stellenbosch University,
   South Africa
 • Niko Wilbert, TNG Technology Consulting GmbH, Germany
 • Tiziano Zito, Institute for Theoretical Biology, Humboldt-Universität
   zu Berlin, Germany

Organized by Tiziano Zito (head) and Zbigniew

[Python-es] Reunió(n) de Pythonistas en Castelló

2013-12-04 Por tema Francesc Alted

Hola,

[En castellano más abajo]

Els Pythonistes de Castelló de la Plana i rodalies pensem reunir-nos per 
a parlar del llenguatge i d'altres coses interessants.


Els interessats podeu acudir el proper proper divendres 13 de desembre 
de 2013 a les 19:30 hores, al bar Ágora , que és un garito a l'aire 
lliure que han obert a la placeta del carrer Campoamor, prop del carrer 
Governador, a Castelló.  Com que el lloc és nou i no sé molt bé el seu 
horari d'apertura, la segona opció seria la cafeteria 'Teapot' que es 
troba a la mateixa placeta.




Los Pythonistas de Castellón de la Plana vamos a reunirnos para hablar 
del lenguaje y otras cosas interesantes.


Los interesados podeis acudir el próximo viernes 13 de diciembre de 2013 
a las 19:30 horas, al bar Ágora, que es un garito al aire libre en la 
placita de la calle Campoamor, cerca de la calle Governador, en 
Castellón.  Como el lugar es nuevo y no conozco bien su horario de 
apertura, la segunda opción sería la cafetería 'Teapot' sita en la misma 
plaza.


Ens veiem!

--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Almacenamiento en disco automático y transparente

2013-10-28 Por tema Francesc Alted

On 10/28/13, 12:20 PM, Daπid wrote:
Tengo un objeto Python (pongamos una cadena de texto o un array de 
numpy) que puede crecer arbitrariamente, hasta, quizá, superar el 
límite de memoria del SO. Quiero mantenerla en memoria mientras sea 
posible, pero si llegara a crecer por encima de un cierto límite, se 
almacenaría en disco. El programa, sin embargo, vería el mismo objeto, 
y sería capaz de leer valores de la misma forma. ¿Es esto posible?


Con una cadena lo veo más o menos factible, sobrecargando los métodos 
que la extenderían para que, si supera el límite de memoria, vuelque a 
archivo; e igualmente los métodos __getitem__ fueran redirigidos a 
seek() y read(). Con un array, quizá me iría a EArray (extendable 
array) de PyTables.


Si, yo creo que un EArray sobrecargado te puede servir perfectamente 
para eso.





¿Hay algo ya hecho? ¿Alguna idea más inteligente y eficiente?


Hombre, no se exactamente para que quieres cargar lo mas possible el 
array en memoria, pero en esos casos yo lo que haria es guardar todo el 
array en disco y dejar que sea el sistema operativo, y no tu, quien 
decida que partes se cachean en memoria. A la larga es mas practico y 
eficiente.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Almacenamiento en disco automático y transparente

2013-10-28 Por tema Francesc Alted

On 10/28/13, 1:49 PM, Daπid wrote:

2013/10/28 Kiko kikocorre...@gmail.com mailto:kikocorre...@gmail.com

Si los datos son lo suficientemente grandes como para que no
quepan en memoria


El problema es que, en principio, no sé si va a ser así. Depende de 
los datos en concreto y de la RAM instalada en la máquina (cualquier 
cosa entre 4 y 16 GB). Me gustaría poder evitar el disco mientras 
fuera posible, pero sin que el programa sea asesinado.


Creeme, a no ser que tengas requerimientos muy precisos, mucho mejor que 
se encargue el SO.






2013/10/28 Francesc Alted fal...@gmail.com mailto:fal...@gmail.com

¿Hay algo ya hecho? ¿Alguna idea más inteligente y eficiente?


Hombre, no se exactamente para que quieres cargar lo mas possible
el array en memoria, pero en esos casos yo lo que haria es guardar
todo el array en disco y dejar que sea el sistema operativo, y no
tu, quien decida que partes se cachean en memoria. A la larga es
mas practico y eficiente.


Cierto, me olvidaba de la caché. Mi idea iba más por usar, digamos, 
backend en memoria hasta que llegara a un cierto límite, en el que 
pasaría a guardarse en disco. Pero quizá, usando directamente la 
opción en disco, el SO mantendrá el contenido en caché mientras sea lo 
suficientemente pequeño, y el rendimiento será lo suficientemente bueno.


Otra opción sería carray, que tiene la ventaja de ofrecer exactamente 
la misma API para memoria que para disco.


http://carray.pytables.org/docs/manual/tutorial.html

Veré cuál se ajusta más a mis especificaciones. Gracias por las ideas.


Bueno, yo tambien habia pensado en carray :). De todas maneras, el 
carray lo tengo medio abandonado porque basicamente lo hemos integrado 
como un subpaquete en el proyecto Blaze (blaze.pydata.org). El 
subpaquete se llama BLZ (blaze.blz), y se trata basicamente de carray, 
aunque con algunos retoques y mejoras. El manual de BLZ no lo 
encontraras en la web de Blaze ya que esta pensado para no ser visible 
directamente por el usuario final, sino mas bien como una forma de 
almacenaje mas de Blaze. Pero basicamente se puede tomar el manual de 
carray y reemplazando `carray` por `barray` y `ctable` por `btable` mas 
o menos todo deberia funcionar tal cual.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Llamada a charlas en la PyConEs?

2013-09-16 Por tema Francesc Alted
Hola,

Alguien de la organización que lea esta lista sabe si la fecha límite para
hacer una charla en al próxima PyConEs se va a prorrogar?  Nosotros
queríamos enviar algo, pero parece que el plazo acabó ayer :(


-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Llamada a charlas en la PyConEs?

2013-09-16 Por tema Francesc Alted
Bueno, pues nos quedamos fuera :P  A ver si otra vez nos damos más prisa :)

Francesc


2013/9/16 Yamila Moreno Suárez yamila...@gmail.com

 Hola Francesc, te comento que desde la organización no contemplamos
 prorrogar el plazo.

 Un saludo,
 Yamila (Equipo Organizador PyConES 2013)


 2013/9/16 Francesc Alted fal...@gmail.com

 Hola,

 Alguien de la organización que lea esta lista sabe si la fecha límite
 para hacer una charla en al próxima PyConEs se va a prorrogar?  Nosotros
 queríamos enviar algo, pero parece que el plazo acabó ayer :(


 --
 Francesc Alted

 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/




 --
 Yamila  Moreno Suárez
 http://dendarii.wordpress.com
 http://moduslaborandi.net




-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Entrevista a GvR

2013-08-27 Por tema Francesc Alted
2013/8/27 Chema Cortes pych...@gmail.com

 2013/8/26 Hernán M. F. hfoff...@gmail.com:
  En slashdot.
 
 http://developers.slashdot.org/firehose.pl?op=viewtype=storysid=13/08/25/2115204

 No parece que haya mucha novedad. Sigue renegando de la programación
 funcional, a pesar de reconocer sus ventajas, y sigue con CPython como
 la implementación locomotora para el desarrollo del lenguaje.


Bueno, es que el sentido común no es algo que se tenga que cambiar todos
los dias.



 Al menos ya nombra scala, aunque sea para menospreciarlo como algo
 sólo para listos. Esperaré otro año más a ver si cambia la cosa.


Curiosamente, la gente más inteligente que conozco son unos enamorados de
los lenguajes funcionales (aunque la mayoría no pueda ganarse la vida con
ellos, claro).  Yo, sinceramente, me considero mucho más imperativo, y
espero que la opinión de GvR no cambie mucho al respecto ;)

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [SciPy 2013] Periodo para presentar candidaturas a tutoriales abierto

2013-03-05 Por tema Francesc Alted
Se ha abierto oficialmente el plazo para presentar candidaturas a 
enseñar tutoriales en el proximo SciPy 2013 en Austin, Texas. Recordad 
que hay un estipendio de entre $750 y $1000 para los tutores que puede 
ayudar a compensar los gastos de desplazamiento. Mas info en:


http://conference.scipy.org/scipy2013/tutorial_overview.php

Animo y suerte!

--
Francesc Alted
Tutorial co-chair SciPy 2013

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Oferta de trabajo Programador Python y PHP

2013-02-26 Por tema Francesc Alted

On 2/26/13 3:44 AM, J. Javier Maestro wrote:
2013/2/25 Martin Maqueira martinmaque...@gmail.com 
mailto:martinmaque...@gmail.com



  Buenos Dias a todos,


 Queria extender una oferta de trabajo que detallo abajo. El rango
salarial es de 24.000 a 30.000 brutos anuales.

Si os interesa podeis mandarme curriculum al email.

Gracias y saludos


Martin Maqueira


  Programador PYTHON y PHP / ERP (barcelona)

Buscamos un *Ingeniero en Informática* / *Analista de Sistemas
titulado *con experiencia en desarrollo WEB y ERP. Necesitamos
alguien con iniciativa y capacidad de adaptación a entornos
cambiantes y dinámicos.

Sus tareas serán desarrollar un ERP desde cero y algunas
funcionalidades web integradas con el CMS. Luego se dedicará a
labores de mantenimiento , optimización , desarrollos de nuevas
funcionalidad e integración con distintos sistemas.

Para esto*requerimos experiencia en Programación en Python y PHP
con frameworks MVC* (Zend o u otro) , Wordpress, MySql , Python .
Ofrecemos un buen ambiente de trabajo.

Experiencia mínima: (excluyente)

(Por favor , ABSTENERSE si no se cumplen rigurosamente estos
requisitos ya que desestimaremos automaticamente las candidaturas).


Habría que empezar a pedir Salarios mínimos y POR FAVOR ABSTENERSE 
DE MANDAR OFERTAS ABSURDAS. Sobre todo, si no se dice para qué empresa 
es (porque así, al menos, apunto la empresa a mi lista de favoritas XXD)



24K-30K por una persona con titulación, 8 años de experiencia 
combinada, unos 5 reales (pongamos, 2 de Python, 2 de PHP y 1 de 
HTML/CSS/JS, etc), y encima full-stack (Frontend + Backend)? Y, por si 
además la persona pudiera, tener experiencia en Wordpress, 
administración de sistemas LAMP... para que haga horas extra 
administrando la infraestructura?


Pero... estamos de coña?  o.0

Y, por curiosidad, un manager normal de la empresa, con, pongamos, 
unos 6-7 años de experiencia... cuánto cobra? Mmmm... veamos, así a 
ojo, yo digo que unos 40-45K. No sé, me gustaría equivocarme.


jj: Esta es una lista de Python, y las ofertas de trabajo relacionadas 
con este lenguaje son bienvenidas.  Ademas, en un sistema de libre 
mercado como el que estamos, cada uno es libre de enviar las ofertas que 
crea oportunas, asi como cada cual es libre de aceptarlas o no.


Y si crees que la oferta es una OFERTA ABSURDA, agradeceriamos que al 
menos expreses tus opiniones de manera mas educada.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Muy importante para salvar la marca Python en Europa

2013-02-15 Por tema Francesc Alted

On 2/15/13 12:15 PM, Oswaldo wrote:

El 15/02/2013 11:08, José Luis Redrejo escribió:

Ya sé que esta lista es en español, pero seguro que muchos de vosotros
entendeis esta información y su importancia:


http://pyfound.blogspot.ca/2013/02/python-trademark-at-risk-in-europe-we.html 



Por si alguno está en una empresa con oportunidad de echar una mano.




Ya tardaban mucho en aparecer los listos. En la pagina de la oami se 
puede comprobar que hay una solicitud de marca para, entre otras 
cosas, diseño de software y web hosting.


Una de las cosas que piden es escribir una carta explicando como 
utilizamos ptython y que solo reconocemos esta marca como originaria 
de la Python Software Fundation.


En mi empresa no tenemos incoveniente en realizarla, pero seria 
conveniente que creáramos un modelo para seguir todos la misma pauta.


¿Que opinais?




Si, estaria muy bien.  Intentare tener algun modelo para hoy (aunque si 
alguien me gana, pues mejor :)


--
Francesc Alted
Continuum Iberica

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Charlas y tutoriales para PyData 2013 disponibles

2013-02-06 Por tema Francesc Alted

On 2/6/13 1:04 PM, Daπid wrote:

2013/2/5 Kiko kikocorre...@gmail.com:

Jajaja lo siento Francesc, me ha hecho gracia la parte de «a ver si os
animáis». ¡Mi bolsillo no me permite todavía volar 6000 kilómetros, asistir
a la conferencia y dormir bajo techo allí! :P

Tienen una pinta extraordinaria, me tendré que conformar con los vídeos :)

+1.

La solución es fácil, en dos pasos:

1) Hacernos asquerosamente ricos.
2) Ir al PyData.


Bueno, no creo que 1) sea estrictamente necesaria. Seguro que hay mucha 
gente que lee esta lista que está bastante más cerca de Santa Clara que 
desde España. Después, para los que trabajan en empresas, está la 
oportunidad de formación y de negocio que supone acudir al PyData.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Charlas y tutoriales para PyData 2013 disponibles

2013-02-05 Por tema Francesc Alted
Pues como dice el asunto, ya son oficiales las charlas y tutoriales para 
la próxima conferencia PyData 2013 que se celebrará el 18, 19 y 20 de 
Marzo (justo después del PyCon) en Santa Clara, California:


http://pydata.org/sv2013/schedule/

Esperamos que sea de vuestro agrado, y a ver si os animais!

--
Francesc Alted
Continuum Analytics

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Mini Symposiums para SciPy 2013

2013-01-23 Por tema Francesc Alted

Hola,

Para el siguiente SciPy 2013 (Austin, Texas) estamos sondeando al 
personal sobre los temas que les gustaria que se trataran en profundidad 
dentro de lo que llamamos mini-simposiums.  Por ejemplo, el año pasado 
se celebraron los siguientes: Astronomia/Astrofisica, Bio-informatica, 
Meteorologia, y Geofisica.


Por favor, los interesados, pasaros por:

http://www.surveygizmo.com/s3/1114631/SciPy-2013-Themes

y votar a vuestros preferidos.

Gracias!

--
Francesc Alted
Tutorial co-chair for SciPy 2013

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Python y Julia para LLVM

2013-01-17 Por tema Francesc Alted

On 1/17/13 11:45 AM, Chema Cortes wrote:

El día 16 de enero de 2013 17:29, Francesc Alted fal...@gmail.com escribió:

On 1/16/13 4:34 PM, Jaime Perea wrote:


Cuando habláis de computación distribuida, ¿se refieres a python en
entornos,
digamos, mpi o sólo en memoria compartida?.

No sé lo que piensa Chema en particular, pero para nosotros (Continuum), los
dos.

Bajo el paraguas de computación distribuida caben muchas cosas. Si
importa la escabilidad, entonces se deben evitar los sistemas de
memoria compartida. Pero hay más opciones que MPI como, por ejemplo,
los sistemas que implementan el modelo Actor como hacen la librería
Akka[1] (scala/java) y su imitación en python, Pykka[2], basada en
gevents[3].


En efecto, caben muchas cosas (no conocía los paquetes que mencionas, 
pero son interesantes).  Un sistema de ficheros distribuido en el fondo 
es otra manera de comunicar datos entre diferentes nodos.  Todo depende 
de lo que se quiera hacer.  Por ejemplo, para hacer cálculos que 
requieran mucho trasiego de datos hay pocas cosas mejores que un 
paradigma de multihilos accediendo a la misma area de memoria (por 
ejemplo, coprocesadores como GPUs o Intel Xeon Phi funcionan así).  
Incluso sistemas con memoria compartida usando procesadores con 
arquitectura Intel tradicional se pueden llegar a configuraciones 
bastante potentes con 40 cores físicos y 750 GB de RAM (que ya está bien).


Para cosas que requieren mas memoria hay que ir a sistemas distribuidos, 
y aquí MPI ahora mismo es el rey, ya que existen versiones optimizadas 
que permiter aprovechar al máximo el hardware de comunicaciones (por 
ejemplo, Infiniband).


Entre estos extremos existe efectivamente un conjunto de soluciones 
realmente grande.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Python y Julia para LLVM

2013-01-17 Por tema Francesc Alted

On 1/17/13 10:49 AM, Chema Cortes wrote:

El día 16 de enero de 2013 17:17, Francesc Alted fal...@gmail.com escribió:


Así que el tema de computación distribuida está definitavmente en nuestro
radar.  En particular, y dado lo caro que es el transporte de datos, y como
se lee arriba, nuestro objetivo es llevar el código donde están los datos, y
no al revés.  Ahí es donde Numba (y LLVM) van a ser realmente importantes.

Excelente enfoque. Suena a nuevo paradigma en el tratamiento de datos.


Es lo que se intenta, si.  Travis Oliphant (nuestro CEO y creador de 
NumPy) tiene las ideas muy claras, y, a veces, inspiraciones tremendas.  
La verdad es que trabajar junto a el es un privilegio. Ahora queda por 
ver si podemos realizar todo lo que pasa por su mente, que no es poco :)


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Python y Julia para LLVM

2013-01-16 Por tema Francesc Alted

On 1/16/13 10:38 AM, Chema Cortes wrote:

Hasta hoy, desconocía totalmente la infraestructura LLVM[1] como
soporte en la creación de compiladores (estáticos o dinámicos). Estoy
viendo que con él se están implementando bastantes lenguajes de
programación y librerías (sobre todo de cálculo).

Me preguntaba si álguien conoce algo LLVM como para comentar sus
virtudes en la implementación de lenguajes como Julia[2] (similar a
python, orientado al cálculo numérico) o como target de PyPy.
Entiendo que no es una máquina virtual, a pesar de lo que pueda
parecer su acrónimo, pero me interesaría saber en particular qué tal
se lleva esta infraestructura con el multiproceso y la escalabilidad,
como en el caso de la computación paralela distribuída que posee
Julia.


Yo no puedo opinar mucho de la interacción de LLVM con Julia por que no 
lo conozco demasiado, pero sí que puedo decir que en Continuum estamos 
poniendo a punto Numba (https://github.com/numba/numba), un compilador 
al vuelo (JIT) que traduce código Python al lenguaje intermedio (IR) que 
usa LLVM internamente.  LLVM, a su vez, compila el IR a código nativo 
(que depende de la platforma) y lo ejecuta (o lo puede guardar en un 
fichero binario, esto ya depende de la aplicación).


Numba permite, mediante decoradores y anotaciones de tipo, hacer que 
funciones puras en Python (ahora mismo no se soporta todo el lenguaje, 
pero sí un subconjunto bastante amplio) puedan correr a velocidad de C 
puro, y lo que es mejor, de manera completamente interactiva (la 
compilación al vuelo es realmente rápida).  Numba es completamente 
open-source, así que cualquiera puede contribuir al proyecto (de hecho 
alguien de esta lista ya menciona que han contribuido ya).


Pero no hay que llevarse a engaño: LLVM realmente no es una tecnología 
demasiado útil para PyPy, ya que éste último viene con su propio 
compilador JIT, asi no se complementan demasiado bien.  En Continuum 
claramente hemos apostado más por LLVM (via Numba) que por la vía PyPy.  
La ventaja de Numba es que no se tiene por qué renunciar a librerias que 
son extensiones (el proyecto de migración de NumPy a PyPy está siendo 
lento y plagado de trampas, y ya somos muchos los que dudamos de que se 
pueda llevar a cabo de una manera completa).  Numba permite compilar de 
manera selectiva la parte de código Python que es un cuello de botella, 
respetando toda la gama de librerias y extensiones que ya existen ahora 
mismo.


Por supuesto que Blaze (https://github.com/ContinuumIO/blaze), nuestro 
proyecto para reemplazar NumPy para problemas de Big Data, usará Numba 
como motor de cálculo de manera que el usuario no tenga que preocuparse 
de hacer extensiones para optimizar los cálculos, sino que éstos se 
efectuarán a velocidad de C (¡y sin arrays temporales!) directamente.  
Blaze es otro desarrollo open source, y aunque todavía está en su 
infancia, esperamos que de aquí a no mucho tiempo ya pueda ser posible 
hace cosas interesantes con él.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Python y Julia para LLVM

2013-01-16 Por tema Francesc Alted

On 1/16/13 4:06 PM, Chema Cortes wrote:

El día 16 de enero de 2013 15:17, Francesc Alted fal...@gmail.com escribió:


Yo no puedo opinar mucho de la interacción de LLVM con Julia por que no lo
conozco demasiado, pero sí que puedo decir que en Continuum estamos poniendo
a punto Numba (https://github.com/numba/numba), un compilador al vuelo (JIT)
que traduce código Python al lenguaje intermedio (IR) que usa LLVM
internamente.  LLVM, a su vez, compila el IR a código nativo (que depende de
la platforma) y lo ejecuta (o lo puede guardar en un fichero binario, esto
ya depende de la aplicación).

Numba permite, mediante decoradores y anotaciones de tipo, hacer que
funciones puras en Python (ahora mismo no se soporta todo el lenguaje, pero
sí un subconjunto bastante amplio) puedan correr a velocidad de C puro, y lo
que es mejor, de manera completamente interactiva (la compilación al vuelo
es realmente rápida).  Numba es completamente open-source, así que
cualquiera puede contribuir al proyecto (de hecho alguien de esta lista ya
menciona que han contribuido ya).

Creo que ya tengo claro cómo usáis LLVM en numba. Incluso veo que
permite la compilación estática además de JIT, lo que seguramente
tiene que dar resultados bastantes buenos.


Sí, pero cuando digo que el JIT de Numba es rápido, es porque lo es, y 
mucho.  Por ejemplo, en la transparencia 36 y 37 de esta presentación:


https://python.g-node.org/wiki/_media/starving_cpu/starving-cpu.pdf

se puede ver que el tiempo de compilación para el código es de unos 20 
ms, que normalmente es despreciable para rutinas que suelen ser el 
cuello de botella de cálculos complicados.


Tenía interés en saber si LLVM facilitaba la concurrencia y el cómputo
distribuido. Por lo que veo, Julia tiene estas facilidades, pero debe
ser cosecha propia. También estoy viendo proyectos para portar otros
lenguajes como scala o C# a LLVM, por lo que parece que esta
plataforma empieza a tomar auge y, tal vez, lleguemos a librarnos de
JVM y .Net.


Pero no hay que llevarse a engaño: LLVM realmente no es una tecnología
demasiado útil para PyPy, ya que éste último viene con su propio compilador
JIT, asi no se complementan demasiado bien.  En Continuum claramente hemos
apostado más por LLVM (via Numba) que por la vía PyPy.  La ventaja de Numba
es que no se tiene por qué renunciar a librerias que son extensiones (el
proyecto de migración de NumPy a PyPy está siendo lento y plagado de
trampas, y ya somos muchos los que dudamos de que se pueda llevar a cabo de
una manera completa).  Numba permite compilar de manera selectiva la parte
de código Python que es un cuello de botella, respetando toda la gama de
librerias y extensiones que ya existen ahora mismo.

Por supuesto que Blaze (https://github.com/ContinuumIO/blaze), nuestro
proyecto para reemplazar NumPy para problemas de Big Data, usará Numba como
motor de cálculo de manera que el usuario no tenga que preocuparse de hacer
extensiones para optimizar los cálculos, sino que éstos se efectuarán a
velocidad de C (¡y sin arrays temporales!) directamente.  Blaze es otro
desarrollo open source, y aunque todavía está en su infancia, esperamos que
de aquí a no mucho tiempo ya pueda ser posible hace cosas interesantes con
él.

No conocía Blaze. Le echaré un vistazo. Ya solo os falta un proyecto
para computación distribuída ;-)


Bueno, ese el espíritu de Blaze, que nos valga para computación 
distribuida.  En http://blaze.pydata.org/vision.html se puede leer:



Just as NumPy is the center of an ecosystem of singe-node, in-memory 
tools that use the NumPy array as a common shared abstraction around a 
single pointer to memory, Blaze is the center of an ecosystem of 
multiple-node, multiple-segment, and multiple calculation-unit 
algorithms and programs. The common meme in effective use of Blaze is 
that developers should think about their data and the operations that 
should be done on their data in an array-oriented fashion, and that code 
should be moved to data as much as possible.



Así que el tema de computación distribuida está definitavmente en 
nuestro radar.  En particular, y dado lo caro que es el transporte de 
datos, y como se lee arriba, nuestro objetivo es llevar el código donde 
están los datos, y no al revés.  Ahí es donde Numba (y LLVM) van a ser 
realmente importantes.


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Python y Julia para LLVM

2013-01-16 Por tema Francesc Alted

On 1/16/13 4:34 PM, Jaime Perea wrote:

On Miércoles, 16 de enero de 2013 16:06:29 Chema Cortes escribió:

El día 16 de enero de 2013 15:17, Francesc Alted fal...@gmail.com

escribió:

Yo no puedo opinar mucho de la interacción de LLVM con Julia por que no lo
conozco demasiado, pero sí que puedo decir que en Continuum estamos
poniendo a punto Numba (https://github.com/numba/numba), un compilador al
vuelo (JIT) que traduce código Python al lenguaje intermedio (IR) que usa
LLVM internamente.  LLVM, a su vez, compila el IR a código nativo (que
depende de la platforma) y lo ejecuta (o lo puede guardar en un fichero
binario, esto ya depende de la aplicación).

Numba permite, mediante decoradores y anotaciones de tipo, hacer que
funciones puras en Python (ahora mismo no se soporta todo el lenguaje,
pero
sí un subconjunto bastante amplio) puedan correr a velocidad de C puro, y
lo que es mejor, de manera completamente interactiva (la compilación al
vuelo es realmente rápida).  Numba es completamente open-source, así que
cualquiera puede contribuir al proyecto (de hecho alguien de esta lista
ya menciona que han contribuido ya).

Creo que ya tengo claro cómo usáis LLVM en numba. Incluso veo que
permite la compilación estática además de JIT, lo que seguramente
tiene que dar resultados bastantes buenos.

Tenía interés en saber si LLVM facilitaba la concurrencia y el cómputo
distribuido. Por lo que veo, Julia tiene estas facilidades, pero debe
ser cosecha propia. También estoy viendo proyectos para portar otros
lenguajes como scala o C# a LLVM, por lo que parece que esta
plataforma empieza a tomar auge y, tal vez, lleguemos a librarnos de
JVM y .Net.


Pero no hay que llevarse a engaño: LLVM realmente no es una tecnología
demasiado útil para PyPy, ya que éste último viene con su propio
compilador
JIT, asi no se complementan demasiado bien.  En Continuum claramente hemos
apostado más por LLVM (via Numba) que por la vía PyPy.  La ventaja de
Numba
es que no se tiene por qué renunciar a librerias que son extensiones (el
proyecto de migración de NumPy a PyPy está siendo lento y plagado de
trampas, y ya somos muchos los que dudamos de que se pueda llevar a cabo
de
una manera completa).  Numba permite compilar de manera selectiva la parte
de código Python que es un cuello de botella, respetando toda la gama de
librerias y extensiones que ya existen ahora mismo.

Por supuesto que Blaze (https://github.com/ContinuumIO/blaze), nuestro
proyecto para reemplazar NumPy para problemas de Big Data, usará Numba
como
motor de cálculo de manera que el usuario no tenga que preocuparse de
hacer
extensiones para optimizar los cálculos, sino que éstos se efectuarán a
velocidad de C (¡y sin arrays temporales!) directamente.  Blaze es otro
desarrollo open source, y aunque todavía está en su infancia, esperamos
que
de aquí a no mucho tiempo ya pueda ser posible hace cosas interesantes con
él.

No conocía Blaze. Le echaré un vistazo. Ya solo os falta un proyecto
para computación distribuída ;-)

Hola

Unas preguntas técnicas de un ignorante:

Cuando habláis de computación distribuida, ¿se refieres a python en entornos,
digamos, mpi o sólo en memoria compartida?.


No sé lo que piensa Chema en particular, pero para nosotros (Continuum), 
los dos.




El problema que le veo siempre a esta historia es que si quieres mover datos
sin tener que ir a tcp/ip, por ejemplo moviendo cosas en infiniband, no te
quedan muchas más opciones que mpi... o inventarte algo como protocolo de
comunicaciones. ¿Sabéis como lo gestiona esto julia?.


Yo no tengo ni idea de como lo gestiona Julia.  Pero como he dicho 
antes, el espíritu de Blaze es distribuir los datos entre diferentes 
nodos y después intentar mapear el código donde están los datos con el 
fin de minimizar su transporte (el map-reduce funciona de manera 
parecida).  En los casos donde este mapeo no pueda ser exacto los datos 
se tendran que transportar.  El tipo de transporte que se usará todavia 
está por decidir, pero Disco (http://discoproject.org/), y en 
particular, su filesystem distribuido tiene muchas papeletas para ser el 
vehiculo elegido (pero es cierto que todavia contemplamos otras posibles 
soluciones).


  


Otra pregunta ¿como afecta la existencia del GIL a vuestros tipos de
optimizaciones?


El GIL sólo afecta a código que corre en la máquina virtual de Python, 
asi que el código emitido por LLVM no está sujeto a tales 
restricciones.  En particular, nuestro objectivo es poder usar de manera 
efectiva no sólo los diferentes cores de la CPU de manera simultánea, 
sino también las posibles GPUs del sistema.


  


Poder programar number-crunching en python es un sueño para gente como yo :-)


Bueno, para tí y para mucha gente ;)

--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Fwd: Queda inaugurada la lista Python España

2012-11-27 Por tema Francesc Alted

On 11/27/12 9:58 AM, Kiko wrote:



Dices que ésta lista de python-spain será el lugar para discutir sobre
la PyconES. ¿Quiere decir que la otra lista, la de Pycon España, ya
no se piensa usar? Más que nada, por evitar despistes.


  Python España: https://groups.google.com/d/forum/python-spain
  Pycon España: https://groups.google.com/d/forum/pycon-espana


La verdad es que hay unas cuantas listas, habría que empezar a eliminar:
https://groups.google.com/forum/?hl=esfromgroups#!forum/pycon-espana 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/pycon-espana
https://groups.google.com/forum/?hl=esfromgroups#!forum/asociacion-python-es 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/asociacion-python-es
https://groups.google.com/forum/?hl=esfromgroups#!forum/python-es-admin 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/python-es-admin


La primera que pongo, que también ha puesto Chema tiene varios años y 
no se ha vuelto a usar.
La segunda que pongo, se creó este año para coordinar el tema de la 
asociación y de la PyConEs.
La tercera que pongo es para administrar python-hispano.org 
http://python-hispano.org sobre lo que tendríamos que hablar en 
algún momento para ver qué hacer con ello (Óscar, Joe, Chema, Luis,... 
un hangout de 15mins?).


Luego está la lista de toda la vida que es para resolver las dudas de 
la comunidad hispana de python:

http://mail.python.org/mailman/listinfo/python-es

Y la nueva lista que se ha creado para organizar la PyConEs y los 
anuncios de los grupos territoriales en España, python Sevilla, python 
Madrid, python BCN,...

https://groups.google.com/d/forum/python-spain

O sea que sí, creo que estas dos sobran:
https://groups.google.com/forum/?hl=esfromgroups#!forum/pycon-espana 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/pycon-espana
https://groups.google.com/forum/?hl=esfromgroups#!forum/asociacion-python-es 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/asociacion-python-es


Y esta la podemos discutir:
https://groups.google.com/forum/?hl=esfromgroups#!forum/python-es-admin 
https://groups.google.com/forum/?hl=esfromgroups#%21forum/python-es-admin


Y quedarnos con la lista de siempre para las dudas
http://mail.python.org/mailman/listinfo/python-es

Y la lista nueva para temas locales de España:
https://groups.google.com/d/forum/python-spain


Pues no sabia que habian tantas listas.  Por lo que hablamos ayer, 
pensaba que ibamos a crear 'pycon-espana', pero supongo que 
'python-spain' puede servir igual (aunque la veo demasiado generica :P)


De todas maneras, insisto, no sera mejor user la pycon-espana para 
discutir temas de la PyConES?


--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Asociación y PyConEs

2012-11-20 Por tema Francesc Alted

On 11/20/12 10:10 AM, Kiko wrote:



El 20 de noviembre de 2012 09:53, Juan Luis Cano Rodríguez 
juanlu...@gmail.com mailto:juanlu...@gmail.com escribió:


Google hangout es una propuesta, puede ser skype, jabber,
gtalk, ... La que resulte más cómoda a todo el mundo.


Ah pero una cosa, ¿se supone que queremos hacer una suerte de
videoconversación o con que sea chat vale?

Si nadie tiene nada que objetar, se fija el lunes a las 20.30.


Si somos mucha gente, quizá se pueda hacer un chat, intentando seguir 
un orden del día para no eternizarlo y hablar sobre cosas concretas: 
diseño de la web, fechas, lugar, patrocinadores, estructura de las 
charlas (1h, tutoriales más largos, charlas relámpago,),... Luego 
el chat es fácil convertirlo en un log de la 'reunión'.


Yo preferiria una conversacion hablada (el video es un poco lo de 
menos).  Creo que hablando se va mas rapido y se puede captar mejor lo 
que quiere decir alguien, sin menos lugar a equivocos.


De todas manera, contad conmigo.  Y ya direis cual es el canal del 
comunicacion elegido.


-- Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Asociación y PyConEs

2012-11-15 Por tema Francesc Alted
Hola David, seras bienvenido. Si alguien mas esta por Madrid este find 
de semana y quiere hablar del tema de la PyConES, ademas de cualquier 
otra cosa relacionada con Python (y lo que no es Python), que nos envie 
un correo a mi o a Kiko y quedamos. Mi movil es el 661 156 576.


Hasta pronto!

Francesc

On 11/15/12 3:51 PM, Daπid wrote:

2012/11/15 Kiko kikocorre...@gmail.com mailto:kikocorre...@gmail.com

Por otra parte, Francesc (Alted), si quieres, te puedo invitar a
una (o varias) cerve(s) el finde para hablar sobre qué papel
podría tomar Continuum en el tema. Si crees que vas a tener tiempo
mándame un correo.


Por lo que había dicho en otro correo que a Continuum le interesaría, 
me gustaría estar en esa discusión. Avisadme, por favor.



___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Asociación y PyConEs

2012-11-14 Por tema Francesc Alted
 más
países, España se quedara atrás. A mí personalmente me entristecería.

Por último, me gustaría poner una nota de optimismo: ¡solo tenemos
que organizar la primera PyConEs una vez! El resto ya será todo
mucho más fácil, habremos aprendido de nuestros errores, muchísima
más gente nos conocerá y nos querrá ayudar y seguro que nos saldrá
mejor. Pero alguna vez tiene que ser la primera :) ¡Ánimo compañeros!

Perdonad por el email increíblemente largo, un abrazo a todos
desde la distancia y espero vuestras opiniones.

Juanlu

[1]:
https://groups.google.com/d/topic/python-madrid/lLFZ-omMSKU/discussion

[2]: http://ar.pycon.org/2012/venue/index
[3]: http://uy.pycon.org/es/acerca-de
[4]: http://ve.pycon.org/

[5]:

https://groups.google.com/d/topic/asociacion-python-es/euUdfRNhsvg/discussion

[6]: http://webs.uvigo.es/sage2012/




___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Conferencia BigData Spain 2012

2012-11-13 Por tema Francesc Alted

Hola,

Este próximo viernes 16 tendrá lugar en Madrid la conferencia Big Data 
Spain 2012.  En ella se hablará de muchas de las tecnologías 
relacionadas con el tratamiento de las grandes cantidades de información 
que podemos reunir hoy en dia.


Yo daré una charla sobre como diseñar aplicaciones con un acceso 
eficiente a la memoria, y basaré la mayor parte de mi intervención en 
cómo hacerlo desde Python.  En mi opinión, Python tiene un futuro 
brillante en este contexto y, en un mundo todavía dominado por 
aplicaciones C++ y Java, espero poder transmitir esa idea de manera 
convincente.


Si alguien de vosotros se presenta por allí (aunque creo que las 
entradas hace tiempo que se agotaron) me gustaría poder hablar sobre 
cómo usáis Python en vuestra vida diaria y sobre todo, de cómo 
impulsarlo aún más.


Un cordial saludo,

--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Conferencia BigData Spain 2012

2012-11-13 Por tema Francesc Alted
Uh, no creo que se pueda conseguir sitio fácilmente, pero yo voy a estar 
por Madrid el fin de semana después de la conferencia, así que, si os 
interesa, podemos quedar y hablar del tema (con unas cañas de por medio 
mejor :).


Enviame un mensaje personal si estás interesado,

Francesc

On 11/13/12 10:46 AM, Manuel Ignacio Franco Galeano wrote:
Hola, unos compañeros de trabajo y yo queremos ir, pero estamos en 
lista de espera desde hace un mes, realmente nos vendría muy bien ir 
porque nuestra app en python no para de crecer, tenemos mas de 150 
millones de registros y necesitamos ideas de como escalar, sera 
posible conseguir sitio?


por si interesa la la app web de la que hablo es 
http://www.marca.com/social/



El 13 de noviembre de 2012 10:39, Francesc Alted 
franc...@continuum.io mailto:franc...@continuum.io escribió:


Hola,

Este próximo viernes 16 tendrá lugar en Madrid la conferencia Big
Data Spain 2012.  En ella se hablará de muchas de las tecnologías
relacionadas con el tratamiento de las grandes cantidades de
información que podemos reunir hoy en dia.

Yo daré una charla sobre como diseñar aplicaciones con un acceso
eficiente a la memoria, y basaré la mayor parte de mi intervención
en cómo hacerlo desde Python.  En mi opinión, Python tiene un
futuro brillante en este contexto y, en un mundo todavía dominado
por aplicaciones C++ y Java, espero poder transmitir esa idea de
manera convincente.

Si alguien de vosotros se presenta por allí (aunque creo que las
entradas hace tiempo que se agotaron) me gustaría poder hablar
sobre cómo usáis Python en vuestra vida diaria y sobre todo, de
cómo impulsarlo aún más.

Un cordial saludo,

-- 
Francesc Alted


___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/




___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Conferencia BigData Spain 2012

2012-11-13 Por tema Francesc Alted
Bueno, respecto a la PyConEs seguro que Continuum Iberica (la rama 
española de Continuum Analytics) estaría encantada de ayudar en la 
organización del evento de una manera u otra.  No sé, lo mismo podriamos 
hablar en persona ya que estoy por ahi el fin de semana.


Saludos,

Francesc

On 11/13/12 11:06 AM, Juan Luis Cano Rodríguez wrote:

Hola,

Yo me temo que no estaré por allí, pero ojalá tengamos noticias cuando 
acabe de cómo ha ido porque tiene muy buena pinta. Admiro mucho lo que 
estáis trabajando en Continuum sobre Python para aplicaciones de este 
nivel.


En otro orden de cosas, no quiero desviarme mucho del propósito 
original de tu mensaje, pero aprovechando la coyuntura ¿alguien puede 
hablar con la ETSIT o los organizadores sobre una eventual PyConEs?


Un saludo,

Juan Luis Cano


2012/11/13 Francesc Alted franc...@continuum.io 
mailto:franc...@continuum.io


Hola,

Este próximo viernes 16 tendrá lugar en Madrid la conferencia Big
Data Spain 2012.  En ella se hablará de muchas de las tecnologías
relacionadas con el tratamiento de las grandes cantidades de
información que podemos reunir hoy en dia.

Yo daré una charla sobre como diseñar aplicaciones con un acceso
eficiente a la memoria, y basaré la mayor parte de mi intervención
en cómo hacerlo desde Python.  En mi opinión, Python tiene un
futuro brillante en este contexto y, en un mundo todavía dominado
por aplicaciones C++ y Java, espero poder transmitir esa idea de
manera convincente.

Si alguien de vosotros se presenta por allí (aunque creo que las
entradas hace tiempo que se agotaron) me gustaría poder hablar
sobre cómo usáis Python en vuestra vida diaria y sobre todo, de
cómo impulsarlo aún más.

Un cordial saludo,

-- 
Francesc Alted


___
Python-es mailing list
Python-es@python.org mailto:Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/




___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Francesc Alted

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Videos de la pycon-us 2012

2012-03-11 Por tema Francesc Alted
Si, hay muchas buenas.  Recomiendo especialmente la keynote de Paul Graham, 
creador de YCombinator, una empresa que se dedica a invertir en empresas de 
reciente creación.  Su charla es muy inspiradora para gente que anda buscando 
crearse su propia startup, y da unas cuantas ideas sobre como crear la próxima 
aplicacion-bomba (traducción de killer-app?).

Importante recalcar que este anyo ha habido unos 2500 participantes, y el 
interes por Python es muy evidente por parte de empresas grandes (como 
esponsors estaban monstruos como Google, Disney o JP Morgan).  También ha 
habido una 'job fair', donde las empresas interesadas en contratar gente tenían 
un tenderete donde la gente podía interesarse por el tipo de trabajo, 
condiciones, etc.  Y había unas cuantas…  Parece que ya se ha derribado 
definitivamente el mito de que Python no es un lenguaje corporativo (al menos 
en los US).

Los tutoriales también han sido un éxito (la mayoría con el aforo completo).  Y 
la sesión de pósters estaba llenita de ellos también, con gente hablando de 
todo tipo de proyectos con Python (por ejemplo, uno muy interesante de Diesel, 
una aplicación para escribir aplicaciones de red: http://diesel.io/).  Yo 
estaba mirando el póster, cuando llego Guido y empezó a acribillarles a 
preguntas :)

Un resumen, que Python y su comunidad gozan de muy buena salud, lo cual es una 
excelente noticia para todos nosotros!

Francesc


On Mar 11, 2012, at 12:11 PM, Kiko wrote:

 Por si a alguien le interesa:
 
 http://pyvideo.org/category/17/pycon-us-2012
 
 Hay unos cuantas horas de video que voy a tener que ver.
 
 Saludos.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

-- Francesc Alted






___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Almacenado de datos

2012-03-07 Por tema Francesc Alted
On Mar 6, 2012, at 11:03 PM, Kiko wrote:

 
 
 El 7 de marzo de 2012 00:30, Francesc Alted fal...@pytables.org escribió:
 On Mar 6, 2012, at 2:21 PM, Kiko wrote:
  El 6 de marzo de 2012 22:55, Daπid davidmen...@gmail.com escribió:
  2012/3/6 Inigo Aldazabal Mensa inigo_aldaza...@ehu.es:
   a. La verdad es que estuve en un tutorial de pytables
   y me pareció muy interesante, pero pensé que su principal utilidad era
   para cosas grandes
 
  Tienen mucho esfuerzo puesto en ello, parece su principal orientación,
  pero si quieres hacer fácil lo complicado, acabas haciendo muy fácil
  lo elemental. Lo que me gusta de Tables es que es una estructura muy
  intuitiva (tablas) y muy pythónica. Como bonus, se puede escalar
  mucho, pero eso ya no me interesa (todavía).
 
  Si la fusión de bases de datos se pusiera fea, se me ha ocurrido que
  las simulaciones pueden generar ASCII, y una vez teniendo todas,
  combinarlas en la BD. En cualquier caso, me paso por su lista a ver
  qué me dicen, porque en la documentación no he encontrado nada.
 
  Y para simplificar un poco el tema, ¿no te valdría netcdf [1]? PyTables 
  quizá sea para proyectos más gordos y para algo sencillo te pueda valer 
  usar solo netcdf, que vienen a ser algo parecido a HDF. PyTables trabaja 
  con HDF y permite hacer muchas cosas con datos en ese formato pero, como 
  comento, quizá sea para desarrollos grandes que hagan uno intensivo de 
  creación y lectura de datos. La librería que enlazo permite leer y escribir 
  netcdf de forma muy sencilla.
 
 Bueno, NetCDF4 necesita HDF5 para correr, así que la instalación en principio 
 es mas complicada, no?  Y después, supongo que hay cosas mas fáciles en una 
 librería que en otra y viceversa, pero no creo que haya muchas diferencias en 
 términos de usabilidad (pero puedo estar equivocado).  Pero sobretodo, donde 
 PyTables hace énfasis es en la manipulación de tablas, y es ahí donde creo 
 que puede aportar cosas que otros paquetes no pueden.
 
 -- Francesc Alted
 
 Obviamente, Francesc tiene más autoridad que yo para hablar de estos temas y 
 agradecería que corrigiera cualquier burrada que yo haya podido decir.
 Por otra parte, creo recordar que netcdf4 sí que hace uso de HDF5, pero 
 netcdf3 no.

Cierto, pero a no ser que tengas muchos datos en formato NetCDF3 no creo que 
valga la pena usar un formato para el que no van salir nuevas cosas.  NetCDF4 
es lo que se ha decidido para mejorar NetCDF3, y esta basado en HDF5.  Ademas, 
el netcdf4-python que recomendabas esta hecho para NetCDF4, no NetCDF3.

-- Francesc Alted






___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Almacenado de datos

2012-03-06 Por tema Francesc Alted
On Mar 6, 2012, at 2:21 PM, Kiko wrote:
 Si la fusión de bases de datos se pusiera fea, se me ha ocurrido que
 las simulaciones pueden generar ASCII, y una vez teniendo todas,
 combinarlas en la BD. En cualquier caso, me paso por su lista a ver
 qué me dicen, porque en la documentación no he encontrado nada.
 
 Y para simplificar un poco el tema, ¿no te valdría netcdf [1]? PyTables quizá 
 sea para proyectos más gordos y para algo sencillo te pueda valer usar solo 
 netcdf, que vienen a ser algo parecido a HDF. PyTables trabaja con HDF y 
 permite hacer muchas cosas con datos en ese formato pero, como comento, quizá 
 sea para desarrollos grandes que hagan uno intensivo de creación y lectura de 
 datos. La librería que enlazo permite leer y escribir netcdf de forma muy 
 sencilla.

Bueno, NetCDF4 necesita HDF5 para correr, así que la instalación en principio 
es mas complicada, no?  Y después, supongo que hay cosas mas fáciles en una 
librería que en otra y viceversa, pero no creo que haya muchas diferencias en 
términos de usabilidad (pero puedo estar equivocado). 

-- Francesc Alted






___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Almacenado de datos

2012-03-06 Por tema Francesc Alted
On Mar 6, 2012, at 2:21 PM, Kiko wrote:
 El 6 de marzo de 2012 22:55, Daπid davidmen...@gmail.com escribió:
 2012/3/6 Inigo Aldazabal Mensa inigo_aldaza...@ehu.es:
  a. La verdad es que estuve en un tutorial de pytables
  y me pareció muy interesante, pero pensé que su principal utilidad era
  para cosas grandes
 
 Tienen mucho esfuerzo puesto en ello, parece su principal orientación,
 pero si quieres hacer fácil lo complicado, acabas haciendo muy fácil
 lo elemental. Lo que me gusta de Tables es que es una estructura muy
 intuitiva (tablas) y muy pythónica. Como bonus, se puede escalar
 mucho, pero eso ya no me interesa (todavía).
 
 Si la fusión de bases de datos se pusiera fea, se me ha ocurrido que
 las simulaciones pueden generar ASCII, y una vez teniendo todas,
 combinarlas en la BD. En cualquier caso, me paso por su lista a ver
 qué me dicen, porque en la documentación no he encontrado nada.
 
 Y para simplificar un poco el tema, ¿no te valdría netcdf [1]? PyTables quizá 
 sea para proyectos más gordos y para algo sencillo te pueda valer usar solo 
 netcdf, que vienen a ser algo parecido a HDF. PyTables trabaja con HDF y 
 permite hacer muchas cosas con datos en ese formato pero, como comento, quizá 
 sea para desarrollos grandes que hagan uno intensivo de creación y lectura de 
 datos. La librería que enlazo permite leer y escribir netcdf de forma muy 
 sencilla.

Bueno, NetCDF4 necesita HDF5 para correr, así que la instalación en principio 
es mas complicada, no?  Y después, supongo que hay cosas mas fáciles en una 
librería que en otra y viceversa, pero no creo que haya muchas diferencias en 
términos de usabilidad (pero puedo estar equivocado).  Pero sobretodo, donde 
PyTables hace énfasis es en la manipulación de tablas, y es ahí donde creo que 
puede aportar cosas que otros paquetes no pueden.

-- Francesc Alted






___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [ANN] Día Python en al LSWC'11

2011-10-11 Por tema Francesc Alted
2011/10/11 Luis Miguel Morillas moril...@gmail.com:
 El día 8 de octubre de 2011 14:37, Chema Cortes pych...@gmail.com escribió:
 Sobre temas más puntuales, tenemos toda la documentación del curso que
 preparamos para este septiembre
 http://es.wikieducator.org/Curso_Python_DGA_2011

Muy interesante.  Otro curso del que se pueden sacar ideas es del G-Node:

https://python.g-node.org/wiki/schedule

pero puede que sea un poco demasiado avanzado (aunque el dia 0 es
bastante accesible).

 Se puede organizar
 algún taller si algún tema resulta más interesante.

Si, un taller siempre resulta muy atractivo para los usuarios
potenciales.  Además, precisamente uno de los puntos fuertes de Python
es que se pueden hacer demos interactivas muy potentes (sobretodo con
ipython combinado con matplotlib para gráficos chulos).

Suerte con la iniciativa!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] cosa rara con la función shape()

2011-05-11 Por tema Francesc Alted
2011/5/11 jOkAmE jok...@gmail.com

 Hola, lista.
 Buen día.

 Pues sucede que estoy trabajando haciendo unas convoluciones en
 imágenes. Además, estoy implementando la función para aplicar las
 convoluciones de tamaño arbitrario tanto en el filtro como en la
 imagen. Para esto, dentro de las varias funciones que utilizaré,
 implementé una que me define el tamaño resultante de la imagen después
 de ser convolucionada. La función es la siguiente:

 def tam_convo(filtro,imagen):
ii_i, jj_i = shape(imagen)
ii_f, jj_f = shape(filtro)

print type(imagen)
print type(filtro)
print shape(imagen), shape(filtro)
print ii_i, jj_i
print ii_f, jj_f
xx=(ii_i-ii_f)+1
yy=(jj_i-jj_f)+1
print xx
print yy
return xx, yy

 los print excesivos que se leen son para corroborar el funcionamiento
 raro, porque no me cuadra la salida de la función. Un ejemplo de la
 salida de esa función es lo siguiente:

 type 'numpy.ndarray'
 type 'numpy.ndarray'
 (60, 60) (9, 9)
 60 60
 9 9
 52
 52
 [[ 52.05549424  52.05549424]] - Aquí está lo extraño

 Creo que independientemente lo que haga la función, el resultado de
 las sumas y restas entre números enteros debe ser un entero. Además,
 la salida del último renglón no es siempre la misma, pero si
 hiciéramos un redondeo a esos números siempre serían 52 (para este
 caso).

[clip]

Si, eso es muy raro, ya que las operaciones de suma y multiplicación con
enteros siempre deberían dar enteros como resultado.  Puedes enviar un
programa auto-contenido que reproduzca el problema?  Y también las versiones
de Python y NumPy.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [ANN] Escuela de verano de programación científica avanzada en Python

2011-03-03 Por tema Francesc Alted
Hola,

Como ya viene siendo tradición, celebraremos una nueva edición del 
Advanced Scientific Programming in Python, esta vez en St. Andrews, 
Escocia, durante la segunda semana del Septiembre próximo.

El curso es gratuito, aunque el asistente ha de correr con los gastos 
del viaje y hospedaje.  Y aunque en el anuncio oficial se dice que se 
orienta a estudiantes de doctorado o post-docs, no es condición 
necesaria (como Ricardo Cárdenes puede atestiguar :).

El plazo de presentación de candidaturas acaba el 29 de Mayo de 2011, 
pero ya daré otro 'toque' cuando falte poco tiempo para que concluya el 
plazo, por si hay algún despistado.

Espero ver a algún colistero por allí!

Y ahora el anuncio oficial:


Advanced Scientific Programming in Python
=
a Summer School by the G-Node and the School of Psychology,
University of St Andrews

Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists actually use them. As a result, instead
of doing their research, they spend far too much time writing
deficient code and reinventing the wheel. In this course we will
present a selection of advanced programming techniques,
incorporating theoretical lectures and practical exercises tailored
to the needs of a programming scientist. New skills will be tested
in a real programming project: we will team up to develop an
entertaining scientific computer game.

We use the Python programming language for the entire course. Python
works as a simple programming language for beginners, but more
importantly, it also works great in scientific simulations and data
analysis. We show how clean language design, ease of extensibility,
and the great wealth of open source libraries for scientific
computing and data visualization are driving Python to become a
standard tool for the programming scientist.

This school is targeted at PhD students and Post-docs from all areas
of science. Competence in Python or in another language such as
Java, C/C++, MATLAB, or Mathematica is absolutely required. Basic
knowledge of Python is assumed. Participants without any prior
experience with Python should work through the proposed introductory
materials before the course.

Date and Location
=
September 11—16, 2011. St Andrews, UK.

Preliminary Program
===
Day 0 (Sun Sept 11) — Best Programming Practices
  - Agile development  Extreme Programming
  - Advanced Python: decorators, generators, context managers
  - Version control with git
Day 1 (Mon Sept 12) — Software Carpentry
  - Object-oriented programming  design patterns
  - Test-driven development, unit testing  quality assurance
  - Debugging, profiling and benchmarking techniques
  - Programming in teams
Day 2 (Tue Sept 13) — Scientific Tools for Python
  - Advanced NumPy
  - The Quest for Speed (intro): Interfacing to C with Cython
  - Best practices in data visualization
Day 3 (Wed Sept 14) — The Quest for Speed
  - Writing parallel applications in Python
  - Programming project
Day 4 (Thu Sept 15) — Efficient Memory Management
  - When parallelization does not help:
the starving CPUs problem
  - Data serialization: from pickle to databases
  - Programming project
Day 5 (Fri Sept 16) — Practical Software Development
  - Programming project
  - The Pac-Man Tournament

Every evening we will have the tutors' consultation hour: Tutors
will answer your questions and give suggestions for your own
projects.

Applications

You can apply on-line at http://python.g-node.org

Applications must be submitted before May 29, 2011. Notifications of
acceptance will be sent by June 19, 2011.

No fee is charged but participants should take care of travel,
living, and accommodation expenses.
Candidates will be selected on the basis of their profile. Places
are limited: acceptance rate in past editions was around 30%.
Prerequisites: You are supposed to know the basics of Python to
participate in the lectures. Please consult the website for a list
of introductory material.

Faculty
===
- Francesc Alted, author of PyTables, Castelló de la Plana, Spain
- Pietro Berkes, Volen Center for Complex Systems, Brandeis
  University, USA
- Valentin Haenel, Berlin Institute of Technology and Bernstein
  Center for Computational Neuroscience Berlin, Germany
- Zbigniew Jędrzejewski-Szmek, Faculty of Physics, University of
  Warsaw, Poland
- Eilif Muller, The Blue Brain Project, Ecole Polytechnique Fédérale
  de Lausanne, Switzerland
- Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno
  Kessler and University of Trento, Italy
- Rike-Benjamin Schuppner, Bernstein Center for Computational
  Neuroscience Berlin, Germany
- Bartosz Teleńczuk, Institute for Theoretical Biology,
  Humboldt-Universität zu Berlin, Germany
- Bastian Venthur, Berlin Institute of Technology and Bernstein
  Focus: Neurotechnology, Germany
- Pauli Virtanen

Re: [Python-es] [ANN] Escuela de verano de programación científica avanzada en Python

2011-03-03 Por tema Francesc Alted
A Thursday 03 March 2011 16:21:38 Inigo Aldazabal Mensa escrigué:
 ¡Hola Francesc!
 
 El Jueves, 3 de Marzo de 2011, Francesc Alted escribió:
 ...
 
  El curso es gratuito, aunque el asistente ha de correr con los
  gastos del viaje y hospedaje.  Y aunque en el anuncio oficial se
  dice que se orienta a estudiantes de doctorado o post-docs, no es
  condición necesaria (como Ricardo Cárdenes puede atestiguar :).
 
 mmm... parece mas avanzado que al que acudí. ¿Se puede repetir?

Bueno, siempre se queda bastante gente fuera durante el proceso de 
selección, así que no creo que se pueda repetir.  De todas maneras, el 
temario va a ser bastante parecido al que ofrecimos en Trento.

Saludos!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [Beca] Machine learning for Neuroimaging

2011-02-07 Por tema Francesc Alted
Hola,

Aunque el campo de trabajo sea muy específico, me han pedido que de 
máxima difusión a esto.

Se trata de una beca para una estancia de 8 meses para Trento (Italia).  
Yo he estado en la fundación Bruno Kessler (para nuestro último curso de 
programación avanzada) y la verdad es que me quedé impresionado, tanto 
por el nivel del personal, como de las instalaciones.

Puede ser una buena oportunidad para alguien que se sienta atraido por 
campo del machine learning y la Neurociencia (ya sabeis, dos 'hot-
topics' con enorme potencial de desarrollo).

Suerte!

---
INTERNSHIP GRANTS IN MACHINE LEARNING FOR NEUROIMAGING
The University of Trento and Fondazione Bruno Kessler assign 2
internship grants for carrying out research activity on machine
learning methodologies for neuroscientific data analysis. The
main goal is to investigate how machine learning approaches might
provide competitive advantages in cognitive neuroscience
investigations. The research effort focuses on two specific
tasks: brain decoding and brain mapping. The challenge is to
design effective computational methods for multivariate pattern
analysis. The internship program aims to provide a comprehensive
research experience that includes the design of a neuroimaging
data analysis, the implementation of the computational process,
the evaluation of the empirical results, the publishing of the
scientific report. PhD scholarships will be assigned to
proficient applicants to attend the ICT Doctoral School at the
University of Trento at the end of the internship program. The
internship program will take place at the Neuroinformatics
Laboratory located at the Center for Mind/Brain Sciences in
Trento, Italy. The duration of the internship is 8 months. The
beginning is scheduled for March 2011. The grant amount is 1350
euro per month.


YOUR PROFILE
This grant is intended for graduated students in computer science
with background in machine learning or related field covering
topic as pattern recognition and data mining.  Experience with
data analysis, preferably on fMRI, EEG or MEG data, is not
mandatory even though it would be beneficial. Furthermore,
experience in programming with Python and related tools for
scientific computing are highly recommended.


HOW TO APPLY
The application form has to be mailed to the Head of the
Department of Engineering and Information Science, University of
Trento, Italy. Detailed instructions are available at the
following addresses: http://disi.unitn.it/openings ,
http://static.digns.com/uploads/disi/openings/772/original/DD15.pdf
For additional information or help, please email to
paolo.aves...@unitn.it. Deadline for application is February
17th, 2011.


ABOUT NILAB
The Neuroinformatics Laboratory (NILab) rises as a collaboration
between Fondazione Bruno Kessler and the Center for Mind/Brain
Sciences in order to promote interdisciplinary research in
cognitive neuroscience. The scientific research activity covers
mostly the design and the development of novel models for the
integration, the analysis, and the interpretation of unimodal and
multimodal brain-imaging data.


LINKS
Neuroinformatics Laboratory - nilab.fbk.eu
Fondazione Bruno Kessler - www.fbk.eu
Department for Engineering and Information Science - www.disi.unitn.it
Center for Mind/Brain Sciences - www.cimec.unitn.it
Information and Communication Doctoral School - www.ict.unitn.it

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Dudas para la publicación (GPL) de una herramienta python de reporting

2010-12-16 Por tema Francesc Alted
A Thursday 16 December 2010 20:06:27 Luis Miguel Morillas escrigué:
  http://www.pytables.org/temporal/pdflistings-0.6.1.dev.tar.gz
 
 -- 403 Forbidden

Ups.  Arreglao.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Ofertas de trabajo

2010-11-15 Por tema Francesc Alted
Hola,

Me han pedido que de difusión a estas ofertas de trabajo.  El campo de 
aplicación es la Neurociencia, y como vereis, Python forma parte de los 
requisitos para algunas plazas.  Puedo asegurar que el Blue Brain 
Project es uno de los más punteros en su campo, así que si a alguien de 
por aquí le van los desafios, éste puede ser un buen sitio para él.

Saludos,

Francesc


I would like to draw you attention to the following new openings at
the Blue Brain Project:

Postdoc in Data-Driven Modeling in Neuroscience (100%)
http://jahia-prod.epfl.ch/site/emploi/page-48940-en.html

Software Developer on Massively Parallel Compute Architectures (100%)
http://jahia-prod.epfl.ch/site/emploi/page-48916-en.html

Scientific Visualization Engineer (%100)
http://jahia-prod.epfl.ch/site/emploi/page-48941-en.html

System Administrator (100%)
http://jahia-prod.epfl.ch/site/emploi/page-48939-en.html

I would appreciate if you could forward them to qualified persons who
might be interested.

Regards,

Eilif


-

Dr. Eilif Muller

BBP - EPFL 
Station 15, Building SG-AAB
CH-1015 Lausanne
Switzerland
Tel: ++41 21 693 0698
Fax: ++41 21 693 5350 
www: http://neuralensemble.org/people/eilifmuller
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duplicados en una lista

2010-10-19 Por tema Francesc Alted
A Tuesday 19 October 2010 13:28:38 Ricardo Cárdenes Medina escrigué:
 2010/10/19 lasizoillo lasizoi...@gmail.com
 
  El día 19 de octubre de 2010 03:37, Carlos Herrera Polo
  carlos.herrerap...@gmail.com escribió:
  
  
  
  La RAM de la maquina suena a limitación, pero si no te importa el
  rendimiento puedes aumentar el tamaño de swap y la ram es tan
  grande como lo sea el espacio en disco.
 
 Hay limitaciones prácticas al máximo teórico (RAM + swap), que
 depende de plataforma y arquitectura y la manera en que se asigna el
 espacio de direcciones virtuales. En Linux-32 bits, tal cual suele
 venir configurado, cada proceso tiene un máximo de 3GB en userland
 (off-topic: sí Francesc, lo he comprobado :P)

Reconozco que me resulta raro esto de los 3 GB, ya que siempre pensé que 
el límite para sistemas UNIX de 32-bit era de 2 GB.  En fin, supongo que 
eran prejuicios que tenía.

De todas maneras, parece que activando PAE (Physical Address Extension) 
en el kernel se pueden direccionar incluso más de 4 GB (pero supongo que 
el límite direccionable por un sólo proceso continúa siendo de 3 GB).

Saludos!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Opinión de la lista Python, sobre mi propuesta de Logo para el Ares-Python.

2010-10-18 Por tema Francesc Alted
Hola a todos,

Soy uno de los administradores de la lista, y personalmente creo que 
este mensaje está claramente fuera del ámbito de los temas de python-es.  

Si alguien quiere opiniones sobre logos, lo mejor sería que buscara una 
lista de diseño de imagen, o que se creara una propia para discusiones 
sobre ese proyecto en concreto.

Saludos,

A Saturday 16 October 2010 23:26:20 TurriTelefonica escrigué:
   Hola amigos.
 Me gustaría saber la opinión maoritaria, de todos los usuarios de
 Python, sobre mi propuesta de logo.
 Gracias por todas vuestras opiniones.
 Saludos cordiales.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Asignación de memoria dinámica (malloc/free) en Python

2010-09-29 Por tema Francesc Alted
A Wednesday 29 September 2010 14:30:07 Angel Guzman Maeso escrigué:
 El 29 de septiembre de 2010 12:41, Santi Saez santis...@woop.es 
escribió:
  rre que puede estar pasando o como podría hacer debug? strace no
  está
  
  aportando mucha información:
 (..)
 write(1, 1 MB\n, 51 MB)   = 5
 --- SIGSEGV (
 
 Hola Santi,
 
 Lo siguiente es solo una teoría, puede incluso que sea algo
 equivocado, pero, podría ser que estuvieras cogiendo libc.so.6 de
 lib64/ en vez de lib32?
 
 No se exactamente si al hacer libc = CDLL('libc.so.6') coja la de 32
 bits por estar en path de forma prefente.
 
 Quizás poniendo la ruta completa a la biblioteca no te problemas
 (como digo es solo una suposición).

Si, probablemente es eso lo que le pasa a Angel.  De todas maneras, usar 
el malloc 'a pelo' no hace falta.  Mejor usa algo más independiente de 
platforma, como `ctypes.create_string_buffer`:

 ctypes.create_string_buffer(int(3e6))
ctypes.c_char_Array_300 object at 0xdf1dd0

 ctypes.create_string_buffer(int(3e10))
---
MemoryError   Traceback (most recent call 
last)

/tmp/serialization/ipython console in module()

/usr/local/lib/python2.6/ctypes/__init__.pyc in 
create_string_buffer(init, size)
 64 elif isinstance(init, (int, long)):
 65 buftype = c_char * init
--- 66 buf = buftype()
 67 return buf
 68 raise TypeError(init)

MemoryError: 

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [ANN] Recordatorio: Escuela de Oto ño Advanced Scientific Programming in Python en Trento, Italia

2010-08-31 Por tema Francesc Alted
Hola,

Para aquellos que a lo mejor se han despistado, hoy es el último dia para 
presentar candidaturas para un excelente curso en programación avanzada de 
Python para usos científicos.

Si te interesa, aún estás a tiempo!

Francesc

---

Reminder: Application deadline is August 31st, 2010!
===

Advanced Scientific Programming in Python
=

an Autumn School by the G-Node, the Center for Mind/Brain Sciences
and the Fondazione Bruno Kessler

Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists actually use them. As a result, instead
of doing their research, they spend far too much time writing
deficient code and reinventing the wheel. In this course we will
present a selection of advanced programming techniques with
theoretical lectures and practical exercises tailored to the needs
of a programming scientist. New skills will be tested in a real
programming project: we will team up to develop an entertaining
scientific computer game.

We'll use the Python programming language for the entire course.
Python works as a simple programming language for beginners, but
more importantly, it also works great in scientific simulations and
data analysis. Clean language design and easy extensibility are
driving Python to become a standard tool for scientific computing.
Some of the most useful open source libraries for scientific
computing and visualization will be presented.

This school is targeted at Post-docs and PhD students from all areas
of science. Competence in Python or in another language such as
Java, C/C++, MATLAB, or Mathematica is absolutely required. A basic
knowledge of the Python language is assumed. Participants without
prior experience with Python should work through the proposed
introductory materials.

Date and Location
=
October 4th—8th, 2010. Trento, Italy.

Preliminary Program
===
Day 0 (Mon Oct 4) — Software Carpentry  Advanced Python
  • Documenting code and using version control 
  • Object-oriented programming, design patterns, and agile programming 
  • Exception handling, lambdas, decorators, context managers, metaclasses
Day 1 (Tue Oct 5) — Software Carpentry 
  • Test-driven development, unit testing  Quality Assurance 
  • Debugging, profiling and benchmarking techniques 
  • Data serialization: from pickle to databases 
Day 2 (Wed Oct 6) — Scientific Tools for Python
  • Advanced NumPy 
  • The Quest for Speed (intro): Interfacing to C 
  • Programming project 
Day 3 (Thu Oct 7) — The Quest for Speed 
  • Writing parallel applications in Python 
  • When parallelization does not help: the starving CPUs problem 
  • Programming project 
Day 4 (Fri Oct 8) — Practical Software Development 
  • Efficient programming in teams 
  • Programming project 
  • The Pac-Man Tournament

Every evening we will have the tutors' consultation hour: Tutors
will answer your questions and give suggestions for your own projects 

Applications

You can apply on-line at http://www.g-node.org/python-autumnschool
Applications must be submitted before August 31st, 2010.
Notifications of acceptance will be sent by September 4th, 2010.
No fee is charged but participants should take care of travel, living,
and accommodation expenses. 
Candidates will be selected on the basis of their profile. 
Places are limited: acceptance rate in past editions was around 30%. 

Prerequisites
=
You are supposed to know the basics of Python to participate in 
the lectures! Look on the website for a list of introductory material.

Faculty
===
• Francesc Alted, author of PyTables, Castelló de la Plana, Spain 
• Pietro Berkes, Volen Center for Complex Systems, Brandeis
  University, USA 
• Valentin Haenel, Berlin Institute of Technology and Bernstein 
  Center for Computational Neuroscience Berlin, Germany
• Zbigniew Jędrzejewski-Szmek, Faculty of Physics, University of
  Warsaw, Poland 
• Eilif Muller, The Blue Brain Project, Ecole Polytechnique Fédérale
  de Lausanne, Switzerland
• Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno 
  Kessler and University of Trento, Italy
• Rike-Benjamin Schuppner, Bernstein Center for Computational 
  Neuroscience Berlin, Germany 
• Bartosz Teleńczuk, Institute for Theoretical Biology, 
  Humboldt-Universität zu Berlin, Germany
• Bastian Venthur, Berlin Institute of Technology and Bernstein Focus:
  Neurotechnology, Germany
• Stéfan van der Walt, Applied Mathematics, University of Stellenbosch,
  South Africa
• Tiziano Zito, Berlin Institute of Technology and Bernstein Center for
  Computational Neuroscience Berlin, Germany 
  
Organized by Paolo Avesani for the Center for Mind/Brain Sciences
and the Fondazione Bruno Kessler, and by Zbigniew Jędrzejewski-Szmek

Re: [Python-es] [ANN] Recordatorio: Escuela de O toño Advanced Scientific Programming in Python en Trento, Italia

2010-08-31 Por tema Francesc Alted
A Tuesday 31 August 2010 13:15:01 Ricardo Cárdenes Medina escrigué:
 2010/8/31 Francesc Alted fal...@pytables.org:
  Hola,
 
  Para aquellos que a lo mejor se han despistado, hoy es el último dia para
  presentar candidaturas para un excelente curso en programación avanzada
  de Python para usos científicos.
 
 Jum... Una pregunta Francesc. Veo que está orientado a post-docs y
 estudiantes de doctorado, pero, ¿es requisito? (sólo puedo presentar
 una Ing. Técnica como grado más alto obtenido - más mi matrícula en la
 UNED para la Ing.). Porque la verdad es que el curso está interesante.
 Más que nada como refresco y formalización, porque ya tengo bastante
 experiencia en Python y lo uso (NumPy/SciPy/PyFITS/etc) en el trabajo;
 pero siempre es bueno ir a estos eventos para reciclarse un poco...

Pues sí, es un requisito imprescindible ser post-doc.  Estos cursos están 
promovidos por entidades de investigación que usan fondos europeos para estos 
propósitos (i.e. formación de post-docs).

De todas maneras lo comentaré a ver si en el futuro se pueden 'relajar' las 
condiciones (yo no las veo demasiado justificadas, pero bueno...)

Saludos,

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [ANN] Recordatorio: Escuela de O toño Advanced Scientific Programming in Python en Trento, Italia

2010-08-31 Por tema Francesc Alted
A Tuesday 31 August 2010 13:38:40 Francesc Alted escrigué:
 A Tuesday 31 August 2010 13:15:01 Ricardo Cárdenes Medina escrigué:
  2010/8/31 Francesc Alted fal...@pytables.org:
   Hola,
  
   Para aquellos que a lo mejor se han despistado, hoy es el último dia
   para presentar candidaturas para un excelente curso en programación
   avanzada de Python para usos científicos.
 
  Jum... Una pregunta Francesc. Veo que está orientado a post-docs y
  estudiantes de doctorado, pero, ¿es requisito? (sólo puedo presentar
  una Ing. Técnica como grado más alto obtenido - más mi matrícula en la
  UNED para la Ing.). Porque la verdad es que el curso está interesante.
  Más que nada como refresco y formalización, porque ya tengo bastante
  experiencia en Python y lo uso (NumPy/SciPy/PyFITS/etc) en el trabajo;
  pero siempre es bueno ir a estos eventos para reciclarse un poco...
 
 Pues sí, es un requisito imprescindible ser post-doc.  Estos cursos están
 promovidos por entidades de investigación que usan fondos europeos para
  estos propósitos (i.e. formación de post-docs).
 
 De todas maneras lo comentaré a ver si en el futuro se pueden 'relajar' las
 condiciones (yo no las veo demasiado justificadas, pero bueno...)

Umm, veo que también aceptan doctorandos, aunque no creo que sea tu caso.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [ANN] Recordatorio: Escuela de O toño Advanced Scientific Programming in Python en Trento, Italia

2010-08-31 Por tema Francesc Alted
A Tuesday 31 August 2010 14:45:18 Ricardo Cárdenes Medina escrigué:
 2010/8/31 Francesc Alted fal...@pytables.org:
  A Tuesday 31 August 2010 13:38:40 Francesc Alted escrigué:
  A Tuesday 31 August 2010 13:15:01 Ricardo Cárdenes Medina escrigué:
   2010/8/31 Francesc Alted fal...@pytables.org:
Hola,
   
Para aquellos que a lo mejor se han despistado, hoy es el último dia
para presentar candidaturas para un excelente curso en programación
avanzada de Python para usos científicos.
  
   Jum... Una pregunta Francesc. Veo que está orientado a post-docs y
   estudiantes de doctorado, pero, ¿es requisito? (sólo puedo presentar
   una Ing. Técnica como grado más alto obtenido - más mi matrícula en la
   UNED para la Ing.). Porque la verdad es que el curso está interesante.
   Más que nada como refresco y formalización, porque ya tengo bastante
   experiencia en Python y lo uso (NumPy/SciPy/PyFITS/etc) en el trabajo;
   pero siempre es bueno ir a estos eventos para reciclarse un poco...
 
  Pues sí, es un requisito imprescindible ser post-doc.  Estos cursos
  están promovidos por entidades de investigación que usan fondos europeos
  para estos propósitos (i.e. formación de post-docs).
 
  De todas maneras lo comentaré a ver si en el futuro se pueden 'relajar'
  las condiciones (yo no las veo demasiado justificadas, pero bueno...)
 
  Umm, veo que también aceptan doctorandos, aunque no creo que sea tu caso.
 
 Me lo imaginaba :) No, no soy doctorando. El trabajo full-time no me
 deja ni siquiera pensar en ello :D Y eso que trabajo rodeado de
 doctores y doctorandos, pero bueno...

Bueno, lo he preguntado, y me han dicho que tal limitación no existe y que de 
hecho se ha aceptado en el pasado gente que no es doctor, ni estudiante (lo 
que reza el anuncio es simplemente sobre el perfil de los asistentes).  Bueno, 
pues date prisa y envía tu candidatura antes de las 12 de esta noche.

Suerte!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [ANN] Recordatorio: Escuela de Otoño Advanced Scientific Programming in Python e n Trento, Italia

2010-08-31 Por tema Francesc Alted
A Tuesday 31 August 2010 15:03:11 Kiko escrigué:
 Muy interesante el curso.
 
 Yo soy PhD pero actualmente no estoy haciendo ningún post-doc sino que
  estoy en la empresa privada por lo que me interesaría que estos cursos en
  el futuro fueran más abiertos.

Bueno, ya he dicho que, después de unas consultas, *no* es requisito el ser 
doctor y ni siquiera estar estudiando uno.  Y por supuesto, los procedentes de 
la empresa privada son absolutamente bienvenidos.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Curso avanzado de programación cient ífica en Python

2010-07-13 Por tema Francesc Alted
Hola a todos

El pasado curso de invierno en Varsovia sobre cálculo científico avanzado en 
Python se va a repetir en Trento (Italia) para el otoño.  Si alguien está 
interesado, que lea la documentación de abajo y... suerte!

Francesc

Advanced Scientific Programming in Python
=

an Autumn School by the G-Node, the Center for Mind/Brain Sciences
and the Fondazione Bruno Kessler

Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists actually use them. As a result, instead
of doing their research, they spend far too much time writing
deficient code and reinventing the wheel. In this course we will
present a selection of advanced programming techniques with
theoretical lectures and practical exercises tailored to the needs
of a programming scientist. New skills will be tested in a real
programming project: we will team up to develop an entertaining
scientific computer game.

We'll use the Python programming language for the entire course.
Python works as a simple programming language for beginners, but
more importantly, it also works great in scientific simulations and
data analysis. Clean language design and easy extensibility are
driving Python to become a standard tool for scientific computing.
Some of the most useful open source libraries for scientific
computing and visualization will be presented.

This school is targeted at Post-docs and PhD students from all areas
of science. Competence in Python or in another language such as
Java, C/C++, MATLAB, or Mathematica is absolutely required. A basic
knowledge of the Python language is assumed. Participants without
prior experience with Python should work through the proposed
introductory materials.

Date and Location
=
October 4th—8th, 2010. Trento, Italy.

Preliminary Program
===
Day 0 (Mon Oct 4) — Software Carpentry  Advanced Python
  • Documenting code and using version control 
  • Object-oriented programming, design patterns, and agile programming 
  • Exception handling, lambdas, decorators, context managers, metaclasses
Day 1 (Tue Oct 5) — Software Carpentry 
  • Test-driven development, unit testing  Quality Assurance 
  • Debugging, profiling and benchmarking techniques 
  • Data serialization: from pickle to databases 
Day 2 (Wed Oct 6) — Scientific Tools for Python
  • Advanced NumPy 
  • The Quest for Speed (intro): Interfacing to C 
  • Programming project 
Day 3 (Thu Oct 7) — The Quest for Speed 
  • Writing parallel applications in Python 
  • When parallelization does not help: the starving CPUs problem 
  • Programming project 
Day 4 (Fri Oct 8) — Practical Software Development 
  • Efficient programming in teams 
  • Programming project 
  • The Pac-Man Tournament

Every evening we will have the tutors' consultation hour: Tutors
will answer your questions and give suggestions for your own projects 

Applications

You can apply on-line at http://www.g-node.org/python-autumnschool
Applications must be submitted before August 31th, 2010.
Notifications of acceptance will be sent by September 4th, 2010.
No fee is charged but participants should take care of travel, living,
and accommodation expenses. 
Candidates will be selected on the basis of their profile. 
Places are limited: acceptance rate in past editions was around 30%. 

Prerequisites
=
You are supposed to know the basics of Python to participate in 
the lectures! Look on the website for a list of introductory material.

Faculty
===
• Francesc Alted, author of PyTables, Castelló de la Plana, Spain 
• Pietro Berkes, Volen Center for Complex Systems, Brandeis
  University, USA 
• Valentin Haenel, Berlin Institute of Technology and Bernstein 
  Center for Computational Neuroscience Berlin, Germany
• Zbigniew Jędrzejewski-Szmek, Faculty of Physics, University of
  Warsaw, Poland 
• Eilif Muller, The Blue Brain Project, Ecole Polytechnique Fédérale
  de Lausanne, Switzerland
• Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno 
  Kessler and University of Trento, Italy
• Rike-Benjamin Schuppner, Bernstein Center for Computational 
  Neuroscience Berlin, Germany 
• Bartosz Teleńczuk, Institute for Theoretical Biology, 
  Humboldt-Universität zu Berlin, Germany
• Bastian Venthur, Berlin Institute of Technology and Bernstein Focus:
  Neurotechnology, Germany
• Stéfan van der Walt, Applied Mathematics, University of Stellenbosch,
  South Africa
• Tiziano Zito, Berlin Institute of Technology and Bernstein Center for
  Computational Neuroscience Berlin, Germany 
  
Organized by Paolo Avesani for the Center for Mind/Brain Sciences
and the Fondazione Bruno Kessler , and by Zbigniew JędrzejewscySzmek
and Tiziano Zito for the German Neuroinformatics Node of the INCF.

Website: http://www.g-node.org/python-autumnschool
Contact: python-i...@g-node.org

-- 
Francesc Alted

[Python-es] Archivos completamente operativos

2010-06-10 Por tema Francesc Alted
Hola a todos,

Después de unas semanillas yendo detrás del administrador de las listas 
amparadas bajo python.org (entre la que se incluye ésta), tengo el placer de 
comunicar que los archivos 'oficiales' de la lista ya están completamente 
actualizados (o al menos, eso creo).

Los que les querais echar un ojo a ver que tal, pasaros por:

http://mail.python.org/pipermail/python-es/

y me decís qué tal (si hay algún problema mejor decirlo pronto que tarde).

Bueno, pues sólo agradecer a Chema que se sacó de la chistera (bueno, Gmane) 
la serie completa de archivos.

Saludos,

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Sobre permutaciones y productos

2010-05-26 Por tema Francesc Alted
A Wednesday 26 May 2010 14:00:11 Chema Cortes escrigué:
 El día 26 de mayo de 2010 00:03, Arnau Sanchez pyar...@gmail.com escribió:
  Repasando el archivo encontré este correo del lunes; no debe haberse
  reenviado a los correos personales (al menos a mi no me llegó) por
  problemas en la cabecera, viene sin remitente y sin asunto:
 
  http://mail.python.org/pipermail/python-es/2010-May/024367.html
 
 Estos días se ha debido cargar el antiguo archivo de la lista y, por
 lo que veo, ha fallado al insertar este mensaje del año pasado:
 
 http://thread.gmane.org/gmane.comp.python.general.castellano/23751
 
 La línea que empieza por From ha confundido al mayordomo de la lista
 para que creyera que empezaba un nuevo mensaje sin cabeceras. El
 mensaje original ha quedado truncado:
 
 http://mail.python.org/pipermail/python-es/2009-March/024366.html

Sí, parece la explicación más lógica.

 Posiblemente existan más fallos. En concreto veo que faltan bastantes
 años, los que van desde 2001 hasta 2007.

Si que hay más fallos, sí.  No has recibido las copias (a python-es-
ow...@python.org) de los mensajes que estoy intercambiando con Ralf 
Hildebrandt para la inyección de los archivos de aditel.org en el nuevo 
python.org?  Revisa tu buzón, y si no están me lo dices y te los reenvio.

Bueno, esperemos que el tema de los archivos se solucione satisfactoriamente 
(y pronto).

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] mensajes rebotados

2010-05-02 Por tema Francesc Alted
A Sunday 02 May 2010 06:17:28 Milton Galo Patricio Inostroza Aguilera 
escrigué:
 al enviar mensajes me sale lo siguiente:
 
 Delivery to the following recipient failed permanently:
 
 python-es@python.org
 
 Technical details of permanent failure:
 Google tried to deliver your message, but it was rejected by the
 recipient domain. We recommend contacting the other email provider for
 further information about the cause of this error. The error that the
 other server returned was: 553 553 rejected, message looks like spam.
 (state 18).

Pues este entró.  No sé, lo mismo se ha solucionado...

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Reducir un diccionario usando un subconjunto de claves

2010-05-01 Por tema Francesc Alted
A Saturday 01 May 2010 10:39:19 Arnau Sanchez escrigué:
 On 01/05/10 00:51, Rolando Espinoza La Fuente wrote:
  %timeit dict((k, d[k]) for k in subkeys)
  10 loops, best of 3: 6.99 µs per loop
 
  %timeit dict([(k, d[k]) for k in subkeys])
  10 loops, best of 3: 5.82 µs per loop
 
 Pero esto hay que explicarlo: con pocos elementos una lista por compresión
  será (normalmente) más rápida, pero si tenemos muchos ya no está tan
  claro:
 
 d = dict((k, 2*k) for k in xrange(10))
 
 %timeit dict([(k, d[k]) for k in xrange(0, 10, 2)])
 10 loops, best of 3: 23.9 ms per loop
 
 %timeit dict((k, d[k]) for k in xrange(0, 10, 2))
 100 loops, best of 3: 16.8 ms per loop
 
 En cualquier caso, la principal ventaja de los generadores está en espacio,
  no en tiempo.

Sí señor, la memoria es un bien escaso, que conviene conservar.  Y cada vez 
más, debido al abismo que se abre entre acceso a memoria y velocidad de CPU, 
espacio ganado se traduce en tiempo reducido.

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Cómo especificar versiones RC (en setup.py ?)

2010-04-14 Por tema Francesc Alted
A Wednesday 14 April 2010 16:40:29 Olemis Lang (Simelix) escrigué:
 Hola a todos !
 
 He visto que varios paquetes [1]_ permiten número de versiones RC
 (e.g. ropevim 0.3-rc). Sin embargo cuando pongo esa versión en
 `setup.py` me da
[clip]

Prueba sin el guión (o sea, algo como 1.4.1rc2).

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-26 Por tema Francesc Alted
Iep, Pau,

A Thursday 25 March 2010 22:16:06 Pau Freixes escrigué:
 Interesante Francesc, buena introducción a un problema latente y más
 que actual - y que discutimos tiempo aca.

Si, la verdad es que tomé 'prestados' varios elementos de nuestras discusiones 
pasadas para el artículo.  Cuando recapacitas, es increible la cantidad de 
cosas que se aprenden en los foros como éste.

 Quizá la explosión de
 lenguajes interpretados como lenguajes de uso habitual ha alejado un
 poco más al programador de las tecnicas habituales de optimización ?

Probablemente, aunque los principios son igual de generales, así que también 
se pueden aplicar a lenguajes interpretados (y a Python en particular).  La 
idea que queria comunicar era doble: la disposición de datos en nuestros 
programas es importante, y que hay que hacer uso de las mejores herramientas 
disponibles a nuestro alcance.

Por ejemplo, todos sabemos cuán importante es, dependendiendo de nuestras 
necesidades, el uso apropiado de listas, diccionarios o conjuntos en nuestros 
programas para lograr las mejores prestaciones.  O, cómo usando librerias como 
NumPy junto con BLAS optimizados nos puede llevar a obtener prestaciones 
quasi-óptimas en nuestros programas.

Pero si tú tienes que hacerte tu propio algoritmo y éste no está ya 
implementado de manera eficiente, aquí si que los lenguajes interpretados no 
son tan flexibles y probablemente hayas de bajar al nivel de lenguajes 
compilados para aplicar las optimizaciones.

 Por ejemplo podemos con Python aplicar tecnicas para reducir las malas
 prediciones de salto por parte de la CPU ? tiene sentido hablar de
 esto cuando es la maquina virtual i no el codigo de usuario quien
 realiza las operaciones envueltas en una instrucción simulada de
 salto ? si es el caso el branch prediction de la CPU se vuelve más
 estupido ?

No, no creo que sea el caso.  Como he dicho antes, cuando estas tratando de 
extraer la última gota de las prestaciones de un procesador, los lenguajes 
compilados (en particular C o Fortran) son mucho más apropiados.  Pero de 
nuevo, asegúrate que lo que quieres hacer no está ya disponible en tu lenguaje 
interpretado preferido.  Por ejemplo, usar numexpr te va a permitir evaluar 
expresiones algebraicas a una velocidad muy similar a hacer tu el programa en 
C, con la ventaja de que numexpr te permite compilar 'al vuelo' (es un JIT), y 
todos sabemos lo que eso significa en términos de comodidad (y por tanto, 
productividad, que al final es lo que se trata de obtener).

Saludos,

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Francesc Alted
Hace poco me comunicaron que un artículo mío para la revista Computer in 
Science and Engineering ha sido seleccionado para la edición online de 
Computing Now.  El artículo habla de la necesidad de entender el modelo 
jerárquico de memoria para lograr prestaciones decentes en nuestros programas.  
Evindentemente se nota mi experiencia en Python así que lo nombro brevemente 
(aunque el artículo intenta ser lo más agnóstico posible con los lenguajes).

Los que esteis interesados, podeis acceder al artículo en:

http://www.computer.org/portal/web/computingnow

y pinchar en Why Modern CPUs Are Starving and What Can Be Done About It.

Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que 
no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero 
que le sirva de ayuda a alguien!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/