« first day (1588 days earlier)      last day (1818 days later) » 
06:00 - 17:0017:00 - 00:00

06:33
A las güenas :-)
¡¡ Mi primera imagen Docker !!
olee olee
 
1 hour later…
08:17
Gud morning
holiwi
@Trauma FROM adoptopenjdk ENTRYPOINT happytrauma
08:37
Que pico de dificultad le veis a laravel? Para alguien que solo ha tocado php y algo de phalcon
en el backend me refiero
08:49
@DavidDPG FROM scratch ADD node ENTRYPOINT [ "/usr/bin/node", "/home/myapp/index.js" ] WORKDIR /root
La verdad es que está tirao :-O
@Muriano !!!
¡ Cuanto tiempo !
09:26
wenas
@FernandoIam Está chupado!!! XD (es broma, no tengo ni idea)
@PabloLozano jai
09:51
@Trauma está guay porque es como los ogros: tiene capas
10:17
@DavidDPG jejeje pues si
los ogros tienen capas??
@Pikoh me produce terrible decepción que no sepas esa mítica de shrek
10:34
@DavidDPG pse..si que vi la primera creo..y tal vez la segunda, pero no se han fijado en mi memoria la verdad
Don @abulafia andas por allí?
Te quiero comentar algo que me pasa, muy raro.
@MauricioContreras Ando
En Python
llamo 2 veces al método uuid.uuid1().hex y me devuelve el mismo valor, pensé que devolvía siempre un valor diferente.
¿Seguro que es el mismo? Fijate bien, a veces cambia solo una cifra de las primeras
Tienes razón, hay una cifra diferente, tenía comentado el comando de salvar al sistema de archivos, y si fuese el mismo valor me hubiera arrojado una excepción o algo parecido. Gracias
Por cierto @abulafia, para concatenar la extensión del archivo estoy usando __add__(ext). Sugieres otra forma?
10:44
@Pikoh te odio mil y pikoh
@MauricioContreras ¿Son cadenas?
¿Por qué no simplemente nombre + extension?
el operador + llama a .__add__(). Estos dunder-methods no están pensados para ser usados directamente (sino, si acaso, para sobrecargarlos en tus propias clases y así poder usar + cómodamente sobre ellas)
@abulafia bien, si, son cadenas, pensé que era como el concat de JS XD
Siempre que veas el nombre de un método que comienza y termina por __, estás ante uno que no está pensado para ser invocado directamente, sino que será invocado implicitamente por Python cuando uses otra sintaxis mucho más amigable (típicamente un operador)
Y vale para cualquier tipo. Ante a + b, python intentará a.__add__(b), y corresponde al tipo de a implementar algo apropiado. En cadenas es la concatenación
y si a no implementa ese método, entonces se intentará b.__radd__(a) (suma por la derecha)
eso te permite implementar sumas no-conmutativas :-)
es una de las cosas que me encantan de python, la facilidad de implementar tus propios tipos que se comporten sintácticamente como los nativos
@abulafia cómo se resuelve si yo intento hacer algo como (no me sé la sintaxis de python) String a + Int b?
o un objecto propio que defina yo
@DavidDPG Como acabo de contar, se invoca a.__add__(b)
en el caso de que a sea un string, a.__add__() verifica que su argumento sea también un string y si no lo es eleva excepción
no hay conversión implícita a cadena como en JS
10:51
ah
pero si a lo implementas tú, puedes hacer lo que quieras
vale eso es lo que quería saber
es decir que yo podría implementar algo como ObjetoSuperGuay a + ObjetoNoTanGuay b
@DavidDPG Sí
numpy y pandas hacen ese tipo de cosas, para implementar operaciones con matrices o tablas
me gusta
@DavidDPG Suena a mi concepción: Madre: ObjetoSuperGuay, Padre, ya sabes que no tan Guay. XD
10:53
>>> class JsString(str):
...     def __add__(self, other):
...        return str.__add__(self, str(other))
...
>>> a = JsString("Hello")
>>> a+12
'Hello12'
@abulafia y si quisiera añadirle aparte para que other sea, por ejemplo, una matriz?
es decir que pueda concatenar un int y una matriz a la clase JsString
simplemente haces un check del tipo, no?
@DavidDPG Sí, puedes usar if type(other)==loquesea o si quieres soportar pertenencia a una clase (que tenga en cuenta herencia y tal) if isinstance(other, loquesea)
pero la implementación que acabo de poner más arriba convierte a cadena cualquier cosa que le pases como other, asi que también serviría para matrices
por cierto que la conversión a cadena también es vía dunder-method. La operación str(other) se resuelve llamando a other.__str__(), asi que puedes implementar como quieras la conversión a cadena
@abulafia no es tan distinto a como me esperaba, la verdad
>>> class JsString(str):
...     def __add__(self, other):
...        if isinstance(other, Matriz):
...            return 100
...        return str.__add__(self, str(other))
...
>>> class Matriz:
...    pass
...
>>> a = JsString("Hola")
>>> a+12
'Hola12'
>>> a+"mundo"
'Holamundo'
>>> a + set()
'Holaset()'
>>> a + Matriz()
100
Hay que tener cuidado con todo esto del tipado dinámico o duck typing. Te permite hacer maravillas, pero también espantos, como acabo de probar
como sobreescribir (ToString) en c#
11:01
@Pikoh Pero también se llama en c# implícitamente a ese método cuando pones str(objeto)? o tienes que poner objeto.ToString()?
@abulafia ToStringse llama por defecto dependiendo de las circunstancias
@Pikoh Aha, Entonces sí, es parecido
o te refieres al hacer un cast?
Me refería más bien al cast. Python no llama implícitamente a str() nunca
pero técnicamente no es un cast... es una transformación a otro tipo
@abulafia y tostring en C# y Java también
11:04
Tengo ganas de tener tiempo libre para aprender C# y también Go (y hasta Rust)
es como un mapeo a la representación en string de tu tipo
El único lugar donde Python llama implícitamente a str() es en print(). Tiene sentido
lo que no puedes hacer en java es sobrecargar métodos
en kotlin sí y supongo que en C# también
definiendo por tanto MiClase.__str__() controlas cómo se muestra en un print
@Trauma Sí, sí que hace tiempo.
Suelo entrar a menudo, pero me limito a leer.
11:05
@abulafia sí creo que eso es un comportamiento bastante estándar
@abulafia si,sería uno de los caso en C#. Si vas a hacer un writeline por ejemplo
Python también tiene .__repr__() para obtener una representación ascii de más "bajo nivel" por así decir. ¿Tiene algo equivalente C#?
@abulafia ascii??
xD
y si tengo algo super abstracto?
Ese método se llama ante repr(objeto) y te develve una cadena normalmente para imprimir
@abulafia hmm..no se si te entiendo, pero diría que no..
11:08
o super complejo?
es lo que muestra el repl
si es una clase normalmente se elige representarla como una llamada al constructor con los parámetros necesarios para re-crearlo
@Pikoh creo que eso es más a discreción del programador
es como hilar más fino
así por ejemplo print(repr(mi_objeto)) podría mostrar algo como MiClase(100, 20)
@abulafia y print(str(mi_objeto))?
@abulafia ah,ahora entiendo. En C# si que se puede sacar una descripcion del objeto, de la clase por ejemplo...pero sería por reflection
11:09
mientras que print(str(mi_objeto)) (el str() es redundante aquí) podría mostrar otra cosa.
@DavidDPG Lo que tú quieras mostrar
qué diferencia habría entre ambas representaciones de mi_objeto?
Por ejemplo print(user) podría mostrar "Manolo (DNI: 12932930)", mientras que print(repr(user)) podría mostrar UserAdmin(name="Manolo", DNI="1232321")
es a discrección del programador en realidad
No,no hay nada como eso en .net
pero se sigue el convenio de que lo que se muestre con repr() sea código python válido
@Muriano P'os muy mal :-(
Ahora estamos mas cerca, estoy en C/ Hilera
11:11
@Trauma @Muriano no quiere nada con nosotros 😥
@Pikoh Desde que trabaja en el centro, como los señoritos ...
En las cadenas lo de repr() es útil
>>> t = "Hola\n"
>>> print(t)
Hola

