[Python-es] How to generate Roman style mosaics with Python

2021-07-02 Por tema Jesus Cea

Por si a alguien le interesa:



--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulias semanales: Petición de ayuda para identificar a un hablante

2021-05-20 Por tema Jesus Cea
En la tertulia del 2 de febrero hay una persona que habla bastante, pero 
que no se presentó al principio del encuentro y no sé quien es.


¿Alguien puede identificarlo?

Es la persona que habla, por ejemplo, en 01:06:00 o en 01:12:00.

Tenéis el audio en .

Agradecemos feedback sobre las grabaciones de las tertulias, proponer 
temas a tratar y, por supuesto, sois bienvenidos a uniros los martes. 
Son tertulias abiertas.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Has hablado en la tertulia del martes? ¡Mándame tu información!

2021-04-22 Por tema Jesus Cea

On 22/4/21 17:25, Sara Saez wrote:

Os parece bien que se lo pase al grupo de PyLadies?


Cuanto más lejos llegue mejor. Hemos mejorado el audio últimamente, pero 
tenemos meses de grabaciones atrasadas así que tardará en notarse. 
Paciencia.


¡Proponed temas!

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Has hablado en la tertulia del martes? ¡Mándame tu información!

2021-04-22 Por tema Jesus Cea

On 22/4/21 16:53, Miguel Manzano wrote:
Yo he compartido en algún slack el enlace al podcast y ha sido muy bien 
recibido... Gracias Jesus por seguir haciendo estas cosas :).


Espero que en las dos horas semanales alguien encuentre algo de 
utilidad. Espero que el curro de hacer las notas detalladas y los 
capítulos para moverse por el audio ayude a localizar las pepitas.


Recordad que se publica como podcast. Si os suscribís con vuestro 
reproductor, estareis informados de los capítulos nuevos. También me 
interesa mucho saber si alguien tiene problemas por no emitir en MP3 
(¡muerte al MP3!). :).


Gracias.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] ¿Has hablado en la tertulia del martes? ¡Mándame tu información!

2021-04-22 Por tema Jesus Cea
Por supuesto, ha ocurrido lo que era enteramente previsible. Ahora que 
estoy publicando las grabaciones, veo que he sido muy negligente en no 
apuntar cuidadosamente quien participa, y simplemente presentarse como 
"hola, Soy Juan y llevo programando en Python 3 años" no me vale para 
ponerlo en las notas de los audios.


Por favor, si has hablado en algunas de las tertulias, envíame un email 

por privado indicándome cómo quieres aparecer en los créditos. Algo 

cortito, no tu currículo, pero puedes mandarme enlaces a tu web, 
twitter, github o lo que quieras.


Puedes ver cómo lo he hecho yo en .

Gracias.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Arranca la publicación de las grabaciones de la tertulia semanal

2021-04-20 Por tema Jesus Cea
Por fin empezamos a publicar las grabaciones que empezamos en noviembre. 
Para evitar spam, no voy a anunciar la publicación de cada audio. Os 
recomiendo que os suscribais como Podcast para descargar cada episodio 
automáticamente.


https://podcast.jcea.es/python
https://podcast.jcea.es/python/7


Las tertulias no tienen temas definidos, solemos hablar de muchas cosas 
y además las tertulias son largas, así que me preocuparé de poner notas 
exhaustivas sobre lo que se habla, con referencias de tiempo e incluso 
capítulos para saltar directamente a las secciones que os interese (si 
tu reproductor de podcasts soporta capítulos). Para ello he escrito este 
software, que tal vez sea de utilidad a más gente: 
https://docs.jcea.es/toc2audio/


Los audios están disponibles en Opus (preferible) y m4a (en concreto 
HE-AAC). Que le den por saco al MP3 (explico mis razones en el podcast).


Me interesa mucho saber si alguien tiene problemas con la reproducción.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 20 de abril a las 20:30

2021-04-20 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 20:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 20:30 para permitir el
acceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente. Procura usar 
auriculares para evitar el retorno.


- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


- ¡Trae tu tema!

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 13 de abril a las 20:30

2021-04-13 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 20:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 20:30 para permitir el
acceso público.

Propuestas de temas para hoy, aparte de lo que llevamos atrasado del 
último par de semanas:


- Mi experiencia con "flit" y qué pasa con PEP 621.

- La magia de "functools.cmp_to_key()". Mírate el código fuente.

- Explícame esto:

   Creamos un fichero "a.py" con el contenido:

  def x():
  print('X')

   Creamos otro fichero "b.py" con el contenido:

  import a

  class clase:
  x = a.x

  def p(self):
  print(self.x)
  self.x()

  if __name__ == '__main__':
  a.x()
  b = clase()
  b.p()


  Ejecutas "b.py" y me explicas por qué sale lo que sale :-).

- ¡Trae tu tema!

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente. Procura usar 
auriculares para evitar el retorno.


- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Grupo de telegram para coordinar las tertulias de los martes

2021-04-07 Por tema Jesus Cea
Por petición popular acabo de crear un grupo de Telegram para hablar de 


las tertulias de los martes, proponer temas, etc.

De momento es un grupo privado, que requiere enlace de invitación, pero 


todos sois bienvenidos:

https://t.me/joinchat/y__YXXQM6bg1MTQ0

Mi idea es usarlo poco y para nada que requiera "persistencia", pero ya 
veremos cómo evoluciona.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] NUEVA HORA; Tertulia Python, hoy martes 6 de abril a las 20:30

2021-04-06 Por tema Jesus Cea
Se repite mi propuesta de temas de las últimas dos semanas, porque no 
dio tiempo a verlo todo.


Por supuesto, puedes traer tus propios temas :-).


ATENCIÓN: NUEVA HORA




Una vez más convoco una tertulia Python para hoy martes a las 20:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 20:30 para permitir el
acceso público.

Propuestas de temas para hoy:

- Machete mode: tagging frames - 
 
y la charla asociada: .


- La charla de Juan Luis Cano de hace un par de semanas: Python 
Packaging: Lo estás haciendo mal 
. Esta charla la rematamos 

la semana pasada, pero puedo contar mi experiencia con Flit en en módulo 
nuevo que he empezado.


- El módulo estándar "contextvars": 
 y el PEP 567: 
.


- La conversación que empezamos la semana pasada: Alternative syntax for 
Python's lambda: .


- Repasar y comentar los resultados de "Python Developers Survey 2020 
Results": .


- Estado de la publicación de los audios de las tertulias... mucha tela
que cortar aquí.

- Rarezas de Python. Por ejemplo, comentado por el propio Guido: 
.


- Otro melón que abrimos hace una semana o dos: New packaging security 
funding & NYU 
.


- ¡Trae tu tema!

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] NUEVA HORA; Tertulia Python, mañana martes 30 de marzo a las 20:30

2021-03-29 Por tema Jesus Cea
Se repite mi propuesta de temas de la semana pasada, porque no dio 
tiempo a verlo todo.


Por supuesto, puedes traer tus propios temas :-).


ATENCIÓN: NUEVA HORA




Una vez más convoco una tertulia Python para mañana martes a las 20:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 20:30 para permitir el
acceso público.

Propuestas de temas para hoy:

- Machete mode: tagging frames - 
 
y la charla asociada: .


- La charla de Juan Luis Cano de hace un par de semanas: Python 
Packaging: Lo estás haciendo mal 
.


- El módulo estándar "contextvars": 
 y el PEP 567: 
.


- La conversación que empezamos la semana pasada: Alternative syntax for 
Python's lambda: .


- Repasar y comentar los resultados de "Python Developers Survey 2020 
Results": .


- Estado de la publicación de los audios de las tertulias... mucha tela 


que cortar aquí.

- Rarezas de Python. Por ejemplo, comentado por el propio Guido: 
.


- Otro melón que abrimos hace una semana o dos: New packaging security 
funding & NYU 
.


- ¡Trae tu tema!

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Pull Request para resolver "bpo-35930"

2021-03-23 Por tema Jesus Cea
El tema de incontables horas de cháchara en la tertulia de los martes en 
torno a navidades.


Por si alguien quiere echarle un ojo y puede aportar algo: 
.


Miguel, verás que al final opté por tu sugerencia de usar un "finally" 
en vez de mi impulso inicial de usar "weakrefs". Aumenta la indentación 
del código, pero es menos mágico y creo que más fácil de defender en el 
pull request. Gracias por la idea.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] NUEVA HORA; Tertulia Python, hoy martes 23 de marzo a las 20:30

2021-03-23 Por tema Jesus Cea

ATENCIÓN: NUEVA HORA




Una vez más convoco una tertulia Python para hoy martes a las 20:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 20:30 para permitir el
aceso público.

Propuestas de temas para hoy:

- Machete mode: tagging frames - 
 
y la charla asociada: .


- La charla de Juan Luis Cano de hace un par de semanas: Python 
Packaging: Lo estás haciendo mal 
.


- El módulo estándar "contextvars": 
 y el PEP 567: 
.


- La conversación que empezamos la semana pasada: Alternative syntax for 
Python's lambda: .


- Repasar y comentar los resultados de "Python Developers Survey 2020 
Results": .


- Estado de la publicación de los audios de las tertulias... mucha tela 
que cortar aquí.


- Rarezas de Python. Por ejemplo, comentado por el propio Guido: 
.


- Otro melón que abrimos hace una semana o dos: New packaging security 
funding & NYU 
.


- ¡Trae tu tema!

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Py-MAD] Tertulia Python, hoy martes 2 de marzo a las 19:30

2021-03-16 Por tema Jesus Cea

On 12/3/21 23:24, Miguel de Dios Matias wrote:
Siempre veo el email a toro pasado, pero una pregunta. ¿Ya están subidos 
públicamente los audios?

Se está trabajando en ello.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 16 de marzo a las 19:30

2021-03-16 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


La charla será en la sala "py2021" de jitsi:
https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 9 de marzo a las 19:30

2021-03-09 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Con retraso, pero cambiamos el nombre de la sala para reflejar que ya es 
2021. La charla será en la sala "py2021" de jitsi:

https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Tertulia Python, hoy martes 2 de marzo a las 19:30

2021-03-03 Por tema Jesus Cea

On 2/3/21 16:17, Jesus Cea wrote:
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Por un error humano mío, he perdido los últimos 45 minutos de la 
grabación de ayer. ¿Algún compañero grabó la sesión por su cuenta?.


Lo último que se oye fue la discusión entre "plotly" y "bokeh".

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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


[Python-es] Tertulia Python, hoy martes 2 de marzo a las 19:30