>>> print(repr(t))
'Hola\n'
>>>
Los depuradores normalmente usan repr(), y el intérprete interactivo también usa print(repr(_)) tras cada comando (siendo _ el resultado del mismo)
@abulafia no sé, me da la sensación que forzar a implementar dos funciones que son muy parecidas y la diferencia queda demasiado a discrección del programador
@DavidDPG No estás obligado a implementarlas. Python implementa por defecto un __repr__() y lo usa también si no proporcionas __str__()
Depende mucho de cada caso, por eso te da esa flexibilidad. En listas por ejemplo str(lista) coincide con repr(lista)
11:28
Yo no se si le veo la utilidad a repr la verdad...
en visual studio yo puedo depurar y ver todos los datos de todos los objetos en tiempo real. Tal vez en lenguajes interpretados y sin un ide tan potente tenga mas sentido
@Pikoh En VSCode también puedes ver todos los datos "interactivamente" (si son clases estarán colapsadas pero podrás ver luego sus miembros). Pero lo que ves cuando la clase está colapsada, es su repr. Resulta útil. Y es fundamental en el REPL (intérprete interactivo)
@abulafia claro, por eso digo. En el REPL si que es muy util. Pero en C# con el IDE que te da todos los datos, no es tan necesario
@abulafia vscode no hace tanto que está disponible por cierto. La verdad es que es un buen editor, y para python el mejor posiblemente no?
@Pikoh Sí, un IDE bueno hace mucho. Yo estaba acostumbrado a trabajar siempre en editores "básicos" (vim, emacs), pero recientemente me he pasado a VSCode y es otro mundo. La integración con python es excelente. Ejecuta (en tiempo real) un linter y typechecker y usa la instrospección para corregirte, proponerte autocompletado, y todo eso
las cosas normales a las que estareis acostumbrados todos los uusarios de IDEs, pero que para mi son todo un mundo nuevo
@abulafia si, yo lo poco que he hecho con python lo hice con vscode
Antes de VSCode lo más parecido que había era PyCharm, pero era de pago
Y ahora además con la extensión "Remote" puedo editar, ejecutar y hasta depurar en máquinas remotas vía ssh
11:35
@abulafia hmm..no la conocía. Muy interesante!
eso para programar en una raspberry puede molar mucho
@Pikoh Sois vosotros los que os burláis de mí porque no programo de verdad :(
@Muriano Bueno, llamar programar a hacer cosas con PHP ...
6
en fin, admitimos barco
@Trauma Cerquita, cerquita. Y ese cambio? Cualquier viernes si quieres quedamos a mitad de camino para almorzar juntos.
@Trauma Eh!! Y en css y html. Programador multidisciplinar.
@Muriano Pues mira, no es mala idea. Y esa cañita que tenemos pendiente con @PabloLozano
@Muriano ejem ... programador ...
@Trauma Perfecto. Si no recuerdo mal, también está por la zona, no?
11:43
Buenas
@Muriano Le pilla mas lejos, está en el San Luis creo recordar
o por allí cerca
@Trauma Bus/Metro y solucionado.
@Muriano Él va en moto :-)
No tiene problema
A ver si lo concretamos ya un día de una vez
que llevamos 1 año dándole vueltas a la caña/comida
@Muriano pero con mucho cariño... ;)
@Pikoh No sé yo...
@Trauma Poned un día, si es viernes mejor, pero en principio puedo cualquier día.
11:52
@Muriano A ver si aparece por el chat
@Trauma @Muriano @PabloLozano si no siempre podéis recurrir a un mediador para que os ponga un día y ya discutís
un relator
clásica resolución de conflicto por apatía
a @Pikoh nuestor moderador le encantaría
nope, que es de banhammer fácil
y nos hecha del chat :-(
a ti si que te voy a echar
12:11
buenos días
@Pikoh Ahí, cuidando la ortografía
@Trauma @Muriano Yo trabajo hasta las 6 todos los días
@PabloLozano Una cerveza tardía es mejor que nada.
@Pikoh Sí, para raspberries, para instancias en la nube, para Ubuntus en virtual boxes y similares.. (o en contenedores!) y hasta para el WSL (Windows Subsystem for Linux)
@abulafia bueno..yo pensaba en mis posible aplicaciones
;)
12:26
@abulafia Los lenguajes fuertemente tipados tenían esas ayudas desde hace mucho, pero se ha avanzado mucho en el resto de lenguajes, VS Code (o VS Codium para quien no quiera la parte oculta de MS) es una maravilla para Javascript también
@Pikoh En realidad es un poco más complejo que simplemente tener una conexión ssh. VSCode usa esa conexión para enviar al otro lado comandos que hacen que instale allí un componente "servidor". Por tanto la arquitectura "destino" debe estar entre las soportadas por ese servidor VSCode
La raspberry funciona bien, al menos con el Ubuntu para 64 bits
@abulafia si,contaba con ello. Solo con ssh no iba a bastar, ya imagine que ssh se usaba para enviar comandos a un servicio o algo asi
@Pikoh Bueno, para la edición remota debería bastar ssh (usando sftp sobre él). Pero es que además VSCode permite instalar sus plugins en la máquina remota. Los plugins entonces (por ejemplo el de Python) se ejecutan remotamente y para eso para lo que necesita componentes servidores
También el git que usa es el remoto
Es una pasada
@abulafia hmm..si,ahora que lo pienso para editar archivos deberia bastar con ssh cierto
La edición "sin más" sí, pero tan pronto como quieras añadirle intelisense, ya que el manejo del lenguaje en cuestión se hace en remoto (porque según los imports o includes que tengas al principio el editor debe adaptar sus sugerencias), se requieren componentes remotos. La verdad, no sé cómo lo hace pero parece magia
No necesitas tener Python instalado local, solo remoto, y aún así la edición, ejecución y depuración de programas python es flawless, como si todo estuviera instalado local
incluso te permite elegir qué entorno virtual (remoto) o qué versión del intérprete python (remoto) usar
12:33
@abulafia microsoft tiene tradicion en hacer cosas que parecen magia. Si usas VS, estas depurando una aplicación que hace una referencia a una dll, si en tu equipo tienes el codigo fuente de esa dll lo encuentra y puedes depurarlo tambien. Aun no se como lo hacen
;)
13:08
@PabloLozano :-(
13:25
Alguien usa smtplib ?
me esta saliendo un error al querer ingresar a un mail sender, y cuando ingrese manualmente "Hubo un intento sospechoso de acceso con tu contraseña - United States 11 minutos"
y soy yo :-(
ya ta :p
13:45
Jellou
13:55
hola, buenos dias. Tenemos en la sala alguna persona con experiencia en socketio?
si cambias el io por es, mi experiencia es romperles el talón
@MauricioContreras Como va?
@LucasDamian halándome los cabellos con Celery y Flask, pero ya casi lo tengo dominado
14:12
@Trauma Pero siempre puedo llegar más tarde a por unas cervezas
53
Q: ¿Cuál es el mejor lugar para colocar los tag <scripts src=""> en HTML?

Juan PinzónRecientemente tuve un problema al llamar los scripts de JQuery en un pequeño script de php, por lo general los coloco después de la etiqueta body así: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body>...

no conocia esta pregunta :O
@JackNavaRow XD
y de verdad salvo la primera pregunta que creo que tiene algo de error
En primer lugar, el script es una etiqueta de HTML que debe ser incluida en el header o en el body, no puede incluirse fuera, por esa razon no puedes acceder a Jquery.
algunas oportunidades por estrategias la defines dentro del body o dentro del head
@JackNavaRow tú que todo lo sabes: en Python cuando hago esto: 'bla{}'.format('h') entiendo que es un constructor, es decir un template o algo por el estilo. Pero he visto cosas como: 'bla{0}'.format(var), mi pregunta, el 0 es para qué cosa? un valor por default o algo? Disculpa mi ignobrutancia
@MauricioContreras el 0 es la posicion puedes tener n string que insertaras
'bl{0}.---{1}'
14:27
@JackNavaRow listo, ahora lo comprendo, soy ignoramus aún en Python, y me emburré un proyecto en Flask, Celery y SQLAlchemy, y van saliendo dudas a la carrera.
@MauricioContreras tranquilo yo tambien estoy en el mundo python empezando
no creo que sea ignorancia, porque no estas ignorando, estas tratando de aprender
@JackNavaRow pero es que me metí saltandome el básico 1, 2 y 3, y el intermedio 1, 2 y 3. Caí directo en una clase de Postgrado, menos mal que quien programa bien en un lenguaje, por norma agarra rápido el hilo en otro, sino no vería luz.
tranquilo me pasa algunas veces y invoco al maestro de las serpiente para que me ayude
que ventajas es tener acceso al chat y que te ayuden
@MauricioContreras nunca usé Celery, una vez intente usarlo y lo poco que vi en stack overflow, es una publicación de G3rv4
@JackNavaRow lo he fastidiado bastante, como premio le daré acceso al repo para que corrija las barbaridades que yo haya cometido.
@LucasDamian pues no es tan intimidante, al menos no para lo que estoy haciendo, lo que no comprendía era lo de usar el broker, en este caso uso redis
14:58
@MauricioContreras llamas premio que te corrijan el codigo!!
@MauricioContreras celery Rabbit es lo mismo
alguien quiere unos premios ? :P:P:P
@JackNavaRow si si, es sarcasmo. XD
@PabloLozano Hombre, a partir de las 18 ... casi se puede saltar a otra cosa :-)
@Trauma.js como estas
vi la imagen del porque tiene las manos en la cara
pero si la muestro usan el martillo
@JackNavaRow jejejeje
15:06
@JackNavaRow Ahora tengo curiosidad e.e
@Trauma alli esta
@JackNavaRow ¡ JAJAJAJA !
Tiene manos de mujer, menos mal :-)
pues la eliminare, no vaya a ser que me gane mi bandera roja
jejeje
mejor será
Hola, como andan? Tengo una duda en sql y me parece que no da para preguntarlo en el sitio porque estoy en -10. Quiero crear un trigger que delimite el maximo de registros de una tabla. Solo quiero guardar los ultimos 500 registros por ejemplo, que a partir del 501 se elimine el mas antiguo, para que la tabla nunca exceda esa cantidad
15:17
🔨
Alguien tiene algun ejemplo o conoce alguna pregunta que ayude en el tema y me pueda facilitar? Muchas gracias
No creo que puedas hacerlo con un trigger...
@Mani en trigger?
ahh bien, crei que era la forma mas optima. La otra opcion seria en el modelo, al crear un registro, cuento y si la cantidad es mayor o igual a 500 elimino el menor id
me preguntas a mi , pero que necesidad hay de borrar un dato por ser insertado otro? y si estan insertando datos de pruebas
@Mani porque quieres hacer eso
15:22
@Mani si las inserciones las haces desde una aplicación, mejor que lo hagas por codigo
la necesidad es que son datos que con el tiempo ya no van a tener validez y no quiero mantener la db cargada el pedo, entonces propongo un numero N de registros maximos y la db se "mantiene sola"
@Mani usa redis y colocale un tiempo de expiracion
redis? no se que es eso pero a googlear, si se puede expirar con el tiempo seria genial. Gracias
4
Q: REDIS Durability ? how to auto expire data?

skidrow406I use REDIS to store data (string) . ex: key "s1" store value "hello world". key "s2" store value "bye bye". I want s1 auto expire (free memory) after 5 minutes but s2 never expire. I use C#, .net 4.0 >> how to code ?. thanks

pero @Mani que quieres hacer, puede que tu solucion sea otra
si,expirar por tiempo es otra solucion...puedes hacer que tu aplicación al arrancar elimine todos los registros anteriores a x fecha
15:24
ah, es un motor de base de datos. Tendria que migrar el proyecto en ese caso?
@JackNavaRow quiero mantener un numero maximo de registros en una base
que motor usas ahora?
@Mani pero porque quieres eso, las base de datos se hicieron para guardar registros
mysql
suelen tener todos algun tipo de tareas programadas...
@JackNavaRow porque el espacio de almacenamiento es finito?
15:25
@Pikoh esa es otra opcion @Mani
pero 500 es nada!
pero puse un ejemplo, como decir N registros, pueden ser 2000, 50, no viene al caso, eso seria un numero en la funcion nada mas
@Pikoh :O
lo que te envio nuestro mod @Pikoh esta muy bueno
Crea un evento que limpie la tabla cuando quieras, cada x dias, una vez al mes...
el tema es que luego de 30 dias por ejemplo, la base ya va a contar con unos 10.000 registros, la idea es no tener que limpiar la tabla cada tanto. Voy a buscar sobre la creacion de eventos entonces
graicas
15:27
@Mani de naida
:53715198 NOOOO no lo he visto e.e
@x3kagainstSEbehavior -.- tarde y hay una serpiente en mi bota(esta el moderador en el chat)
@x3kagainstSEbehavior *2
Perfecto, ahi estoy leyendo sobre eventos, muchas gracias a todos :)
De nada Mani :)
15:28
envia el binario (? @JackNavaRow
@Mani otra opcion es hacer un programa que se encargue de eso, y luego agregarlo en el crontab
es lo otro tipico
@JackNavaRow Hay que pinguear esas cosas, que no me entero
15:40
@AlexHunter Tengo ideas básicas e hice algún ejemplo elemental con Python como backend y js en el navegador de frontend
@MauricioContreras Es una de las sintaxis posibles para str.format(), que es un método que opera sobre cadenas. Dentro de la cadena en cuestión, en los lugares donde aparezca {} se insertarán las variables que pases como parámetro a .format(). Las tres sintaxis posibles son: 1) No pongo nada dentro de las llaves, y van recibiendo los parámetros por orden posicional
Por ejemplo "{} = {}".format(a, a)
@abulafia se me habia olvidado eso, sabia que habia algo de correccion para mi xD
2) Pongo un número dentro de las llaves y entonces recibe el parámetro que ocupe esa posición. Eso me permite variar el orden dentro de la cadena de formato o repetir datos sin tener que repetir argumentos en .format. Ejemplo: "{0} = {0}".format(a)
3) Poner un nombre dentro de las llaves. Entonces se le asignará el parámetro pasado a format con ese nombre. Por ejemplo: "{v} = {v}".format(v=a)
Si en c# tengo un DateTime que se me pinta como 2019-11-20T12:04:41.357, como transformo este formato en javascript a DD-MM-YYYY hh:mm:ss?
y desde Python 3.6 tenemos también las f-strings que son medio mágicas ya que no necesitan .format y toman las variables del contxto. Por ejemplo: f"{a} = {a}" (observa la f delante de las comillas, que es lo que hace que sea f-string)
Esque en otros lados me lo pinta como /Date(numeros)/ y aqui de esa otra manera
15:44
en cualquiera de estas opciones se puede especificar además dentro de las llaves y separado por dos puntos detalles sobre el formato (número de decimales, espacios de relleno, etc)
@abulafia Se le puede llamar "*forking*" a esto ?