2021-03-02 Por tema Jesus Cea
Si la semana pasada discutimos (poco) sobre pattern matching (PEP 654 y 
familia: https://www.python.org/dev/peps/pep-0654/ ), la polémica de 
esta semana es PEP 637 -- Support for indexing with keyword arguments 
(https://www.python.org/dev/peps/pep-0637/). Si os lo quereis mirar 
antes de la sesión...





Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Con retraso, pero cambiamos el nombre de la sala para reflejar que ya es 
2021. La charla será en la sala "py2021" de jitsi:

https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 23 de febrero a las 19:30

2021-02-23 Por tema Jesus Cea

 OJO: CAMBIO DE NOMBRE DE SALA! 


Si teneis tiempo, curiosead el PEP 654: 
.




Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Con retraso, pero cambiamos el nombre de la sala para reflejar que ya es 
2021. La charla será en la sala "py2021" de jitsi:

https://meet.jit.si/py2021 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 16 de febrero a las 19:30

2021-02-16 Por tema Jesus Cea
La noticia de la semana es la aprobación de "pattern matching". Algunos 
ya me habéis oído dispotricar sobre incrementar la complejidad de la 
sintaxis del lenguaje.Estaría bien que echáramos un vistazo a algunas 
webs de cara a esta tarde. Por ejemplo:


https://www.python.org/dev/peps/pep-0636/ (y otros PEPs relacionados)



Guido: 


Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 9 de febrero a las 19:30

2021-02-09 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Charla online: TDD - ¿panacea del desarrollo o pérdida de tiempo?

2021-02-08 Por tema Jesus Cea
Charla el próximo jueves 11 de febrero, a las 18:00 (hora de Madrid). La 
charla la imparte Israel Saeta.


Como otros eventos de Paradigma, es de esperar que la grabación esté 
eventualmente disponible en su canal de Youtube.


https://www.meetup.com/python-madrid/events/276022859/

"""
Details

Test Driven Development: ¿es la panacea que evitará para siempre todos 
los bugs? ¿Merece la pena invertir más de la mitad de mi tiempo en crear 
y modificar tests? ¿Me fustigará en mis pesadillas Kent Beck si escribo 
el código antes que los tests o no llego al 100% de coverage? Acompáñame 
en este viaje en búsqueda de la piedra filosofal del desarrollo de código.




Bio: Israel Saeta Actual presidente de Python España y Desarrollador 
Senior en TravelPerk. Misión actual: unir, expandir y emocionar a la 
comunidad tecnológica del país y más allá.


¡Os esperamos! :-)
"""

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Whoosh para español

2021-02-08 Por tema Jesus Cea

On 8/2/21 15:33, Jesus Cea wrote:
¿Alguien tiene alguna experiencia o referencias online con Whoosh en 
español?. Tildes, stopwords, lexemas... Ando perdido y no veo nada útil 
en Google.


https://whoosh.readthedocs.io/en/latest/


Estoy empezando a explorarlo, así que puedo cambiar a cualquier buscador 
de documentos para Python. Mis necesidades ahora mismo son modestas. 
Digamos que menos de 50.000 documentos. Pero tiene que funcionar bien 
para textos en español y en inglés.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Whoosh para español

2021-02-08 Por tema Jesus Cea
¿Alguien tiene alguna experiencia o referencias online con Whoosh en 
español?. Tildes, stopwords, lexemas... Ando perdido y no veo nada útil 
en Google.


https://whoosh.readthedocs.io/en/latest/

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] "Intern" de cadenas en Python

2021-02-08 Por tema Jesus Cea
Hace un par de semanas en las tertulias de Python salió el tema de 
técnicas "fáciles" para ahorrar memoria. Sin detalles sobre el proyecto 
concreto era difícil dar indicaciones útiles, pero hablamos un rato 
sobre "intern".


Me he tropezado con este artículo que podría ser de utilidad: 
https://arpitbhayani.me/blogs/string-interning


Puede valer también como tema para la tertulia de mañana.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Biblioteca XPATH

2021-02-07 Por tema Jesus Cea



On 7/2/21 20:02, lasizoillo wrote:



El dom, 7 feb 2021 a las 18:35, Ander Garmendia (>) escribió:


¿Has probado con lxml?


No se me ocurre nada mejor que eso
https://github.com/scrapy/scrapy/blob/master/setup.py#L37 



Esto... vale, estoy tonto perdido.

https://lxml.de/xpathxslt.html

Es una pena que beautifulsoup no de acceso a xpath. Ahora me planteo por 
qué usar beautifulsoap con un backend lxml en vez de usar lxml de forma 
nativa.


¿Opiniones?.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Biblioteca XPATH

2021-02-07 Por tema Jesus Cea

¿Alguien conoce una biblioteca XPATH que no sea cargar con todo scrapy?

Gracias.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 2 de febrero a las 19:30

2021-02-02 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Tertulia Python, hoy martes 19 de enero a las 19:30

2021-02-02 Por tema Jesus Cea

On 19/1/21 21:59, Juan Carlos Coruña wrote:
Hola, como ya comenté en alguna de las tertulias, he vuelto a mis 
quehaceres habituales y me es imposible seguir asistiendo. No descarto 
mi vuelta en un futuro.


Muchas gracias por indicarnos el motivo por el que has dejado de 
asistir. Se agradece.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 26 de enero a las 19:30

2021-01-26 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 19 de enero a las 19:30

2021-01-19 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 12 de enero a las 19:30

2021-01-12 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje. 
Sería interesante que trajeras algo pensado.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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


Re: [Python-es] Tertulia Python, hoy martes 5 de enero a las 19:30

2021-01-05 Por tema Jesus Cea

On 5/1/21 15:20, Sara Saez wrote:

Hola Jesús
Feliz año!
Perdona que no he podido conectarme
Problemas familiares graves me lo están impidiendo por ahora (maldito 
COVID!!)

Espero volver pronto
Sara


Lo urgente va primero :-). Ya sabes dónde estamos, que esto pretende ser 
una actividad recurrente y que eres bienvenida cuando puedas unirte.


¡Ánimo!.

Buen 2021 a todos.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python, hoy martes 5 de enero a las 19:30

2021-01-05 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Don’t Use Recursion In Python Any More,Python Closure — A Pythonic technique you must know

2021-01-02 Por tema Jesus Cea
El artículo requiere autenticarse para leerlo, así que voy a ser pirata 
y enviar una transcripción. La técnica me parece muy interesante. 
Podemos comentarla en la tertulia del martes próximo.




Transcripción si no quieres autenticarte. Las imágenes se pierden, pero 
espero que se entienda el sentido general:


"""
Don’t Use Recursion In Python Any More
Python Closure — A Pythonic technique you must know
Christopher Tao
Christopher Tao
Nov 22, 2020·8 min read

I was such a programmer who likes recursive functions very much before, 
simply because it is very cool and can be used to show off my 
programming skills and intelligence. However, in most of the 
circumstances, recursive functions have very high complexity that we 
should avoid using.


One of the much better solutions is to use Dynamic Planning when 
possible, which is probably the best way to solve a problem that can be 
divided into sub-problems. One of my previous articles has illustrated 
the power of Dynamic Planning.

Using Dynamic Planning to Help Trump Win the Elections
Dynamic Planning in Python for optimising Election Promotion
towardsdatascience.com

However, in this article, I’m going to introduce another technique in 
Python that can be utilised as an alternative to the recursive function. 
It won’t outperform Dynamic Planning, but much easier in term of 
thinking. In other words, we may sometimes be struggling to make Dynamic 
Planning works because of the abstraction of the ideas, but it will be 
much easier to use closure.

What is Python Closure?
Image for post
Image for post
Photo by Free-Photos on Pixabay

First of all, let me use a simple example to demonstrate what is a 
closure in Python. Look at the function below:


def outer():
x = 1
def inner():
print(f'x in outer function: {x}')
return inner

The function outer is defined with another function inner inside itself, 
and the function outer returns the function inner as the “return value” 
of the function.


In this case, the nested function is called a closure in Python. If we 
check the “return value” of the outer function, we will find that the 
returned value is a function.

Image for post
Image for post

What does closure do? Because it returned a function, we can run this 
function, of course.

Image for post
Image for post

OK, we can see that the inner function can access variables defined in 
the outer function. Usually, we don’t use closure in such a way shown as 
above, because it is kind of ugly. We usually want to define another 
function to hold the function returned by the closure.

Image for post
Image for post

Therefore, we can also say that in a Python closure, we defined a 
function that defines functions.

Access Outer Variables from the Inner Function
Image for post
Image for post
Photo by igorovsyannykov on Pixabay

How can we use a closure to replace a recursive then? Don’t be too 
hurry. Let’s have a look at another problem here, which is accessing 
outer variables from the inner function.


def outer():
x = 1
def inner():
print(f'x in outer function (before modifying): {x}')
x += 1
print(f'x in outer function (after modifying): {x}')
return inner

In the closure above-shown, we want to add 1 to the outer variable x in 
the inner function. However, this won’t work straightforward.

Image for post
Image for post

By default, you won’t be able to access the outer variable from the 
inner function. However, just like how we define a global variable in 
Python, we can tell the inner function of a closure that the variable 
should not be considered as a “local variable”, by using the nonlocal 
keyword.


def outer():
x = 1
def inner():
nonlocal x
print(f'x in outer function (before modifying): {x}')
x += 1
print(f'x in outer function (after modifying): {x}')
return inner

Now, let’s say we want to add the variable x by 1 for five times. We can 
simply write a for loop to achieve this.


f = outer()for i in range(5):
print(f'Run {i+1}')
f()
print('\n')

Image for post
Image for post
Write a Fibonacci Function Using Closure
Image for post
Image for post
Photo by Free-Photos on Pixabay

Fibonacci is commonly used as a “hello world” example of recursive 
functions. If you don’t remember it, don’t worry, it is pretty simple to 
be explained.


A Fibonacci sequence is a series of numbers that every number is the sum 
of the two numbers before it. The first two numbers, X₀ and X₁, are 
special. They are 0 and 1 respectively. Since X₂, the patter is as 
above-mentioned, it is the sum of X₀ and X₁, so X₂=1. Then, X₃ is X₁ + 
X₂ =2, X₄ is X₂ + X₃=3, X₅ is X₃ + X₄ = 5, and so on.


The recursive function requires us to think reversely from the “current 
scenario” to the “previous scenario”, and eventually what are the 
terminate conditions. However, by using the 

[Python-es] Tertulia Python, hoy martes 29 a las 19:30

2020-12-29 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia python, hoy martes a las 19:30

2020-12-22 Por tema Jesus Cea
Una vez más convoco una tertulia Python para hoy martes a las 19:30, 
hora de Madrid.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Py-ES] Petición de temas para "cebar" la tertulia

2020-12-22 Por tema Jesus Cea

On 16/12/20 9:42, Marcos Perez wrote:

Hola,
  ¡sera por temas!
Por ejemplo:
  * emplear tipado (type hints) en un lenguaje como Python que, en 
teoría, no lo necesita


Tema tocado ya con frecuencia.


  * los prefijos con significado en Python (_, __, ...)


Se han mencionado algunos ejemplos alguna vez, pero recordemos que mi 
idea es una tertulia, no charlas magistrales. Cuando se han tratado los 
"__" ha sido en un contexto específico, por ejemplo para crear proxies 
transparentes de objetos.



  * bibliotecas que deberían entrar en Python básico como "attrs"


Una discusión frecuente es si es buena idea engordar o adelgazar la 
librería estándar. Esta conversación siempre da jugo :).



  * el operador ":=" es para mejor o para peor


Ya abordado unas cuantas veces.

  * opciones de formateo del código más modernas (ancho de fila mayor de 
80 caracteres,...)


Esto no lo hemos tocado, aunque es un poco periférico respecto a Python.

  * ¿Se beneficiaría Python de extensiones en WASM en lugar de en C API 
nativo para que fueran más portables y no obligar a compilar en cada 
entorno al instalar paquetes?


Algo esotérico, pero que a mí me parecería interesante. Tampoco tiene 
que ser WASM, podría ser el lenguaje intermedio de LLVM o incluso una 
máquina abstracta diferente.


Me gustaría participar en las tertulias pero un niño me tiene muy 
ocupado :-(


Ya sabes dónde nos vemos cada martes :-).

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Erlang: The Road to the JIT

2020-12-18 Por tema Jesus Cea
Ya sé que esto es Erlang, pero me parece un artículo interesante y 
relevante para la tertulia del martes pasado y la discusión de por qué 
CPYTHON no tiene JIT de serie.


https://blog.erlang.org/the-road-to-the-jit/

Tema "guardas" que comentaba en en la tertulia del martes. Las "guardas" 
con comprobaciones que confirman invariantes para ejecutar código 
optimizado. Por ejemplo, una invariante podría ser que un tipo concreto 
sigue siendo un entero porque antes lo fue.


Ejemplo:

Sea el código:

"""
def suma(n):
s = 0
for i in range(n):
s += i
return s
"""

Python 3.9 compila este código al siguiente bytecode:

"""
>>> dis.dis(suma)
  2   0 LOAD_CONST   1 (0)
  2 STORE_FAST   1 (s)

  3   4 LOAD_GLOBAL  0 (range)
  6 LOAD_FAST0 (n)
  8 CALL_FUNCTION1
 10 GET_ITER
>>   12 FOR_ITER12 (to 26)
 14 STORE_FAST   2 (i)

  4  16 LOAD_FAST1 (s)
 18 LOAD_FAST2 (i)
 20 INPLACE_ADD
 22 STORE_FAST   1 (s)
 24 JUMP_ABSOLUTE   12

  5 >>   26 LOAD_FAST1 (s)
 28 RETURN_VALUE