lista_proc = ['script_a','script_b','script_c']
procesos = [subprocess.Popen(("python", f"/home/lucas/DEV/SP/{proc}.py")) for proc in lista_proc]
@LucasDamian No estrictamente. Yo lo llamaría subprocessing :-)
En el fork() se hace una copia idéntica del proceso en ejecución. Aquí en cambio en cada proceso ejecutas un script diferente
Aaah, es que no se como explicarlo, cuando me preguntan que hago jaja
Pues yo diría "lanzar procesos"
un script que llama aotros scripts
15:48
o subprocesos si prefieres. No hay diferencia en realidad
Esta mal visto abusar de estos tipos de scripts?
tengo por ejemplo uno que llama a 9, y uno de los 9 llama a 4
@LucasDamian Puede ser un atajo rápido para lanzar scripts legacy, pero en general no es una buena forma de programar a menos que necesites aprovechar paralelismo de múltiples cores.
Lo suyo sería que cada uno de esos scripts expusiera su funcionalidad en forma de clases, funciones, etc. Entonces desde el script principal importas los otros y llamas lo que necesites
salvo ya digo que quieras ejecutarlos todos en paralelo
aún así, sería mejor usar la biblioteca multprocessing, si necesitas pasar parámetros "especiales" a los otros procesos (ya que con tu enfoque Popen lo que tengas que pasar tendrá que ser por línea de comandos, no puedes pasarles un objeto python)
@abulafia barbaro, el script padre genera un pickle para abastecer a los hijos, y tengo una función que transforma en trozos ese pickle, para que cada uno de los hijos haga por ejemplo: si en el pickle tengo 10 urls y tiene 4 hijos, cada uno ejecutaría 2 urls.
Voy a investigar multriprocessing
@LucasDamian Sí, esa es la vía correcta. En el fondo multiprocessing también usa pickle por debajo, pero se ocupa él sólo de las conversiones y de la recogida de resultados
ah
pero no 2jaja, serian 8 ahí
pero se entendió
mejor lo borro antes q lo lea @MauricioContreras y me tire con el abaco
15:59
Yo usaría multiprocessing.Pool
puedes decirle que el pools esté formado por 4 procesos (por ejemplo tantos como cores en tu CPU). Y luego mapear la lista de 10 urls al pool de 4 procesos. La biblioteca se ocupa de ir enviando una url a cada proceso, en roundrobin
o sea que cuando un proceso quede libre, recibirá otra url
y se van recogiendo los resultados en otra lista desde el proceso principal
si wenas?
@fredyfx siento haberme perdido estos días, bastante trabajo :3
ah genial, eso lo hace más eficiente no?, porque puede llegar el caso que una url sea muy pesada, y si le di 3 urls a cada script, quizás hay 3 que ya terminaron su trabajo
Efectivamente
16:01
:-D
@NicolasOñate en c# o en js?
Bien, ya veo que estoy en pañales con multiprocessing. Ya le daré una ojeada a fondo cuando llegue el momento.
@Pikoh para ti todo será en JS, por decisión técnica.
yo también, por eso, preguntaba jeje.
y tengo que aprovechar que puedo usar una nave espacial
@MauricioContreras mi decision técnica aqui es no usar js para nada
@LucasDamian yo ando en mula, pero algo es algo.
16:04
:p
@Pikoh bien, empieza por dejar de usar el chat. XD
@MauricioContreras si hubiera app de escritorio, ahora mismo
un servidor irc seria maravilloso
@Pikoh pero...
XD
Me gusta eso. Es como la gente que se queja de la falta de Libertad de Expresión usando medios escritos y / o audiovisuales. XD
yo utilizo aplicaciones web si no hay alternativas. Pero me niego a programar web si no es estrictamente necesario
@Pikoh been there.
16:10
Corona Offer $15 Million To Help Change Coronavirus Name To BudLightvirus
Constellation Brands, the company behind Corona beer, have offered up to $15 million to help change the Coronavirus’ name to the BudLightvirus.