"""

Aquí se podrían optimizar cosas como reconocer "range", pero 
centrándonos en el cuerpo del bucle, se podría reconocer perfectamente 
que tanto "s" como "i" son enteros y operar con ellos directamente como 
tipos de datos en ensamblador.


Estudiando el código generado, se puede ver que es muy mejorable. Por 
ejemplo, se podría mover la línea 16 a antes del bucle y eliminar las 
líneas 22 y 26, manteniendo "s" en el stack en vez de guardarlo en una 
variable para cargarlo inmediatamente después. De hecho se podría hasta 
eliminar la actualización de "s" en memoria hasta el final del bucle. 
También se podría prescindir de guardar el contador del bucle en la 
variable "i", eliminando las líneas 14 y 18. ¡El cuerpo del bucle 
pasaría de 5 instrucciones a una!. La única complejidad sería la gestión 
de excepciones: Si la suma levanta una excepción, habría que reconstruir 
las variables "i" y "s".


La guarda se podría poner en el INPLACE_ADD, pero haciendo inferencia de 
tipos trivial se podría compilar a ensamblador todo el cuerpo del bucle, 
y la guarda sería simplemente comprobar que ni "i" ni "s" se pasan de 
32/64 bits, que sería el tipo básico en ensamblador. Mientras ni "i" ni 
"s" se pasen de ese rango, se pueden manejar en registros de ensamblador 
y hacer una conversión a tipos Python al terminar el bucle. Si te pasas 
del rango, pues simplemente ejecutas el bytecode habitual, algo 
transparente para el programa.


El intérprete de bytecode tiene el siguiente fragmento para ejecutar 
"INPLACE_ADD":


"""
case TARGET(INPLACE_ADD): {
PyObject *right = POP();
PyObject *left = TOP();
PyObject *sum;
if (PyUnicode_CheckExact(left) && 
PyUnicode_CheckExact(right)) {
sum = unicode_concatenate(tstate, left, right, f, 
next_instr);

/* unicode_concatenate consumed the ref to left */
}
else {
sum = PyNumber_InPlaceAdd(left, right);
Py_DECREF(left);
}
Py_DECREF(right);
SET_TOP(sum);
if (sum == NULL)
goto error;
DISPATCH();
}
"""

Se ve una optimización cuando los operandos son unicode, pero en el caso 
de números el código es más complejo.


El problema fundamental de Python es que técnicamente podrías capturar 
el "traceback" de otro hilo y examinar sus tipos locales, pero una 
solución evidente sería retrasar esa captura hasta que se llega al final 
del cuerpo del bucle (no al final del bucle, si no del cuerpo del 
bucle). Otro problema es la gestión de excepciones, que habría que 
reconstruir el traceback y los valores de variables "optimizadas". Por 
lo que sé, los JIT actuales de Python como NUMBA simplemente obvian este 
problema, normalmente suponiendo que no hay excepciones.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Petición de temas para "cebar" la tertulia

2020-12-15 Por tema Jesus Cea
A medida que vamos celebrando sesiones, parece que va costando más 
encontrar temas que generen conversación.


Se aceptan sugerencias. Lo único que pido es que se trate de Python 
puro, no de librerías o productos concretos. Es decir, cosas relativas 
al lenguaje en sí, que sirvan a cualquier programador, no una librería 
que si no trabajas exactamente en ese momento en ese asunto, no te sirve 
de nada.


La idea es tener un puñado de temas iniciales para poder "cebar" la 
conversación y que luego evolucione sola, o para darle vidilla si decae.


Algunos temas que han salido hoy, así de memoria, y que creo que han 
sido interesantes:


- La cagada monumental de PIP 20.3.2. Si se te ha actualizado de 20.3.1 
a 20.3.3, ya sabes por qué ha sido. Detalles:


https://pip.pypa.io/en/stable/news/#id1
https://github.com/pypa/pip/issues/9284

- Esto dio pie a volver a un tema recurrente en encuentros anteriores: 
actualizar las cosas rápido cuando salen o esperar, así como estar a la 
última o mantenerse versiones antiguas. Muchas opiniones fundamentadas.


- Volví a comentar detalles del algoritmo de resolución del pip nuevo, y 
ahondé en lo comentado con anterioridad de poder usar 
"--use-deprecated=legacy-resolver" en vez de mantenerse en un PIP 
antiguo. Hoy he comentado que esa configuración se puede meter en el 
"pip.conf" para poder olvidarnos de ella.


- Al hilo de lo anterior, yo comenté que tengo en mi "/etc/pip.conf":

  [global]
  user = no

  Cansado de olvidarme de "sudo" al instalar paquetes a nivel de 
sistema operativo...


- https://github.com/johnbywater/eventsourcing

- Comenté el bug que tengo abierto hace dos años en los "future": 
https://bugs.python.org/issue35930


***
¡¡RETO A RESOLVER PARA LA SEMANA QUE VIENE!! ;-). Si se te ocurre una 
solución elegante, te invito a una caja de cerveza de la buena.

***

- Esto dio pie a explicar cómo funciona la recogida de basuras en 
Python, sobre todo el recolector de ciclos.


- Esto dio a pie a explicar por qué puede ser interesante desactivar el 
recolector de basuras temporalmente mientras tu programa "arranca" y 
crea los objetos iniciales.


- Se ha hablado de más técnicas y trucos para investigar "memory leaks". 
Este tema es recurrente, sale siempre en las tertulias.


- Expliqué cómo detectar si un programa tiene ciclos de memoria (no a 
investigarlos y resolverlos, solo a saber si hay ciclos o no).


- Algunos trucos para ver si tu problema de ocupación de memoria es 
cuestión de leaks o de fragmentación de memoria.


- Micropython y el lugar que ocupa Python en microcontroladores. ¿No es 
tirar recursos?


- ¿Alguien está dejando (o lo ha intentado) Python en pro de lenguajes 
más eficientes? Debate sobre velocidad, rendimiento y otras métricas de 
calidad.


- Subintérpretes para utilizar todos los cores de forma simple: 
https://www.python.org/dev/peps/pep-0554/


- ¿Por qué Python no tiene JIT de serie?. Tema LAGO. Aquí se habló 
de muchas cosas: numba, cython, psyco, PYPI, RPython, web assembly, 
tipado, especialización, pydantic, mypy, memoria transaccional.


- Comenté el versionado de diccionarios para detectar cambios y, si no 
ha habido cambios, usar cosas cacheadas: 
.


- PYPI es demasiado complicado y no ha conseguido ser el intérprete de 
referencia.


- Python en móviles no pinta nada. Otro tema recurrente.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python: Hoy martes a las 19:30

2020-12-15 Por tema Jesus Cea
Hola a todos. Convoco una nueva sesión de la tertulia Python semanal. 
Será hoy martes a las 19:30, hora española.


Como siempre, la charla será en la sala "py2020" de jitsi:
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador
moderno. También hay aplicaciones para Android e iOS.

Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el
aceso público.

Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión
pública posterior (tipo podcast). Entiendo que los participantes están
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene
pegas con esto lo puede comentar al principio de la tertulia. De todas
maneras lo recordaré al empezar.

- Se agradece que se entre con vídeo, aunque el sonido esté silenciado,
porque hablar a una pantalla llena de recuadros negros resulta confuso y
desagradable. No es imprescindible, pero es de agradecer.

- A poder ser, ten el sonido silenciado si no estás hablando. Procura
que tu audio tenga calidad y no meter ruído ambiente.

- La tertulia no tiene tema definido más allá de hablar de Python como
lenguaje. Lo más fácil es romper el hielo con algún problema o algún
descubrimiento reciente con el que te hayas tropezado con el lenguaje.

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Duda/problema con mod_wsgi-express

2020-12-09 Por tema Jesus Cea

On 8/12/20 16:57, Miguel Sanchez wrote:

Es como si durante la generación de los gráficos se "mezclaran" las distintas 
peticiones.


La verdad es que da la impresión de que el problema lo has diagnosticado 
ya tú perfectamente.


Por defecto mod_wsgi procesa las peticiones en paralelo. Si el código 
que genera los gráficos no tiene en cuenta esto y usa estado global, 
pues tendrás problemas.


La forma obvia de diagnosticarlo es configurar "mod_wsgi" para que 
acepte una sola petición por vez. Si esto resuelve el problema, entonces 
el problema está en tu código, que no funciona bien si hay concurrencia. 
Cómo resolver eso ya es problema de tu código, no de WSGI.




No explicas si tienes configurado WSGI para usar multihijo y/o multiproceso.

Si controlas el código, pues escribir un "driver" que genere gráficos 
con tu backend, pasando de WSGI. Si empiezas a pedirle que genere los 
gráficos en paralelo mediante hilos, seguramente te fallará igual, por 
lo que el problema no es WSGI.


--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python: miércoles 9 a las 19:30 (hora de Madrid)

2020-12-07 Por tema Jesus Cea
Esta semana la tertulia será el miércoles a las 19:30 (hora de Madrid), 
ya que hoy martes es festivo en España.


Como siempre, la charla será en la sala "py2020" de jitsi: 
https://meet.jit.si/py2020 . Se puede entrar con cualquier navegador 
moderno. También hay aplicaciones para Android e iOS.


Bloquearé la sala con clave, que retiraré a las 19:30 para permitir el 
aceso público.


Algunos detalles:

- Grabaré el audio de la conversación con vistas a una posible difusión 
pública posterior (tipo podcast). Entiendo que los participantes están 
de acuerdo en ser grabados (el audio, no grabo vídeo). Si alguien tiene 
pegas con esto lo puede comentar al principio de la tertulia. De todas 
maneras lo recordaré al empezar.


- Se agradece que se entre con vídeo, aunque el sonido esté silenciado, 
porque hablar a una pantalla llena de recuadros negros resulta confuso y 
desagradable. No es imprescindible, pero es de agradecer.


- A poder ser, ten el sonido silenciado si no estás hablando. Procura 
que tu audio tenga calidad y no meter ruído ambiente.


- La tertulia no tiene tema definido más allá de hablar de Python como 
lenguaje. Lo más fácil es romper el hielo con algún problema o algún 
descubrimiento reciente con el que te hayas tropezado con el lenguaje.


¡Nos vemos el miércoles!


PS: Por algún motivo en todas las tertulias se ha conectado mucha gente 
de Vigo y alrededores que no conoce que existe una comunidad Python 
importante en la ciudad, con reuniones mensuales (en pausa por el 
COVID-19, como todos). Se sorprenden cuando les digo que hay una cantera 
importante:


https://www.python-vigo.es/
Lista de correo: https://lists.es.python.org/listinfo/vigo

También hay comunidades fuertes de otros lenguajes y tecnologías, 
incluyendo grupos de electrónica y tipo makerspace. Un par cualesquiera 
(hay más):


https://vigotech.org/
https://aindustriosa.org/

--
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



OpenPGP_signature
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Convocatoria Tertulia Python hoy a las 19:30

2020-12-01 Por tema Jesus Cea
On 1/12/20 18:57, Sara Saez wrote:
> Espero llegar a tiempo!!
> Pero todavía tengo reunión
> Que tengo una duda además que preguntaros 
> Habéis hecho páginas web con html, css y Python?
> S
Ya sabes que estaremos un rato largo. Conecta cuando puedas. Ya sabes
que te necesito de backup :-).

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Convocatoria Tertulia Python hoy a las 19:30

2020-12-01 Por tema Jesus Cea
Llevamos un par de encuentros ya, bastante interesantes. El encuentro de
hoy será a las 19:30, hora de España. La duración prevista es de una
hora, aunque siempre nos pasamos bastante :-)

La semana pasada hablamos de cosas como cómo acelerar Python (o
pseudopython), mejoras en Py_LIMITED_API en Python 3.9, Python en
Windows, Guido trabajando en Microsoft, si es buena idea o no el
actualizar bibliotecas y un montón de temas más.

Se trata de una tertulia sin temática previa. Puedes sacar en la
conversacion los temas que te interesen en este momento.

Encuentro en Jitsi. Se puede usar con el ordenador y un navegador web
reciente, o bien con la aplicación para móvil en Android/iOS.

https://meet.jit.si/py2020

En las aplicaciones móviles, hay que unirse a la sala "py2020".

**ATENCIÓN:** En este momento la sala está protegida por clave. Quitaré
la clave a las 19:30.


Os pediría que entraseis con vídeo aunque tengais el audio silenciado,
porque hablar a una pantalla llena de recuadros negros es molesto y
desconcertante.

Si no hay problemas técnicos, el audio se grabará para una posible
difusión futura. Entiendo que quien participe da su permiso para ser
grabado y, tal vez, difundido en el futuro.

¡Nos vemos y oímos esta tarde!

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Tertulia Python: hoy martes a las 19:30-20:30

2020-11-24 Por tema Jesus Cea
On 24/11/20 14:31, Jose Caballero wrote:
> Por curiosidad, ¿de que se habló la semana pasada?
Así, de memoria:

- Los libros que han publicado los podcasts "real python" y "pybytes".
Se contaron algunos "tips" interesantes.

- Eso dio pie a hablar de lo difícil que es conectar las personalidades
síncrona y asíncrona de Python y lo que yo creo que fue una oportunidad
perdida.

- Eso dio pie a hablar de lo mala biblioteca que es "asyncio" comparada
con cosas más "naturales" como "trio".

- Lo bueno que es que "datetime" de Python 3.9 incorpore por fin la
gestión razonable de zonas horarias.

- Eso dio pie a hablar sobre si es bueno o no que una biblioteca se
incluya en la librería estándar de Python, en un mundo donde la conexión
a internet es ubicua, tenemos cosas como "pip", etc. ¿"Battery included"
es un incordio en realidad?

Seguro que me olvido de cosas.

Todo esto fue "orgánico", no había tema prefijado.

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Tertulia online sobre Python? (martes 17 de noviembre, 18:30-19:30)

2020-11-24 Por tema Jesus Cea
On 18/11/20 7:30, Sara Saez wrote:
> Hola
> Quería preguntaros... Se propone un tema previo? Se lanza el tema en el
> mismo momento de la reunión? Se habla de lo que vaya surgiendo? 

Es una tertulia sin tema preio. Yo tengo apuntados algunos para proponer
por si la conversación decae :-).

La intención es que no haya que estudiar antes, que estamos todos muy
ocupados :-).

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Tertulia Python: hoy martes a las 19:30-20:30

2020-11-24 Por tema Jesus Cea
Nueva convocatoria de tertulia Python en español esta tarde, de 19:30 a
20:30, zona horaria de Madrid. La sesión de la semana pasada estuvo muy
bien, a ver si mantenemos el nivel.

La reunión será en jitsi:

https://meet.jit.si/py2020

Hay aplicación para Android e iOS. La sala es "py2020".

En este momento la sala está bloqueada con clave, que retiraré unos
minutos antes de las 19:30.

Os pediría que entreis con vídeo aunque tengais el audio silenciado,
porque hablar mirando solo recuadros negros en la pantalla resulta
desconcertante y un tanto molesto.

Esta vez intentaré grabar el audio (*NO* se grabará el vídeo) para una
posible emisión en podcast. Sobreentiendo que quien participe da su
conformidad a la redifusión posterior.

¡Nos vemos en un rato!

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Tertulia online sobre Python? (martes 17 de noviembre, 18:30-19:30)

2020-11-17 Por tema Jesus Cea
On 17/11/20 23:18, Miguel Sanchez wrote:
> Y dónde será la semana que viene?

Si no hay novedades o sugerencias, la próxima reunión será -como hoy- en
jitsi. Podeis curiosear en  y
. Hay aplicación para Android e iOS.

Si alguien tiene una sugerencia mejor, que la diga. El criterio son que
a) gratis, b) versión desktop y móvil, c) A poder ser, que no necesite
registro y d) a poder ser que no haya una gran empresa comercial detrás,
si es posible .

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Tertulia online sobre Python? (martes 17 de noviembre, 18:30-19:30)

2020-11-17 Por tema Jesus Cea
On 16/11/20 19:29, Miguel Sanchez wrote:
> La tertulia de mañana dónde es?

Ya ha sido. La semana que viene, otra.

La de hoy no se ha grabado. Hay que ir cogiendo el ritmo primero.

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] ¿Tertulia online sobre Python? (martes 17 de noviembre, 18:30-19:30)

2020-11-11 Por tema Jesus Cea
¿Habría gente interesada en una tertulia online sobre Python, digamos
que semanal? Se podría grabar y emitir como podcast luego, si el sonido
tuviese una calidad aceptable.

Llevo tiempo dándole vueltas al asunto y me parece que ahora mismo es
muy necesario.

Se podrían proponer unos cuantos temas a comentar entre todos, aunque la
temática estaría abierta a Python en general.

Temas que se me ocurren, propón tú los tuyos:

- Algún uso idiomático de Python poco conocido, pero útil para compartir.

- Esa gema de Python que no utiliza nadie...

- Novedades de Python 3.9.

- Novedades hasta el momento de Python 3.10 del año que viene.

- ¿Sigues usando "legacy" python (Python < 3)? ¿Por qué?

- ¿Qué opinas de Asyncio?

- ¿Qué haces para compilar librerias para Python en MS Windows?

- Se podrían seleccionar algunas charlas (grabadas) imprescindibles,
verlas cada uno por su cuenta y luego discutir sobre ellas todos juntos.

- "¡No vayas por ahí!", no cometas mis errores, aviso a navegantes.

- "Me he metido en arenas movedizas y no sé cómo salir".

Observa que los temas que sugiero son todos "python puro", cosas que
todos podemos aprovechar para mejorar como programadores. No hablo de
librerías concretas de ámbito muy limitado ni casos hiper específicos
que benefician a unos pocos.

La idea es una tertulia, no una conferencia. Variedad de temas y que
todo el mundo pueda aportar algo de valor.

¿Qué tal el próximo martes 17 de noviembre, de 18:30 a 19:30 hora de
Madrid?. ¿Os va mejor una hora más tarde?.

Si te animas a participar, revisa tu micrófono, a ver si podemos tener
una calidad de sonido aceptable.

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Grabación de la carga de Python-Madrid: Python Heaps-ters by Víctor Terrón

2020-10-06 Por tema Jesus Cea
Por si os la perdisteis en septiembre:

Python Heaps-ters by Víctor Terrón


-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Python 3.9.0 en la calle, y primera alfa de 3.10.0 disponible

2020-10-06 Por tema Jesus Cea
Pues eso, nueva versión de Python lista para ser disfrutada:

https://www.python.org/downloads/release/python-390/

https://docs.python.org/release/3.9.0/whatsnew/3.9.html

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - https://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



signature.asc
Description: OpenPGP digital signature
___
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-27 Por tema Jesus Cea
On 27/11/17 21:38, Francesc Alted wrote:
>  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'. ​

Ordeno los hashes de los bloques que tiene cada nodo. Esto tiene la
ventaja de que puedo hacer un MMAP de ese fichero y hacer un LOOKUP
directo mediante bisección. El problema de eso es que con 2000 páginas
por fichero, tengo que hacer 11 accesos a páginas diferentes. Los
primeros niveles muy posiblemente estén cacheados en RAM, pero los
niveles inferiores son aleatorios y poco cacheables. Muy lejos de los
dos accesos a páginas que me da un "cuckoo hash".

Otra ventajas de tener una lista ordenada de hashes es que operaciones
como la unión, la resta de conjuntos o la intersección son muy sencillos
y eficientes. Me basta con revisar un único elemento de cada conjunto y,
encima, en streaming secuencial. Eso les encanta a las cachés de la CPU :-).

Pasar eso a un "cuckoo hash" supone que, por ejemplo, una intersección,
una resta o una unión de conjuntos requieres dos accesos secuenciales y
un acceso aleatorio (en vez de dos accesos secuenciales). El acceso
aleatorio es costoso pero tolerable, y los "lookups" pasan de requerir
once accesos a páginas diferentes a requerir dos como mucho. La
complejidad en sí del algoritmo es pequeña.

La pregunta es... ¿Se puede hacer mejor?

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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-27 Por tema Jesus Cea
On 27/11/17 21:38, Francesc Alted wrote:
> 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'. ​

Lo cierto es que puedes comprobarlo tú mismo:

>>> hashes = [sha256(b'%d' % i).digest() for i in range(256000)]
>>> hashes.sort()  # Ordeno los hashes
>>> b=blosc.compress(b''.join(hashes), typesize=32)
>>> len(b)
8045911
>>> 100*(1-8045911/(256000*32))
1.7833129882812493

1.78%. Clava a mis resultados con datos reales:

> Para quedarnos todos tranquilos, voy a ver mi caso real:
[...]> 1.7785873168091881
> 
> La compresión es del 1.78%.
-- 
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



signature.asc
Description: OpenPGP digital signature
___
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-27 Por tema Jesus Cea
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 :-)

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%.

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 :-).

> ​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. Lo que yo
tengo montado es la inteligencia que hay por encima que permite
localizar y operar con los objetos A PESAR de que el almacenaje final no
coopera. También la replicación y la verificación de la integridad de
todo el sistema.

Este proyecto tiene unos objetivos muy concretos. No pretende competir
con sistemas de almacenamiento distribuidos donde tienes el lujo de
ejecutar código en la máquina que te da el almacenamiento. En mi caso yo
no puedo ni siquiera confiar en que el almacenamiento no me mienta
descaradamente, como para entregarle alguna responsabilidad en la
gestión del sistema...

Mi sistema lleva funcionando años con una excelente trayectoria. A
medida que crece el espacio de almacenaje hay que evolucionar los
algoritmos. No por un tema específicamente de velocidad, que es buena
ahora mismo cuando no paginas, sino porque a medida que los índices
crecen y ocupan más, acabas paginando. El cambio a "cuckoo hashes"
reduciría mis necesidades de memoria respecto a la versión actual del
sistema a un tercio, aproximadamente. Es decir, con los recursos
actuales, puedo triplicar mi tamaño hasta volver a tropezarme con el
problema que empiezo a rozar ahora: paginar.

Ahora mismo estoy empezando a paginar en algunos momentos. Durante esos
"eventos", el rendimiento del sistema se va al garete y el problema
persiste durante dos o tres minutos por "evento". Reduciendo mis
necesidades de memoria a un tercio, puedo triplicar mi tamaño hasta que
vuelva a encontrarme en el mismo punto que estoy ahora, donde la
paginación "está empezando a molestar" (pero aún no es grave y supone
solo molestias esporádicas).

Con mi ritmo de crecimiento de los últimos años, esto me da unos dos o
tres años de vida, 

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

2017-11-27 Por tema Jesus Cea
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 :-).

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.

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 aleatoricen y sean diferentes cada
vez, aceptando que pueden ser necesario hacer varias replicaciones para
asegurarnos de que realmente está todo replicado) o el control de
integridad (verificar que no sobra ni falta ningún bloque en el sistema).

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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-27 Por tema Jesus Cea
On 27/11/17 10:29, Francesc Alted wrote:
> 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).

En realidad la compresión es mínima y no compensa. Son valores
aleatorios de 256 bits. Aunque estén ordenados de forma numérica, la
ganancia es mínima.

Por ejemplo, un grupo típico tiene 256000 valores. Como cada valor tiene
256 bits, eso supone que cada fragmento de 1000 valores consecutivos
empieza con el mismo byte. Dividiendo esa tabla de 256000 valores en 256
tablas de 1000 valores cada una, ocupando cada entrada 31 bytes en vez
de 32 (porque el primer byte es implícito), la ganancia es de 32->31
bytes, es decir, apenas un 3%. Algo es algo, es verdad. Pero no sé si me
compensa picar código para ganar un 3%.

Además, si uso algo tipo "cuckoo hashing", no puedo aplicar esa
compresión en memoria, que es donde la necesitaría (para paginar lo
mínimo posible).

> Para las búsquedas puedes continuar usando hashes cuckoo,
> pero sólo guardando las claves, no los valores

Es cierto, no lo he explicado: Estoy usando esto para "conjuntos", no
para "diccionarios". Es decir, solo hay claves, no hay valores :). Pero
buen apunte para otra ocasión.

> clase de acceso de manera muy eficiente a través de la llamada
> `blosc_getitem()`

Valoré Blosc brevemente, pero considero que mis datos son
"incompresibles" en RAM. Estoy más interesado en la parte de la
estructura de datos a utilizar para que las búsquedas sean eficientes
considerando que tengo poca RAM, no hay localidad de acceso en las
búsquedas (los datos que se buscan son aleatorios y no hay correlación
entre ellos) y puedo necesitar paginar al SWAP. Por eso estoy tan
interesado en reducir al mínimo los accesos a páginas diferentes de 4096
bytes (La unidad de paginación). Los haskes cuckoo me garantizan un
máximo de dos accesos por búsqueda en el peor de los casos. Posiblemente
no sea mejorable y, básicamente me interesa que alguien me diga "pues
estás equivocado, Jesús, mírate el algoritmo XXX, que te garantiza un
único acceso a página".

De hecho en este caso existe una posibilidad más: Como los datos son
aleatorios y "bien repartidos", podría hacer una búsqueda "estimativa"
en plan: "me da en la nariz que el valor, si existe, está en esta zona"
y buscar directamente allí. Las búsquedas dentro de una página de 4096
bytes las considero "gratis". Lo que duele es la paginación. 4096 bytes
me dan para 128 entradas. Mirarlas una a una es "gratis" comparado con
tocar el disco duro.

Esto ya lo había pensado, pero lo cierto es que por necesidades del
sistema no puedo basarme en que los datos estén "bien repartidos". Ahora
mismo lo están, pero no es un requerimiento de diseño y puede no
cumplirse en el futuro. Necesito algo capaz de sobrevivir a "sesgos".

Otra posibilidad sería tener una tabla con el primer primer registro de
cada página de 4096 bytes. Es decir, 32 bytes por cada 128 registros
(4kbytes). Si mi conjunto tiene 256 entradas, son 2000 páginas de
4096 bytes. Puedo tener un índice de 2000 entradas (64000 bytes, 16
páginas de 4096 bytes). La búsqueda en el índice es binaria y podría
tocar 4 páginas, pero es razonable pensar que un índice de 64Kbytes sí
lo puedo mantener en RAM, incluso con un "MAP_LOCKED" o "mlock()".

Claro que el problema es que mis datos no miden 256000 entradas. Son
docenas de conjuntos, cada uno con 256000 entradas. No estamos hablando
de 64 kbytes en RAM para el índice, sino 64*número de conjuntos, y ese
numero de conjuntos va por los cientos y subiendo.

En fin, el asunto es engañosamente sencillo.

De momento va ganando el cuckoo hashing. Es una estructura sencilla y me
garantiza un máximo de dos accesos a página, por muy grandes o muy raros
que sean mis datos.

Mi esperanza es que alguien me sugiera algo mejor :-).

Para uno de los modos de uso del sistema, el que más me importa, estoy
valorando usar "filtros cuckoo", tolerando un pequeño nivel de falsos
positivos, del orden del UNO por millón. Sigo teniendo dos accesos por
búsqueda, pero como ahora la estructura es más pequeña es más factible
que el número de accesos al SWAP se reduzca (recordemos que lo que me
penaliza es la paginación, las búsquedas en memoria las considero
gratis). Esto complicaría ese caso de uso porque ahora podría tener
falsos positivos, lo que supone que una vez por millón de accesos voy a
ir a buscar el dato a un servidor, me va decir que no está ahí y luego
tengo que hacer un acceso al servidor "por defecto". Ese "error" es muy
costoso en recursos y tiempo, pero si solo ocurre una vez por millón de
accesos, el coste amortizado es bajo.

Decisiones, decisiones...

Gracias por responder, Francesc. Buen aporte.

-- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
Twitter: @jcea 

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

2017-11-26 Por tema Jesus Cea
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



signature.asc
Description: OpenPGP digital signature
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] Se busca colaborador fijo para el podcast "Python en español"

2015-12-04 Por tema Jesus Cea
Estoy buscando (al menos) una persona regular para tener debate en el
podcast "python en español". La dedicación es de más o menos media hora
a la semana para la grabación en sí más, tal vez, un par de horas para
experimentar y familiarizarse con la tecnología que se proponga para el
debate, si es el caso. Necesario hablar bien, no soltar tacos, tener un
micrófono decente y, sobre todo, mucha curiosidad y ganas con Python,
aprender funciones nuevas, etc.

Si hay varios voluntarios ya sería la leche :).

Adicionalmente nos vendría bien tener alguien que se encargue de la
edición del podcast. Es la parte más ingrata y menos valorada y, al
final, la que frena el podcast. Hay ya mucho trabajo hecho en
procedimientos y experiencia, pero hace falta alguien con el Audacity.

¿Que qué es "Python en español"?

https://blog.jcea.es/posts/20151015-estadisticas_podcast.html

http://podcast.jcea.es/python/

Interesados, escribid a mi email personal. Las dudas generales las puedo
responder en la lista de correo, para beneficio de todos.

PS: Lamentablemente, todas estos trabajos son voluntarios. No hay
remuneración. Al menos no de momento.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] 'Heredar' un venv dentro de otro

2015-12-03 Por tema Jesus Cea
On 29/11/15 23:49, Kiko wrote:
> David, he probado eso con resultados francamente malos. Estoy buscando
> una solución existente, consistente y sólida si existe. Si no existe
> igual es un desarrollo interesante.

Una opción trivial es añadir un directorio más a "sys.path", apuntando a
tu virtualenv base.

Echa un vistazo a los ficheros ".pth".

Para el tema de la recompilación, lo suyo es instalar (o generar
localmente) wheels cacheados en el sistema. Así solo tienes que compilar
una vez por versión que se publica, no una vez por versión por número de
virtualenvs a actualizar.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Librería para acceder a los micros del ordenador?

2015-10-20 Por tema Jesus Cea
Para el podcast me he escrito un programa que usar la libería "pyaudio"
que me da acceso al micrófono del ordenador ocultándome lo que tengo por
debajo (por ejemplo, PulseAudio). El problema es que esa librería solo
funciona en Linux y en Macintosh (instalando cosas a mano). Necesitaría
también algo que funcionase en Windows, por ejemplo.

¿Alguna sugerencia?. ¿Algo que funcione en Linux modernos, Mac (a poder
ser instalando lo mínimo posible) y Windows?.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Detección automática de "sobreescritura" en matplotlib

2015-10-19 Por tema Jesus Cea
Haciendo el primer gráfico en
 ya me
costó tinta encontrar cómo dividir la caja de la leyenda en dos para no
machacar el gráfico, pero ahora me gustaría que a la hora de dibujar las
flechas y el programa "supiese" si poner el número arriba o abajo de la
línea y qué longitud de la flecha usar para que no haya "machaques" con
otros elementos gráficos.

Por ejemplo, en el primer gráfico de
, el
primer "6" de abajo podría haberse movido un poco a la izquierda para
evitar chocar con el 5, y el último 6 se podría haber colocado arriba en
vez de abajo para evitar cruzar la línea celeste.

¿Alguien sabe cómo hacer esto sin tener que currármelo yo a mano?.

La cosa es más clara aún en
, donde
poner simplemente los dos "3" encima en vez de debajo hubiera dejado el
gráfico más limpio.

Sugerencias bienvenidas. Gracias

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Detección automática de "sobreescritura" en matplotlib

2015-10-19 Por tema Jesus Cea
On 19/10/15 16:31, Kiko wrote:

> Hay cosas peregrinas como:
> 
> .
> Me pregunto si Matplotlib tiene algo nativo.
> 
> 
> Creo que no.
> 
> Shapely sí que lo tiene [1]. Defines polilíneas y puedes obtener las
> intersecciones de forma muy sencilla. Podrías usar Shapely para hallar
> las intersecciones y cuando las tengas pintar como desees en mpl.

Sí, estoy curioseando shapely, aunque la documentación tiene dos años de
retraso (La versión actual es 1.5.x y el manual habla de la 1.3.x, puf).
Ya lo había usado antes para temas de cartografía. Me preocupan un poco
sus dependencias pesadas. No todo el mundo usa Linux y tiene las
librerías GEOS y demás preinstaladas... Para lo que necesito es bastante
overkill, tengo que darle una pensada.

Gracias, Kiko.

Si alguien tiene otras ideas, soy todo ojos.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Detección automática de "sobreescritura" en matplotlib

2015-10-19 Por tema Jesus Cea
On 19/10/15 14:13, Kiko wrote:
> En mpl, todo lo que se pinta es un objeto y se puede extraer sus
> coordenadas. Puedes crear una función que inspecciones todo lo que se
> grafica y establezca si mover algo en función de que esté encima o
> debajo de otra cosa.

Entiendo que puedes obtener el "bounding box" de un objeto. Esto es útil
para cosas como las flechas y los números del ejemplo que comentaba,
pero una linea diagonal de abajo a la izquierda a arriba a la derecha
tendrá un "bound box" del gráfico entero.

Una opción posible es dibujar las líneas a mano, punto a punto, y
guardarme las coordenadas precisamente para poder ver colisiones con
esos "bounding box" de los elementos más pequeños. Pero parece overkill.

Me pregunto si hay alguna función en matplotlib que te diga si dos
gráficos se intersecan o si un "bounding box" interseca una línea... No
sé si el método "contains()" podría ayudar.

Hay cosas peregrinas como:
.
Me pregunto si Matplotlib tiene algo nativo.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Detección automática de "sobreescritura" en matplotlib

2015-10-19 Por tema Jesus Cea
On 19/10/15 18:06, Kiko wrote:
> conda install shapely

La dictadura de la mayoría... ¿Y si lo quiero instalar sobre un Solaris
o un FreeBSD sobre ARM? :-).

Las cosas automáticas funcionan mientras tengas lo que tiene todo el
mundo, sino más te vale saber hacerlo a mano.

En mi caso me lo documento TODO:

"""
* GEOS 3.4.2 (26/abr/15)

URL: https://trac.osgeo.org/geos/

Estado: En producción en mi portátil HP

Geometry Engine, Open Source.

  ./configure --disable-static
  make
  make check

No compilamos lo bindings Python directamente, sino que
accedemos a través del módulo "shapely".
"""

Soy de la vieja escuela, saber cómo funcionan las cosas, sin magia :).

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Detección automática de "sobreescritura" en matplotlib

2015-10-19 Por tema Jesus Cea
On 19/10/15 18:22, Juan Luis Cano wrote:
> On 2015-10-19 16:59, Jesus Cea wrote:
>> Para lo que necesito es bastante
>> overkill, tengo que darle una pensada.
> 
> Tal vez no sea tan overkill Jesús. El problema de etiquetar
> automáticamente un mapa es NP-hard[1], así que yo esperaría que hacer
> que «el programa "supiese" si poner el número arriba o abajo de la línea
> y qué longitud de la flecha usar para que no haya "machaques" con otros
> elementos gráficos» sea altamente no trivial.

Si es que siempre me pasa lo mismo, siempre en el límite del estado del
arte, puñetero perfeccionismo :-p

En mi caso las etiquetas tienen posición fija y solo habría que decidir
si ponerlas "arriba" o "abajo". Hay 2^n combinaciones, con un n bajo
(digamos 10-12 como mucho). Si añado alguna libertad más, como la
longitud de la flecha, el tema todavía parece tratable. Mi espacio de
búsqueda es limitado y, definitivamenter, tratable incluso por pura
fuerza bruta.

> [1] http://www.wikiwand.com/en/Automatic_label_placement

El artículo parece tratar exactamente lo que necesito... pero es parco
en detalles. Al menos me sirve para localizar términos de búsqueda para
seguir progresando. En todo caso parece que me he metido en un jardín
complicado... como siempre :-/.

Gracias.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Curso de Coursera que puede resultar interesante para novatos

2015-08-07 Por tema Jesus Cea
Para novatos de la programación en general, no solo Python :).

https://www.coursera.org/course/pythonlearn

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] CodeMotion 2015: Hagamos de Python una tecnología a tener en cuenta

2015-06-09 Por tema Jesus Cea
Plazo hasta el 30 de junio:
https://www.koliseo.com/codemotion/codemotion-madrid/r4p/5685252034920448

Tecnologías que queremos ver:
https://docs.google.com/forms/d/1MSvkxSmtB2bZ3suvX_XljydOrYcqDSc4FBh-Ui3Amjk/viewform?c=0w=1

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Podcast Python!

2015-03-25 Por tema Jesus Cea
On 25/03/15 20:09, Kiko wrote:
 Para próximas ediciones sería interesante destinar unos minutos de
 sección fija a hablar de los eventos próximos para recordarlos, para
 recordar que existe un calendario de eventos,...

El repaso al calendario es sección fija :).

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Podcast Python!

2015-03-25 Por tema Jesus Cea
On 25/03/15 18:19, Alexandro Colorado wrote:
 Si no lo han hecho les recomiendo registrarlo en my.gpodder.net
 http://my.gpodder.net 
 Esto lo hace facil de encontrar en la red de gpodder.

¡Voy!. El proceso es un poco extraño. Para empezar, es manual.

Ya estamos en itunes, ivoox y pronto en gpodder. Madre mía, ¿cuántas
puñeteras webs de difusión de podcasts hay?. Ya podrían interoperar
entre ellas...

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Qué frase más buena

2014-11-05 Por tema Jesus Cea
@dabeaz: The GIL is like the Ebola of Python.  Sure, it might affect
you, but your code is a million times more likely to die from a
UnicodeError.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Compartir y comentarios sobre esta extensión para Thunderbird

2014-10-18 Por tema Jesus Cea
Hola. La relevancia para el grupo es cómo expandir Thundebird (u otros
productos Mozilla) mediante componentes Python.

Espero que os resulte de interés, al margen de la aplicación concreta. Y
me gustaría poder comentar algo sobre ellos el próximo martes en Python
Madrid.

Siento que el artículo esté en inglés. Lo he hecho así para intentar
darle más difusión:
http://blog.jcea.es/posts/20141011-thunderbird_notify.html.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Llamamiento: creación de la comunidad de autoaprendizaje de python en Almería

2014-05-15 Por tema Jesus Cea
On 15/05/14 13:06, Luis Miguel Morillas wrote:
 El caso es que en Almería capital no terminamos de encontrar gente
 suficiente para apoyarnos en los talleres presenciales y para tutelar
 y atender las dudas en los foros. Por esto que me dirijo al foro para
 convocar a la iniciativa a cualquier persona con las habilidades
 suficientes y ganas de levantar una comunidad local en Almería capital
 y provincia.

Puedes probar a convocar unas PyBirras. Si nos avisáis con unos días de
antelación, le damos difusión en twitter y en
http://calendario.es.python.org/.

Un ejemplo que acabo de publicar ahora mismo:

Tenerife PyBirras 2.0
https://twitter.com/python_es/status/467070007927922688

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] ¿Algún recurso sobre trucos prácticos y ejemplos realistas de testing?

2014-05-01 Por tema Jesus Cea
On 27/04/14 18:46, Chema Cortes wrote:
 Muy interesante este proyecto. Mis felicitaciones. ¿Tema para Z-podcast? :)

Jeje. ¿Te animas a grabar? :-). ¿Tienes un micro decente? :)

 El teorema CAP, aunque se asocia al almacenamiento de datos, en realidad
 está formulado en términos de los mensajes que intercambian los nodos.
 Aunque tus workers estén desacoplados, los tablones no lo están. Y
 aunque sea un único tablón distribuido a través de spread, el mantenerlo
 sincronizado hace que pierda disponibilidad y/o consistencia. Se pierde
 disponibilidad cuando no llegan los mensajes de confirmación del último
 cambio; se pierde consistencia cuando los nodos dejan de recibir los
 mensajes de actualización. Lo que viene a decir el teorema CAP es que
 siempre perderás uno u otro tipo de mensajes.

Lo sé. Solo señalo que en mi caso CONCRETO no es un problema, la
aplicación lo tolera. No es una solución general que, como indica el
teorema CAP, simplemente no existe.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] ¿Experiencia con OpenBadges?

2014-04-27 Por tema Jesus Cea
¿Alguien tiene experiencia con http://openbadges.org/?

Estoy dándole vueltas a una idea y me gustaría poder consultar algunas
dudas y experiencias ajenas, para no sufrir la curva de aprendizaje
desde cero.

De momento la idea es que los socios de la asociación Python España, los
ponentes de las reuniones locales de Python, ponentes de PyConES, etc.
tengan un badge criptográficamente verificable.

Se aceptan ideas y sugerencias.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] ¿Algún recurso sobre trucos prácticos y ejemplos realistas de testing?

2014-04-26 Por tema Jesus Cea
On 26/04/14 14:46, Chema Cortes wrote:
 No sé si usarás un modelo Linda en tu tablón de anuncios, pero este
 modelo no es precisamente de *escabilidad infinita*. Era su punto
 flaco, que al crecer el número de procesos el sincronismo del
 tuple-space ralentizaba bastante y hacía perder disponibilidad.

Conozco el teorema CAP.

En mi caso uso la idea del tablón de anuncios para enviar trabajos a los
workers. Son trabajos idempotentes. La escalabilidad la obtengo
aumentando el número de workers y de tablones, y la redundancia igual.

Lo peor que puede pasar es que un tablón quede inaccesible y sus
trabajos pendientes (o las respuestas) se pierdan. Como el trabajo es
idempotente, el cliente simplemente lo vuelve a postear de nuevo en otro
sitio. Si fue una falsa alarma, tendremos un resultado duplicado, que es
muy esporádico y que no me causa problemas precisamente por el tema de
idempotencia.

Por ejemplo, el correo electrónico puede postar en el tablón un email y
pedir un análisis antivirus o antispam. Esta actividad es claramente
idempotente :-).

O, en otro proyecto, generación de tiles para mapas.

Como siempre, todo depende de la aplicación :).

Lo que te dice el teorema CAP, relevante a esta discusión, es que la red
puede particionarse. En mi contexto las particiones no afectan mi
disponibilidad. Pero yo estoy hablando de workers de trabajos
idempotentes, no de almacenamiento.

La consistencia no me afecta, porque los trabajos no requieren
coordinación ni información 100% consistente (el ejemplo del antivirus o
de los mapas).

La disponibilidad se resuelve con la detección de caídas de tablones y
nuevo posteo de la petición. Lo peor que puede pasar es que se reciban
duplicados, triviales de eliminar.

En resumen, la aplicación está cuidadosamente diseñada, y mi problema me
permite gestionar el trabajo así. Mi problema no es el de facebook, es
el de OpenStreetMap y sus tiles :).

En realidad no uso múltiples tablones, sino un tablón distribuido con
ésto por debajo: http://www.spread.org/ . Lo tengo en producción hace lo
menos 10 años, posiblemente más.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] ¿Algún recurso sobre trucos prácticos y ejemplos realistas de testing?

2014-04-23 Por tema Jesus Cea
Repito el mensaje completo porque han pasado casi 5 meses desde el hilo
original y habrá gente que no lo haya leído. Comentarios al final.


On 05/01/14 15:08, Andrey Antukh wrote:
 
 
 
 El 31 de diciembre de 2013, 10:06, Jesus Cea j...@jcea.es
 mailto:j...@jcea.es escribió:
 
 Una cosa que he ido descubriendo con los años es que para poder hacer
 buenos tests es conveniente que lo que estés probando se preste a
 ello. Tienes que programar de forma que lo que haces sea fácilmente
 testable.
 
 El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es
 utilizar inyección de dependencias. De hecho hubo una época en la que
 di la lata un poco para incluir inyección de dependencias en Python,
 pero la respuesta masiva fue que eso era antipitónico y que el futuro
 eran los mocks y similares.
 
 Pero me encuentro que para probar una rutina de 20 lineas escribo 200
 lineas de tests más complejos que la propia rutina a comprobar, el
 desarrollo es lento y no puedo evitar pensar que estoy haciendo algo
 mal :-).
 
 Así que, ¿alguien conoce recursos online con consejos prácticos y
 ejemplos realistas?. Porque hacer un chequeo mínimamente completo de
 esta rutina está siendo un infierno.
 
 Esta rutina genera una clave al azar e intenta registrarla en un
 servidor, que devuelve un 401 mientras un administrador no ha admitido
 el registro (y en ese caso devuelve un 200). Una vez que tenemos el
 200, nos guardamos ese usuario y clave en disco y no necesitamos
 repetir la operación.
 
 
 def consigue_autenticacion() :
 # Creamos el fichero si es preciso
 open(/tmp/heartbeat, w).close()
 #os.utime(/tmp/heartbeat)
 
 try :
 with open(/local/auth, r) as f :
 token = f.read().strip()
 if   in token :
 return  # Ya tenemos usuario y clave
 except FileNotFoundError :
 with open(/dev/urandom, rb) as f :
 token = f.read(4096)
 if len(token) != 4096 :
 raise RuntimeError(Lectura parcial de entropía)
 token = md5(token).hexdigest()
 with open(/local/auth, w) as f :
 f.write(token+\n)
 
 usuario = XX
 clave =   # Confidencial, pero no crítico
 auth = requests.auth.HTTPBasicAuth(usuario, clave)
 
 addr = netifaces.ifaddresses(eth0)
 ip_addr = addr[netifaces.AF_INET][0][addr]
 mac_addr = addr[netifaces.AF_LINK][0][addr]
 mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \
 mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17]
 
 factor = 1*60
 while True :
 t = time.time()
 respuesta = requests.get(https://XX.jcea.es/registro?;
 ip_addr=%smac_addr=%sts=%.0f \
 %(ip_addr, mac_addr, time.time()),
  auth = auth,
  verify = X.jcea.es.cert,
  timeout = 1*60,
  headers = {clave: token})
 os.utime(/tmp/heartbeat)
 if respuesta.status_code == 401 :
 t = t + factor
 factor = factor * 3
 if factor  3600 :
 factor = 3600
 while time.time()  t :
 time.sleep(10)
 os.utime(/tmp/heartbeat)
 continue  # Volvemos a intentarlo
 elif respuesta.status_code == 200 :
 with open(/local/auth, w) as f :
 f.write(mac_addr+ +token+\n)
 return
 else :
 raise RuntimeError(El servidor nos devuelve un status %s \
 %respuesta.status_code)
 
 
 El código de testeo de esta rutina es complicado de cojones, feo,
 frágil. Uso Mocks para comprobar que las llamadas se realizan en el
 orden y con los parámetros correctos, tiro excepciones, simulo
 ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido
 costosísimo.
 
 ¿Consejos?.
 
 Se admiten recomendaciones de libros.
 
 ___
 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/
 
 
 
 Hola.
 
 La rutina que presentas, es obviamente muy complicada de testear, pero
 por que? veamos:
 
 * Demasiada logica, la funcion es demasiado grande y hace demasiadas
 cosas de bajo nivel
 * * La logica de generar token tiene que ser otra funcion, que puda ser
 mockeada (con un mock tonto de una lambda que devuelve un token dymmy)
 * * http, tiene que ser otro metodo que abstraiga de http, tu funcion no
 tiene que saber de http, tiene que saber solo de lo que hace, autenticar.
 * * la parte de  netinterfaces tambien tiene que ser abstraida.
 
 
 Si te fijas, en esta rutina tienes 0 de abstraccion, usas todas las
 bibliotecas tal cual con toda la logica adicional que eso implica,
 moquear eso es un infierno, pero si ocultas diferentes partes de la
 logica con una responsabilidad unica en distintas funciones, probar la
 logica

Re: [Python-es] ¿Algún recurso sobre trucos prácticos y ejemplos realistas de testing?

2014-04-23 Por tema Jesus Cea
On 31/12/13 16:44, Chema Cortes wrote:
 Para peticiones asíncronas, el patrón que parece funcionar mejor es el
 patrón Actor. Al convesar con el resto de actores a través de
 mensajes, es mucho más fácil desacoplar y testear cada parte por
 separado (o sea, con mocks que emulan otros actores). Lo único
 complicado es crear un diseño de actores que sea suficientemente
 resiliente (recuperación frente a fallos). Para python hay librerías
 Actor como pykka[1], parley[2] o pulsar[3], pero no las he probado
 como para darte alguna idea.
 
 Para realizar las pruebas, mírate pywovs[4] a ver si te ahorra trabajo.
 
 [1]: http://pykka.readthedocs.org/en/latest/
 [2]: http://osl.cs.uiuc.edu/parley/
 [3]: http://pythonhosted.org/pulsar/
 
 [4]: http://heynemann.github.io/pyvows/
 
 
 No conozco libros que traten de estos temas para python. Mi consejo es
 que te mires otros lenguajes como Scala/Akka o Erlang si piensas hacer
 un sistema de actores algo más complejo.

Cuando vi por ahí el tema de actores, hace ya bastantes años, me
sorprendí que fuera una novedad, porque yo es lo que suelo usar hace
mucho, cuando me dejan. Mis primeros pinitos con algo parecido fue con
la idea de tablón de anuncios del lenguaje Linda. Escalabilidad
infinita, reparto de carga automática, transparencia ante caídas de todo
lo que no sea el propio tablón de anuncios

https://en.wikipedia.org/wiki/Linda_%28coordination_language%29

Muerto hace mucho: https://code.google.com/p/pylinda/

Me apunto las librerías de actores que indicas. Las curiosearé.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Calendario iCalendar de eventos Python en España

2014-03-18 Por tema Jesus Cea
http://calendario.es.python.org/stories/icalendar.html

Se agradecen comentarios y sugerencias.

-- 
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



signature.asc
Description: OpenPGP digital signature
___
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] Alguien con experiencia con iCAL que me eche una mano en el calendario

2014-03-13 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 13/03/14 22:09, Eduard Diaz wrote:
 Si, tienes razón, en general para no hacer programación vudú hay
 que documentarse :/

Bueno, tengo más dudas como, por ejemplo, cómo indicar cada cuánto
debe refrescar el calendario. Con hacerlo una vez al día, como mucho,
debería ser suficiente. No me machaquéis el servidor.

También quiero configurar alarmas automáticas.

Los que quieran probarlo un poco, pueden suscribirse a

http://calendario.es.python.org/calendario.ics

Agradezco feedback.

Quiero meter alarmas (en iPhone cuando se añade un calendario se
pueden desactivar sus alarmas). Una alarma una semana antes del
evento, otra el día anterior y otra dos horas antes. ¿Os parece
razonable?. Quien no las quiera, las puede desactivar en su móvil,
supongo que en Android también se podrá hacer.

Por supuesto, además del calendario global, podrás seguir SOLO tu
ciudad, para evitar ruido.

Para el tema de limpieza de entradas, lo que tengo pensado (en el
futuro) es ir quitando del calendario las entradas en el pasado, pero
no sé si os parece aceptable que desaparezcan eventos ya pasados. Yo
suelo, por ejemplo, añadir entradas a mi calendario y no quitarlas
nunca. Es como un diario, con sus notas del evento etc. ¿Cómo lo veis
vosotros?.

En iPhone se queja porque el calendario no se manda protegido por
HTTPS. Ciertamente eso es un problema si estáis en una red que no es
de fiar. No sé si vale la pena preocuparse por ello, pero hay que ser
consciente del riesgo.

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCAAGBQJTIl2kAAoJEGjgN61Khv5D5K0IAJZOR7JzHyLcIssMWs7aYf1a
bYOenqdC0G/hhHBfndzm1Yf8i5xu6bP8K58PBVVVlw6H/917S+rnTxMxTBD5+Ah5
uJ7olw6wktxQtr5YSjRmyNoQOvtpNnqB6f59UEC06hBNPHvjMKXXhgPvNIQy4uSw
brzdXZO8Q+aqy4xMHAPjWiLS4anHs7IkqAVRZA89jHIEm+DhODle6jLmSPdZLy96
I+YT99iUxjfPvwsSCRAqPfSaw4nOfc2QHL2gy1K5M+HCfLq5lVmOiKCxNO6AWmSs
zzm/9CJnLqE69pdRGUAZetmG/XbaHRJ1mbeNtROlzsZbwmU9PyCk3wKFzo5PQhk=
=kA4y
-END PGP SIGNATURE-
___
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] Primera PyBirras en Tenerife

2014-02-01 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Apuntado en el calendario y mandado por twitter:

http://calendario.es.python.org/posts/20140211-tenerife.html

https://twitter.com/python_es/status/429837465814585344

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCAAGBQJS7c1vAAoJEGjgN61Khv5DRjAH/RPon1JctQQcBR1YUcSq3BS1
ayKIb76P8ZqLufh2I1AKJH6UxipfXbcZurqQ7HwkTJWNFXnZA9twfWycwSmvES+2
iQ09NUCCT/EXqP0En51/K1BR2jBkr6FLqEmUt6dmRCRwvY+qtlWSzx2W2+fjTTLF
l/yalt837Hwc3TrRcGGeqEqCxL277u7H6/kBxq+Q6K+6YflX2A5YTdkeC2T4eSMj
riaOypRFcVwNNvErDUFCmMBBiSyUPINgMFtRHi3C8xz7EXlbbM7DZLXGO/PDvcVM
UNx1LgPp/+TIoAH+xIBCTtsmwhr5K5UpDDE1iG/wXVyo3Lx2F/Jv8spN+ShS+Nk=
=j+1U
-END PGP SIGNATURE-
___
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] ¿Algún recurso sobre trucos prácticos y ejemplos realistas de testing?

2013-12-31 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Una cosa que he ido descubriendo con los años es que para poder hacer
buenos tests es conveniente que lo que estés probando se preste a
ello. Tienes que programar de forma que lo que haces sea fácilmente
testable.

El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es
utilizar inyección de dependencias. De hecho hubo una época en la que
di la lata un poco para incluir inyección de dependencias en Python,
pero la respuesta masiva fue que eso era antipitónico y que el futuro
eran los mocks y similares.

Pero me encuentro que para probar una rutina de 20 lineas escribo 200
lineas de tests más complejos que la propia rutina a comprobar, el
desarrollo es lento y no puedo evitar pensar que estoy haciendo algo
mal :-).

Así que, ¿alguien conoce recursos online con consejos prácticos y
ejemplos realistas?. Porque hacer un chequeo mínimamente completo de
esta rutina está siendo un infierno.

Esta rutina genera una clave al azar e intenta registrarla en un
servidor, que devuelve un 401 mientras un administrador no ha admitido
el registro (y en ese caso devuelve un 200). Una vez que tenemos el
200, nos guardamos ese usuario y clave en disco y no necesitamos
repetir la operación.


def consigue_autenticacion() :
# Creamos el fichero si es preciso
open(/tmp/heartbeat, w).close()
#os.utime(/tmp/heartbeat)

try :
with open(/local/auth, r) as f :
token = f.read().strip()
if   in token :
return  # Ya tenemos usuario y clave
except FileNotFoundError :
with open(/dev/urandom, rb) as f :
token = f.read(4096)
if len(token) != 4096 :
raise RuntimeError(Lectura parcial de entropía)
token = md5(token).hexdigest()
with open(/local/auth, w) as f :
f.write(token+\n)

usuario = XX
clave =   # Confidencial, pero no crítico
auth = requests.auth.HTTPBasicAuth(usuario, clave)

addr = netifaces.ifaddresses(eth0)
ip_addr = addr[netifaces.AF_INET][0][addr]
mac_addr = addr[netifaces.AF_LINK][0][addr]
mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \
mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17]

factor = 1*60
while True :
t = time.time()
respuesta = requests.get(https://XX.jcea.es/registro?;
ip_addr=%smac_addr=%sts=%.0f \
%(ip_addr, mac_addr, time.time()),
 auth = auth,
 verify = X.jcea.es.cert,
 timeout = 1*60,
 headers = {clave: token})
os.utime(/tmp/heartbeat)
if respuesta.status_code == 401 :
t = t + factor
factor = factor * 3
if factor  3600 :
factor = 3600
while time.time()  t :
time.sleep(10)
os.utime(/tmp/heartbeat)
continue  # Volvemos a intentarlo
elif respuesta.status_code == 200 :
with open(/local/auth, w) as f :
f.write(mac_addr+ +token+\n)
return
else :
raise RuntimeError(El servidor nos devuelve un status %s \
%respuesta.status_code)


El código de testeo de esta rutina es complicado de cojones, feo,
frágil. Uso Mocks para comprobar que las llamadas se realizan en el
orden y con los parámetros correctos, tiro excepciones, simulo
ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido
costosísimo.

¿Consejos?.

Se admiten recomendaciones de libros.

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.15 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUsKJG5lgi5GaxT1NAQLu7wQAlG+qzPwUIZWi0wLtgXBg44WWMbODuqZd
SQrsSxFxEL5GHhyWiW2RCJ7cG5B9Sgtbfg2Sez0o9PiAwFxMku42DxTJwS/tPTpK
15I9WUuvN2lylAOvMPvn5CuUsuis2wQ0R2hv5jgXPJ39Kl/e2ncwuiZB83J1APvd
5jZXkbYoTz8=
=9H+8
-END PGP SIGNATURE-
___
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] Librería HTTP con soporte de range

2013-08-20 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Estoy buscando una librería HTTP con soporte de la cabecera range,
incluyendo rangos múltiples del tipo Range: bytes=100-110,200-220,
que devuelven una respuesta multipart/byteranges.

No sé si requests lo permite. ¿Alguna sugerencia?

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUhOaF5lgi5GaxT1NAQK/KgP/e1vPbXajU4c7XtbIZa9aS/IeuMZMKEfV
RyoC2j1vkoXdcbb5pGaMHcTMWzs22zKmKJRSWQD1Pk8OHOhu+wixOveqdgqln101
dqm1lBXA1DyGp+YqCfV8+o8BVC+y+LqSK1MloZwEbDZDEI1DbvqUeOn+MpvSfp9c
PPHNyqnJ0Qk=
=XjeY
-END PGP SIGNATURE-
___
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] [Py-ES] [Anuncio] Abierto el call for papers para la PyConES 2013

2013-06-04 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 04/06/13 19:56, Yamila Moreno Suárez wrote:

 Juan, la lista para la organización es esta... al principio se
 propuso, pero como parece que esta lista no tiene mucho movimiento
 más allá de bienvenidas y dudas puntuales sobre la comunidad, se
 re-aprovecha.
 
 Si el flood molesta, creamos una lista y sin problemas (lo
 considero muy útil en términos organizativos, pero tampoco es
 crucial).

No, esta lista es para programación python de habla hispana. Para
temas de Python de ámbito español que *NO* son programación, como la
PyConES, la lista apropiada es gene...@lists.es.python.org:
https://lists.es.python.org/listinfo.

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUa6lMplgi5GaxT1NAQIB8QP9Emoxmx0lQauQ3eQbh2u8qorEwDJ0czuS
tRbPTttfd9IIHemv5Mani/qsURmHY22D7B9T6jCh9EEL4Bm2FjGWAi4b3IHIvlcE
fdqFkF5Wcz12bpXg7Sukk3Jcxg5/cVGrCINSKEmVicKL8tqUO8YH1bE/uuKnHEZ/
uiGIXmy7qm4=
=mq0B
-END PGP SIGNATURE-
___
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] Fwd: [madrid-devops] Codemotion Madrid 2013

2013-05-15 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

El año pasado de discutió mucho sobre presentar ponencias de Python,
para dar visibilidad a la comunidad.

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUZRCZZlgi5GaxT1NAQIclQQAmU8lL2QS7EYcKvlOlpSHqI154GCmCHWS
e+PJ68ZPCr7EbvvhP3DFOfIdx4ucIouoAfJVCXM7bLqSZfoLCQxhxx5/rGS/uCUz
WRt89JjEsbt0baD5EmCveJpWcYq53NkT6JRhL+FGvPxe8ZRCFz8yajfNQbLyEilb
KPxCPe6+7e4=
=fFHw
-END PGP SIGNATURE-
---BeginMessage---
Hola a todos,

El evento Codemotion Madrid 2013 (http://codemotion.es/) acaba de abrir el 
periodo de aceptación de ponencias.  Este año se celebrará los días 18-19 
de Octubre, y podemos aportar charlas y como grupo, pedir espacio y tiempo 
para montar workshops y open spaces.

Estamos empezando a hablar con ellos para participar y promocionar el 
evento.  Cualquiera que tenga interés, bienvenido es y que comente en el 
grupo, o en el IRC.

Saludos
Jorge Moratilla



-- 
Has recibido este mensaje porque estás suscrito al grupo Madrid Devops de 
Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos 
electrónicos, envía un correo electrónico a 
madrid-devops+unsubscr...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


---End Message---
___
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] librería para base de datos berkeley

2013-05-14 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 23/04/13 16:22, mauricio rodriguez wrote:
 Muchas gracias !!!
 
 El 23 de abril de 2013 03:25, lasizoillo lasizoi...@gmail.com 
 mailto:lasizoi...@gmail.com escribió:
 
 https://pypi.python.org/pypi/bsddb3/5.3.0

Soy el mantenedor de esta librería. Si necesitas algo... :-).

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUZLG6plgi5GaxT1NAQIdrgQAlZxK5qfXsf9pZyLy5ui3I3VIcWWQN778
17s9DOdUZtJL4nYBKwMlEQKTwsWyfxdbP8XOMkTmXXp61FufUkeYlDYy58TZ18Xu
AF77MF+lJaT0syZkITjCyiMacDLivD+YOHz1t/V3vKd1VM7bb1vKyowAdfpIJr/f
UM4Y56Uphsc=
=8/bc
-END PGP SIGNATURE-
___
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] Estupenda presentación sobre class

2013-05-05 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Estupendo para novatos:

https://speakerdeck.com/pyconslides/pythons-class-development-toolkit-by-raymond-hettinger

Algo así para la PyConES de Noviembre...

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUYcM/Zlgi5GaxT1NAQKtzwQAl+byHxgnWxZx2nOZepRw9KDnUWaXJrJr
cIoH33+itnCWnFH1Afd5VIy2BrfSszWzNCgof7fRJScvCMFW/CmuAazj+0GwlPf8
ORr8XYOFLFetwcxrY7Vbd2dUNd8k7xnHXckQ2ShZ7bDV1KtXgq0u5aedpnLWv1j5
3HUv720Sli8=
=4XAB
-END PGP SIGNATURE-
___
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] Vídeos y transparencias de PyCon US 2013

2013-04-30 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Yo prefiero las transparencias porque voy mucho más rápido que viendo
los vídeos. Son 142 videos, la mayoría de una hora...

http://pyvideo.org/category/33/pycon-us-2013

https://speakerdeck.com/pyconslides/

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUX+fiJlgi5GaxT1NAQJWLQQAj+TR8nB80PN7EtrJO3QlI4FtA2oLvid+
TurSwm9PPG2Q2HwzU9Kx8OgxI0kFmP/c86P+D0rLs4mDHGQIA0MppVWLgYqILBOt
+Wr8uMAD1PbyCGhQbmKI3B0GBLQJGQ/GSNNKypxg2hyJeWYtGZBYDE3CM+/fe8z9
qs/1LSAHzUA=
=ANJd
-END PGP SIGNATURE-
___
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] En PyconUS, todo el mundo paga, aunque hay ayudas

2013-03-11 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Lectura muy interesante:

PyCon: Everybody Pays
http://jessenoller.com/2011/05/25/pycon-everybody-pays/

- -- 
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBUT6cJZlgi5GaxT1NAQJIRgP+JH6tLD+vONRlaummA7i3QTWdC5zicJqf
D/H85ZLE/TzXeqS3XemstA76dgHQCC53xddApZB3gA83nWLaHYAz1uqUOePkg3AB
L7B0/GXtlmgjbPlNFWdjI50A5RujkSNaq3Ljk9ivm24e2b7no9Us2Ppejqu2DHqk
mQvSescJU7M=
=md7E
-END PGP SIGNATURE-
___
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] Python Gets a Big Data Boost From DARPA

2013-02-09 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

http://developers.slashdot.org/story/13/02/06/0225259/python-gets-a-big-data-boost-from-darpa

- -- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBURZwtplgi5GaxT1NAQKVrQQAkqq1I+S38Fu9AknJupMTOsD8u0x9gLj8
xhRvQAWMYLx971zw7WqzdJe5h9hlXnawPopgHqQcPE+QB/6pNWioaxL331F+8mLA
lYcLBdudYbeixJC9n7smUyD5yUbCW9B9h2TeQI+DcHNOHv4PFGwKFdzdRE7CFppJ
6jH5Skmyyc4=
=3axJ
-END PGP SIGNATURE-
___
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] Browser Python

2012-12-29 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 27/12/12 15:15, Kiko wrote:
 Hablando desde el desconocimiento total, mi temor es que al final
 te quedas con un subconjunto (de python) que 'se traduce' a un
 subconjunto (de js), quedando limitado y, quizá, desfasado, siendo
 solo útil para cosas muy limitadas y nunca como reemplazo
 generalista a js.
 
 ¿Alguien lo ha estado usando y tiene una opinión al respecto?

Ahora mismo, este proyecto es un subconjunto de Python. No tiene ni
clases. Pero para mí incluso eso es preferible a tener que aprender
JavaScript para realizar chorraditas en el navegador. La única pega
es que añades 100Kbytes a tu página web (el intérprete).

Sería interesante un compilador Python-JavaScript para desplegar
javascript directo (y ahorrarnos esos 100Kbytes), pero como
declaración política, que cuando veas el código fuente de la página
aparezca el código python, merece un +1. ¡¡Visibilidad!!.

- -- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQCVAwUBUN8EUplgi5GaxT1NAQIrFQP/aIdmS3ypW5Mr+El5EXMYQl4EoOMqAjGy
AxO/feYBUtopKIulTSiEn3s7ALxFSQzt3Sw1eno+aIXQvZTivoR3NwgQumfaTVNx
das/7hTuAL4y7VsqdJPaO+2+fdqzAYxwtm4m/v82tI5BHvjc/kmC7SRWGbiiMmop
cK57w+HcvO4=
=l/hI
-END PGP SIGNATURE-
___
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] Revista de Hackers y Developers

2012-12-29 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 06/11/12 14:07, Oscar Alberto Peña Céspedes wrote:
 Muy buena, muy agradecido

Yo hace tiempo que no veo el interés de hacer una revista, teniendo
la web.

¿Y algo tipo http://pycoders.com/, pero en castellano?

- -- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQCVAwUBUN8+rZlgi5GaxT1NAQKKZgQAiK+FTw38qItP/rZlJr15X4l/RRJGBuNz
ccfg1p4WCUGIEutKTlCMmS1MFOKbqW3Q7N47YXE00wjn7EKCBIuSuXPBzZQUR8pG
5dAnqeN6ClHk2t+JHq3l76WaIe7a5TtE7tu2MMeuPX8gWPwPuGWZ/jwfwlP+SgSq
Zv9PQXoQLTk=
=a62j
-END PGP SIGNATURE-
___
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] Python Creator Guido van Rossum Leaves Google For Dropbox

2012-12-10 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

http://developers.slashdot.org/story/12/12/07/2242237/python-creator-guido-van-rossum-leaves-google-for-dropbox

- -- 
Jesús Cea Avión _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQCVAwUBUMW8RZlgi5GaxT1NAQK5vwP7B1IcdI+N9EOxksfI8lZ341hIh/dauBnH
m4bZhFfOBHw47PLLq5w/brFNbP2YQhRS42wHy/rVMJq3Vs57jIbe5FgXzohFLSdB
nokUoMvVTNCTGVlWQu7Z6/BTkW9WgZotc5U5xD+fqM27A1jPq02qUUW+Dy7bNZap
BESdmHx3Wsc=
=vvbr
-END PGP SIGNATURE-
___
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] Ayuda con CPUs SPARC y/o FreeBSD

2012-07-03 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hola a todos. Llevo mucho tiempo trabajando en un parche DTRACE para
Python. La versión actual funciona perfectamente bajo Solaris y
derivados, y bajo MacOS X recientes.

Necesito ayuda para probarlo y solucionar problemas bajo FreeBSD y
bajo Solaris con arquitectura SPARC.

¿Alguien puede ayudarme en estas áreas?.

Detalles: https://twitter.com/jcea/status/220185321558650882

Quien haya usado DTrace sabe el gran avance que supondría integrar
esto en el core de Python. ¡¡Ayuda!!.

PS: Me pilláis por Jabber/XMPP con el JID j...@jabber.org.

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT/MYwplgi5GaxT1NAQLklgP/cY5XZqK6W3i+E7IehCOmewzPrphFuGv4
4EnK0L3nnVxqb/jNMcLE6vw1d44lpSGZKyiPNznIjvg2yzMXlkOLUfTtD0WQqKea
c27joTZJNxpMQb9E5fv6JcqvWWxW3rOU8MANCbzWPsbIKXaAqwzY5Fzb5ljuDi37
fWftasLRH30=
=fp1B
-END PGP SIGNATURE-
___
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] UDPSock.recvfrom(buf) ??????? (buf) ???

2012-07-03 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 09/06/12 13:02, Rolando José Torres Sánchez wrote:
 en el sock tcp/udp el buf que sirve es hasta 1500 que es el tamaño 
 maximo del paquete IP por tanto aunque pongan un tamaño mayor dé
 bufer no Creo qué sirva puesto que los paquetes IP no siempre
 llegan en todas las ocasiones consecutivos y menos en udp. Y el
 bufer siempre guarda datos consecutivos.

Si no recuerdo mal, en UDP puedes enviar un dato de hasta 65535 bytes,
que se troceará en paquetes de 1500 bytes (o menos, según el MTU) en
la red y, si todos llegan a su destino, se reconstruyen allí y se
entregan como una unidad indivisible de 65535 bytes.

Es mala idea porque si se pierde algún paquete UDP, no se podrá
reconstruir el final aunque lleguen el resto, pero por poder, se puede
hacer y de hecho es algo que se suele hacer en la red local (NFS,
Jumbo packets, etc).

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT/NGHJlgi5GaxT1NAQKyrgP/dLea0lwdlEj0UH1Zf4uuVVnRsNVI/ckz
33FtBpI1Rw9arGYIsRMHCWAmKUJKTUOTn1prdpZpC7tVX3i2oBIf5VF7+pgK3wTu
SUkDVvQaqLSHBCaHTH/8URamOwg0T2q4VfqPFBXyQTAGebEmhsEmgpAx5GLpc61D
MwtlLjVl+ug=
=fV95
-END PGP SIGNATURE-
___
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] ¿Experiencia con generadores estáticos de contenidos (blogs)?

2012-07-03 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 20/06/12 10:07, Marcos Sánchez Provencio wrote:
 Se puede hacer con tu herramienta favorita y luego wget  para sacar
 una copia estática.

Opción interesante.

Ahora mismo uso ZOPE (no lo recomiendo para nuevos desarrollos, pero
yo llevo toda la vida con él), pero lo que tengo en mente es algo
sencillo que pueda dar a usuarios novatos, que puedan instalar en su
ordenador, en casi cualquier plataforma, y que no estén atados a lo
que le de el hosting. Osea, que mañana puedan cambiar de hosting y
llevárselo a cualquier sitio, sea cual sea la tecnología de hosting e,
incluso, el sistema operativo.

La opción de tirar de una plataforma pesada para la edición y
luego tirar de wget para generar una versión estática de la web les
independiza del hosting, pero depender de una plataforma pesada en
la generación tiene sus propios problemas. Prefiero algo ligero,
especializado y, llegado el caso, que pueda ser mantenido por nuestra
cuenta.

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT/NJNJlgi5GaxT1NAQLSDQP/blu7d8tw8/p5nvfrvYvA0NL8AsR7luHh
JtRsl9wBWXSuMdDlxwvM332UAdpXTXJ8wfaVUDzW5rw+L5VzCyA4apJn7txUBKhf
zBS2kGreCeLpHJdukj7iyqwAbGBk9KuYaYIs6xZ9e7TYmL8vOEM2+CqJ3ZXjNaWB
A8znEX2xZVE=
=mHgD
-END PGP SIGNATURE-
___
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] ¿Experiencia con generadores estáticos de contenidos (blogs)?

2012-07-03 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 20/06/12 14:29, joe di castro wrote:
 No sé, este verano ya lo miraré con calma, pero lo más probable es
 que haga un Pelican a mi medida, partiendo del mismo.

Oh, dios, OTRO generador estático de contenido más...

Queremos menos, no más :-). Puta paradoja de la elección... :-p

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT/NLv5lgi5GaxT1NAQLmuQP/UbROr7zh5FMoJRBOo/qrZxy0QzrC9BZ2
RzsEAUtEK7YZDkgy8aterMzh13HabyajWLq9yC2RPv0EbLNpiZ2GcgjxPpu3bDtL
AM61rolaRb4vA5+8twfGChbow1j3OZjaSlJNAKM23PMSczWk4CsmpgLsIB0oAnMQ
eo9Uf649pbU=
=JS8s
-END PGP SIGNATURE-
___
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] ¿Experiencia con generadores estáticos de contenidos (blogs)?

2012-06-19 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Estoy haciendo un casting para elegir un generador estático de
contenidos. Hay mucho donde elegir, y las diferencias son poco
evidentes. La mayoría están orientados a blog, pero yo quisiera algo
más neutral.

¿Alguien tiene experiencia directa que compartir?.

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT+DnJplgi5GaxT1NAQLwMwP7BhiUjb4w+OZGXJN8fVu88tKbSKncRoPf
1/DgVA2VJKBqxmLRDVsZesOgVnsbZLpXQt649vVlN0KwiimiDgFxINYLyklJRIWd
hWdBLPP0iK34GadKV9Eyt29Fzk1+XR+SJo0MSQ8STUrbLXWFPk+lZKHC9FhBOQjk
qvrBWqv+1AU=
=Zt1V
-END PGP SIGNATURE-
___
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] ¿Experiencia con generadores estáticos de contenidos (blogs)?

2012-06-19 Por tema Jesus Cea
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 19/06/12 23:14, Diego Uribe Gamez wrote:
 Yo usaría Django para hacer el blog por mi mismo

Django *NO* es un generador estático de contenidos.

Quiero algo que coja unas plantillas, una lista de páginas, elementos
estáticos como imágenes y hojas de estilo, algunos posts, etc., y
genere un sitio web completamente estático que pueda subir a CUALQUIER
servidor web, porque son documentos estáticos. No tengo que instalar
nada en ese servidor.

 Cuando hablas que hay mucho, porque no nos cuentas a cuales estas 
 haciendo referencia?

* PyBlosxom
* Blohg
* Blogofile
* Mynt
* Hyde
* Growl
* Blatter
* Jekyll
* Acrylamid
* Pelican
* Rstblog

Seguramente me dejo alguno. O, más probablemente, me dejo muchos.

 yo quisiera algo más neutral. De esos muchos que encontraste a que
 te refieres con neutral?

Casi todos están diseñados para ser usados para crear un blog. No
permiten mantener varios blogs independientes de forma sencilla y
conjunta, o una web normal, sin la estructura típica y aburrida de
un blog (entradas lineales).

- -- 
Jesus Cea Avion _/_/  _/_/_/_/_/_/
j...@jcea.es - http://www.jcea.es/ _/_/_/_/  _/_/_/_/  _/_/
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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBT+EY7plgi5GaxT1NAQIulAP+P0AtSmq0nE5Zp3/Y8jxPor+mcCQ70U5W
Yrw5ygvhzQmOpV/swRAGwwBmwuKW4gkpuGKoa5Ft+xHMVkPQFQme5NC0Jqt7lFal
tuBad85MaVC0/+toUpMC1jxE21LeOpzUjIZB6q1nWTXkd9cC5gUjmNzTHrjxXYT/
luHEBZ3RdV8=
=dSKE
-END PGP SIGNATURE-
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


  1   2   >