Executives at Constellation are thought to be ‘incredibly concerned’ with the rising publicity of the deadly virus, that has so far killed over 100 people and have pledged an initial $10 million to change the Coronavirus name to “literally anything else” with a further $5 million if the name change is BudLightvirus.

So why the new name change?

“Well for one BudLightvirus really rolls off the tongue doesn’t it?” Constellation CEO Bill Newlands tol
@Pikoh es real?
Ya lo dije yo: Corona Beerus
@Pikoh pues creo que en c# me seria mas facil
buenos dias
16:28
@farsSharp no hombre
@NicolasOñate si es en c#, puedes convertirlo a string con el formato que te de la gana
@LauraZ normal querida, todo en orden :D
buen día :D
La gente es la caña
0
Q: No funciona el botón. El botón debería general una tabla de dos filas y dos columnas

Antonio Alcarazel botón debería general una tabla de dos filas y dos columnas. Como la de la foto. Lo que voy a decir ahora es irrelevante, pero como StackOverFlow no me deja publicar esto sin escribir antes una parrafada, pues aquí estoy escribiendo. La verdad ahora entiendo muchas cosas de por qué tengo que a...

@Pikoh El problema es la conversion en json, que no se por que me marca ahi ese formato
@NicolasOñate ese formato es el iso
o sea, lo que debe ser
Aunque debería darme con un canto en los dientes porque no haya escrito "okdmnskdkasd dksmdokms kas dmkasm dkmasdok"
16:36
luego tendras tu que cambiar el formato al mostrarlo
@Pikoh que lastima, ya iba a meter mis propuestas de nombres
@Pikoh y cómo y por qué decide usar ese formato?
> pero como StackOverFlow no me deja publicar esto sin escribir antes una parrafada, pues aquí estoy escribiendo
XD!!!!!!!!!!!!!!!!!!!
La norma ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times (en español, «Elementos de datos y formatos de intercambio — Intercambio de información — Representación de fechas y horas») especifica la notación estándar utilizada para representar instantes, intervalos e intervalos recurrentes de tiempo evitando ambigüedades. Esta notación facilita la migración entre distintas plataformas. Se sigue el criterio de especificar en orden primeramente los períodos de tiempo más largos y posteriormente los más cortos. Así, para especificar una fecha…
@fredyfx Un crack. ¿Sabes lo que va a hacer con tu link? Usar Ctrl + F xDDDD
16:40
@phpMyGuel HAHA xD!!!!!!!! Material para un buen meme de SOes
@phpMyGuel será dominicano o portoriqueño o del Caribe de habla hispana en general
@fredyfx Que sería de este sitio sin ese material. Lo mismo hasta se hacía aburrido XDD
@phpMyGuel deberíamos hacer memes y publicarlos en META y cada 6 meses, unas olimpiadas por los Top 3 memes de la temporada xD!!!!!!!!
@fredyfx guta
16:44
Pues le había respondido. Pero al leer mejor la cabecera de la pregunta (a veces me las leo por encima, culpa mía) la borré XD
@fredyfx está muy raro ese mensaje en la página de entrada
Nunca lo había visto así, ni había trabajado con tablas html
@LauraZ true love
@NicolasOñate im not very good looking with mai en glichh
@LauraZ Yo no hablo españolo
@LauraZ ¿hiciste alguna modificación?
16:51
@fredyfx nada
no he tocada nada, solo sé que la conexión en la base de datos del módulo que te mostré es correcta
la que tu cambiaste
XD!!!
ya sé por qué
momento
chi cheñor
F5
y santo remedio
el nombre de la conexión le había puesto LauraZ
y en tu configuración estaba buscando "conexion_mysql"
por lo tanto, si la conexión previa que realicé, sí conectaba, solo hay que modificar de LauraZ a conexion_mysql
@NicolasOñate le di acceso a mi server para que haga pruebas con su desarrollo :D
16:55
@fredyfx Me gusta la idea, pero lo mismo ofendemos a alguien XD
@phpMyGuel ya recordé por qué no lo hicimos antes...
ni modo
@LauraZ revisad :3
sigue igual :c
lo ves diferente tu?
me dejaste pensado con ese localhost@root
control + F5
voy a buscarlo en los archivos
16:58
y vuelvo
jajaja
maldito caché
ahí sale el login
Mi Empresa PASS | Inicio de Sesión
:3
<3
06:00 - 17:0017:00 - 00:00

« first day (1588 days earlier)      last day (1818 days later) »