« first day (2275 days earlier)      last day (816 days later) » 

6:47 AM
A las güenas :-)
Asco de Viernes :-(
 
7:00 AM
Buenos días
@Trauma Que dices! Viernes de liberación
 
@Marc puffff ... hay un Lunes acechando ...
 
@Trauma pero eso es cada semana, no puedes verlo asi hombree
 
No no, acechando no. Esperando. Es inevitable que llegue
@Marc ¿ Porque no ? Soy realista.
 
Pero no te das ni una alegria, lo vees todo negro
No temas el futuro
xD
 
No lo temo; se 100% seguro que va ha llegar.
Solo hago notar lo obvio y evidente
 
7:06 AM
Bueno, si te sirve de consuelo yo me voy semana y media de vacas cuando termine la jornada de hoy xD
 
Pues me alegro por ti, pero consolarme ... pues no mucho, la verdad
 
Wordle (ES) #15 5/6

⬜🟨🟨⬜⬜
⬜🟨⬜🟩⬜
🟨🟨🟨🟩⬜
🟩⬜🟩🟩🟩
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
 
7:27 AM
Wordle (ES) #15 4/6

🟨⬜🟨⬜⬜
🟨🟨🟨🟩⬜
🟩⬜🟩🟩🟩
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
casi a la tercera
Buenos dias
 
@Pikoh habremos puesto la misma creo yo xD
 
@Marc casi fijo
 
7:40 AM
@Christian Son para cosas diferentes. Virtualenv (o venv) es para crear entornos virtuales y estos son para tener, para una versión de python concreta, carpetas donde instalar paquetes para que no entre en conflicto con otros paquetes instalados. pyenv en cambio es para instalar varios interpretes diferentes (versiones de python) y poder cambiar de una a otra
Y de paso pyenv te permite también gestionar entornos virtuales (aunque usa venv por debajo para crearlos)
con pyenv puedes tener instalado el "python de sistema" (el que ya te venga con tu distro) y adicionalmente todas las versiones que quieras añadir, incluyendo anaconda, o hasta versiones aún en beta
Tienes comandos para activar una versión dada, de modo que sea la que se usará por defecto a nivel de sistema (aunque siempre puedes volver a cambiarla por otra), o para hacer que al entrar en cierta carpeta se active automáticamente una cierta versión (o un cierto venv), o crear un subshell en el cual esté activa una versión dada (y volver a la del sistema cuando sales del subshell) y qué se yo cuántas cosas más, porque la verdad es que no lo uso tan a fondo
Wordle (ES) #15 4/6

⬜⬜⬜🟨🟩
🟩⬜⬜⬜🟩
🟩🟩⬜🟨🟩
🟩🟩🟩🟩🟩
 
8:12 AM
@CandidMoe Interesante cuestión la de los import. Aunque tengo claro lo que ocurre, me ha costado un montón explicarlo. Quise poner una analogía con atributos de diferentes objetos, pero eso solo lo hacía todo más confuso y desistí. Espero que lo que escribí al final te resulte claro
Jo... como está la IA. Esta de google haciéndose pasar por foca es totalmente convicente.
¡Qué rápido ha llegado el futuro!
 
8:50 AM
@abulafia si, fijate. Hoy alexa se ha caido en medio mundo parece ser XD
 
Bueno, Alexa... creo que recomendó a una niña que intentara pasar una moneda entre los dos pinchos de un enchufe
 
@abulafia por algo sería XD
pues no creas...los que tienen la casa controlada por alexa se estarán acordando de bezos
 
@abulafia joooer
es un riesgo de confiar todo a una ia. A veces no es tan i para detectar cosas asi :)
 
Entre la inteligencia artificial y la estupidez natural, estamos acabados
 
9:07 AM
@abulafia Si, quedó claro. ¿Cómo nunca me había enterado del caso?
 
No es habitual importar símbolos que alberguen valores, lo más normal es importar funciones, clases...
y esas no suelen reasignarse
 
En todo caso, otra razón para accesar datos externos vía llamadas a función.
 
querrás decir para no hacerlo
 
@abulafia El caso es que tengo una variable de estado que todos necesitan consultar y que puede cambiar en tiempo de ejecución. Era una cosa temporal mientras pensaba una solución mejor.
 
quizás una clase que contenga esa variable fuese más apropiado. E instanciar esa clase dentro del módulo en una variable global del mismo. De ese modo puedes importar desde otro módulo esa variable y acceder a su atributo
algo así:
class Contenedor:
  def __init__(self, v):
      self.valor = v

variable = Contenedor(1)

def cambia():
  variable.valor += 100
Y desde main harías
 
9:14 AM
@abulafia Estoy resolviendo el problema del scope and extend en Lisp; necesitaba activar/desactivar una opción de debug en la sesión interactiva para depurar unas macros.
 
from servicio import variable

cambia()
print(variable.valor)  # --> 101
mi idea es que en lugar de hacer global directamente la variable valor, hagas global un objeto que tenga esa variable como atributo
asi evitas tener que poner global en las funciones que lo usan, y no tienes los problemas del import
Es más, puedes usar ese Contenedor para meter más variables globales que necesites compartir entre módulos
 
 
2 hours later…
10:54 AM
... Cuanto El Silencio ...
O-O
 
Cuanto The El Silencio
 
Tu siempre un poco mas allá xDD
 
XD
 
¿ Que os parece este ? geekbuying.com/item/…
El fabricante tiene forum, y parece que responde a las preguntas y tal
Y tiene buena pinta, justo lo que estoy buscando ... USB-C + 2 LAN
 
Si, todo bien menos el logo, que es un culo de abeja
 
10:58 AM
XDDDD
... beelink ...
 
beeass
 
En Amazon hay uno parecido, de otra marca, pero sin USB-C:
Aparte de lo del USB, el fabricante no se ve tan accesible
A ver si pillamos ya la paga de productividad y me lo pido :-D
Vale, SIPVideoStreamTests compilando; pasamos al MediaCreateTests
Ejecutar los tests y que los pase ... ya lo dejamos para la semana que viene :-)
 
11:15 AM
Egun on
WORDLE (ES) #15 4/6

×
🟨🟨🟨⬜⬜
⬜🟨🟨🟩⬜
⬜🟩⬜🟩🟩
🟩🟩🟩🟩🟩
 
^^ Ciervo de Copete ^^
¡¡ Pedazo colmillos !!
 
Parece un Ciervo del Apocalipsis Zombie
 
Y para qué los querrá, siendo herbívoro
 
@abulafia la naturaleza es sabia, seguramente se está preparando para el Apocalipsis Zombie.
 
qué cosas hay por el mundo. Buscando info sobre el ciervo de copete ese me encuentro con el pudú, que parece un cruce entre cervatillo y hiena
 
@MauricioContreras :-) ¿No conoces alguna web que ponga "No" o "Nope"? Podría ser útil para dirigir a alguien allí, para ciertas preguntas.
y no me vale la que acabas de poner consultada otro día :-)
 
jooooeeeeeeeeeeee ... los tests estos de las narices ... ahora hay que modificar también 2 fakes mas ...
La tareilla esta de crear tipos nuevos para aislarnos de todo ... está dando bastante mas caló de lo esperado ...
 
11:57 AM
@abulafia Hago una y los mandas allí?
 
A veces, algunas preguntas de SOes merecen un comentario que simplemente diga "No", pero el editor no te deja poner tan pocas letras. Así que quizás se podría poner [No](http://pagina-que-muestra-no)
O para hacerlo más genérico...
[loquesea](http://pagina-que-muestra/?texto=loquesea)
[Yo diría que...](http://pagina-que-muestra/?texto=No)
 
Y qué título puede tener?
 
quieres decir nombre dns?
 
No, el título de la página web. Is It Friday Yet? es el título de la ya mencionada.
 
Hm... "Yo diría que..." por ejemplo, o puede ser un parámetro recibido por la query para mayor generalidad
 
12:03 PM
Quieres que reciba un URL param, puedo hacer que el mismo sea answer=<SI o NO>
@abulafia excelente
 
puede ser mucho más genérico answer=palabra_arbitraria
 
@abulafia A eso me refiero, pero claro, habrá que tener cuidado, luego escriben cualquier barbaridad. XD
 
Bueno, pa eso es :-)
fyi: yodiriaque.com está libre :-)
 
Pues mola.
 
La segunda puede ser útil en otro contexto
 
12:59 PM
Wordle (ES) #15 5/6

⬛🟨🟨🟨⬛
⬛⬛🟨⬛🟩
⬛🟩🟨🟩🟩
🟩🟩⬛🟩🟩
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
AAAAAA que tontera, falle por 1 letra XD
 
1:16 PM
@Excorpion que pasa era AABAA?
 
Kjajaja no
la palabra es muy similar a otra
y mi intento anterior es 1 letra erronea
En PHP que puede hacer que al recargar la pagina, una tabla no cargue ??
creo que se cerraba la sesion XD
 
1:32 PM
@abulafia y yo que pensaba crear una herramienta así, no sabia que existía. Ayer ya hice la instalación falta probarla hoy
 
Aún tengo que instalar las cosas que falta
 
@Excorpion AACAA?
 
XDDDDD
 
1:51 PM
@CandidMoe Y por desgracia lo estamos estudiando en Lenguaje de Marcas y Sistemas de Gestión, y lo peor, que en la siguiente evaluación vamos con XHTML
 
2:30 PM
@AQMR Me toco vivir esa etapa en que hasta los archivos de configuración tenían que ser XML. Horrible. ¿Por qué no usar un .INI, decía (no había JSON)? Satisface las mismas necesidades, es más fácil de leer, de escribir y no necesitas cargar otra librería ni complicarte la vida navegando por el árbol.
Pero, NO! Tenía que ser XML, que era lo más cool del momento.
A mí el entusiasmo me duró hasta ver la paja que era recuperar los datos, para no hablar de tener que escribir los malditos archivos.
Finalmente decante en los DSL, lenguajes específicos a un dominio o aplicación. En lugar de escribir un archivo XML, JSON, YAML, etc., te inventas una sintaxis especifica a tu problema.
 
Wordle (ES) #15 4/6

🟨⬜🟨⬜⬜
🟩🟨⬜🟨⬜
🟩🟩🟨⬜🟩
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
 
Nadie ha adivinado el wordle a la primera aun ?
 
El mejor ejemplo a mano es fern (itigic.com/…), un SDL específico para reglas de firewall. En lugar de tener que construir un firewall a punta de comandos iptables (vendría siendo assembler), con fern lo puedes hacer a mucho más alto nivel y en forma más compacta y entendible.
Si miran la sintaxis de ferm, lo mismo podría ser expresado en XML, JSON o cualquier otro formato, pero habría que escribir más.
 
2:53 PM
No se, la verdad es que lo damos porque no se ha actualizado la programación educativa, dicen que para el año que viene los DTD, Schema, XHTML, XML y demás desaparecerá
Pero bueno, a ver si es verdad, porque el XHTML es que ni siquiera llego a usarse casi XD
 
@CandidMoe Es tal cual lo que te comentaba antes, XML para configurar? horrible, un INI es mejor aunque limitado, el YAML para mi es un INI con esteroides, tenés la flexibilidad de un JSON con la legibilidad de un INI, lástima que no sea una librería estándar de python, ahí te doy la razón de tener tu propio formato.
 
Casi
Wordle (ES) #15 2/6

🟨🟩🟨⬜🟩
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
 
@abulafia me sale error al instalar una version de python >_<
 
3:12 PM
@Christian ¿Qué error?
@CandidMoe Acabo de responder a tu comentario en la pregunta de los imports. Tienes que cambiar el modelo mental de cómo funcionan las variables en Python, pero puedes seguir viéndolo todo como punterso, ya que eso es lo que son en realidad, en cierto modo.
 
@jlliagre cual fue tu primer intento ? XD
 
@abulafia este:
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (Ubuntu 20.04 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20220121101228.55365
Results logged to /tmp/python-build.20220121101228.55365.log

Last 10 log lines:
Installing collected packages: setuptools, pip
 
Ah, si, es un problema típico, ya que pyenv en realidad instala python a partir de su código fuente, necesitas tener instalado en el sistema el compilador de C y el código fuente (versión -dev) de las librerías de las que python dependa.
Creo que si haces lo siguiente, se arregla todo
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
 
voy a probar
 
3:21 PM
@abulafia Es el problema de ser multi-lenguaje; de repentes usas el modelo mental equivocado. Fijate que en el interprete Lisp asumi que las variables creadas dentro de una función desparecían después del return ...
 
A mi me ayuda pensar que en python todo son punteros, pero que no existe operador * porque es implícito (es decir, si usas el símbolo x estás accediendo al dato apuntado por x). Con este modelo la asignación de variables no tiene misterio: y = x asigna al puntero y el valor del puntero x. Solo que de nuevo, cuando usas y en una expresión, se utiliza *y.
Por otro lado id(x) te da el valor del puntero, es decir, la dirección a la que apunta
y no hay forma alguna de obtener &x
y cuando haces x = 100, se hace x = Integer(100), es decir, hay un malloc implícito en cada asignación que hagas, salvo que estés asignando directamente otra variable (en cuyo caso se copian las direcciones)
el paso de parámetros es lo mismo, pasas el puntero
 
@abulafia Entiendo las reglas, la mecánica. Sólo lo juzgo confuso, díficil de explicar e imposible de entender para un novato.
 
@Excorpion Burla :-)
 
Si, coincido en que es muy confuso en especial si vienes del C o el assembler en el que una variable no es más que un "nombre" para una dirección de memoria donde está el dato
en C o assembler el concepto de variable se explica con una "caja" en la que puedes meter y sacar cosas
en Python en cambio la "caja" es el dato. La variable no es más que una etiqueta que le pegas a esa caja. Puedes pegar varias etiquetas. Reasignar una variable es despegar esa etiqueta de una caja y pegarla en otra
cuando una caja se queda sin etiquetas, magicamente se destruye para liberar la memoria que ocupe
 
Yeeee!!! gracias @abulafia
 
3:30 PM
@jlliagre Ahh entiendo
 
Estoy cocinando. Me intriga esto del slow cooker, asi que para ver como funciona, le puse un wattimetro home made (a la izquierda) y una termocupla para ver la evolución de la temperatura.
La olla consume poco: 300 mW y tras 30 minutos, la temperatura va en 60°C.
Estoy haciendo un caldo de pollo.
 
"Para ver como funciona"
que esperas ver ??
 
 
2 hours later…
5:05 PM
@CandidMoe ah ya yai que rico , Justo cuando voy a donar sangre.
 
@CandidMoe Pues tendrá un PID y dependiendo de la olla, controla presión y temperatura de acuerdo a programas que ya probaron antes de programar el microcontrolador o lo que tenga la olla. Válvulas y seguros controlados desde el programa y ya.
 
@Alfabravo Busque cual es el algoritmo del slow-cooker (crock-pot) y no encontre mucho, asi que ahora investigo para ver como evoluciona la temperatura durante el proceso. Quiero duplicar el proceso en mi olla computarizada.
 
Como cualquier otro "horno", posiblemente tenga un octocoupler para unir el circuito a la corriente externa y controlar cuándo se prende "la resistencia" de la olla. Tendrá precalculado el Tao del horno (cuánto tiempo se tarda en alcanzar el 66% de la temperatura objetivo, eso depende del horno mismo) y tendrá un sensor. Usará PID (Proporcional Integrativo Derivativo) para ver cuánto le falta para llegar a la temperatura necesaria por el programa de sopa/pollo/arroz/etc e irá subiendo la cosa.
Luego controlará el tiempo que la resistencia está con el circuito cerrado (por segundo, algo así) para mantener la temperatura tan cerca de la temperatura objetivo y ahí ya el gasto de energía es mucho más bajo (a menos que abras la olla, je). Si es una de las que tiene cierre a presión, tendrá cosas adicionales para controlar la presión, pensando que el proceso con presión variable ya no va a funcionar igual (leer sobre procesos isocóricos e isobáricos, etc).
Esos sistemas de control son divertidos. Aprende uno a ver el mundo en términos de sensores y actuadores xD
 
5:28 PM
Toda esa tecnología nunca superará a la abuela pinchando las papas con un cuchillo para saber si ya están. XD
 
@MauricioContreras Mi abuela decia "ya estan" y comiamos... podian estar buenas o pasadas, pero nunca crudas.
 
@MauricioContreras Toda esa tecnología se hace como aproximación de la respuesta de varias abuelas a las que se sentaron a preguntarles "y cuánto tiempo deja las papas?". La cosa es que la olla no tiene ojos pa ver si las papas salieron muy duras, son del tipo que se hace puré o del que sólo se coce...
Lo realmente malo es que con esas ollas modernas uno no se puede sentar en la cocina a escuchar historias. :P
 
@abulafia estás?
Esta sería una implementación inicial, usando la misma estética de isitfridayyet.net
Yo diría que nope.
 
5:47 PM
@MauricioContreras Woohoo! Ya solo queda registrar el dominio!
 
buen partido @gbianchi... mi logro fue sobrevivir un buen rato
 
@g3rv4 cometi un error grosero al mover una de las torres.. y me lo dejaste pasar...
igual hubiera sobrevivido a eso.. hubiera perdido un poco de mi ventaja nada mas...
 
@g3rv4 fue un hermoso partido :)
 
Se rompe el link
XD
 
5:56 PM
jajajaaj
me lo imagine
 
@MauricioContreras Tendrás que urlencodear el mensaje
 
bien ahi...
 
Ahora sí. XD
 
5:59 PM
@Alfabravo Captain here: la idea de la cocción lenta es lograr una temperatura uniforme al interior de los alimentos. Para eso hay que levantar lentamente la temperatura, para mantener siempre el balance.
 
@gbianchi estuvo muy divertido :)
 
@CandidMoe Y para que la rana no salga de la olla :-)
 
@g3rv4 :)
 
Con un Sous Vide puedes controlar la temperatura con precisión mejor que 1°C. Entonces, a 54°C pasteurizas un huevo, y a 65°C lo dejas justo con la yema firme por fuera y cremosa por dentro. Tu abuela jamás lograría eso.
Puedo cocinar una pechuga de pollo sin que quede fibrosa, y lograr una papa cocida, pero firme, que no se pase y se empiece a desmoronar sola.
 
Interesante, pero ¿no influye el ingrediente crudo? Quiero decir, habrá pollos de diferentes texturas, patatas de diferentes tamaños...
 
6:03 PM
@CandidMoe por supuesto. El punto de ese aparato es que controlas las variables y, con el programa adecuado, el cielo es el límite. El punto de la abuela es que tiene todas las variables en la cabeza y en los ojos
 
Lo que no tiene la abuela es el sensor de temperatura :-)
 
@abulafia La abuela prueba lo que cocina. CLaro que lo tiene. :P
 
@abulafia Bueno, mi olla es de 1.5 lts, asi que no tengo muchas opciones.
@Alfabravo De tus comentarios me queda claro que no cocinas.
 
@CandidMoe Bueh, cuando me cruzo con falacias lógicas abandono la conversación. Espero que las pruebas con la olla te resulten divertidas. Enjoy! runs
 
Buenas a todos
 
6:09 PM
Lo de la "cocina de la abuela" me huele a mito. Ahora que se cocinar, las prácticas de la cocina cotidiana y popular encuentro que dejan mucho que desear.
 
@CandidMoe esa afirmación es relativa, como todo. Sé cocinar, no duras 10 minutos en Hell's Kitchen. XD
 
@MauricioContreras Para mi cocinar es un placer, no una competencia.
 
Yo prefiero ser comensal, no sabré como se prepara, pero al menos podré decir si es de mi agrado. XD
 
Vale, vengo para manifestar mi animadversión hacia los Schemas
 
6:13 PM
No quiero escribir palabras malsonantes, pero...
 
@AQMR ???
 
@MauricioContreras por lo de los Schemas, para escribir mi opinión sobre ellos.
 
@AQMR hablamos de Mongoose?
 
No tengo conocimientos sobre ello, así que, si merece la pena, dale
Yo escucho (leo) atentamente
 
@AQMR me refiero a que si te refieres a los Schemas de Mongoose?
 
6:15 PM
A los del XML
 
(valga la redundancia)
@AQMR entonces cuentas con todo mi apoyo para las palabras malsonantes que consideres apropiadas.
 
Me alegra saber que es opinión popular
 
Antes de otros formatos, muchos tuvimos que lidiar con XML.
Hay miles de historias interesantes, en el lenguaje de tu preferencia, todas con prácticamente la misma conclusión acerca del invento de los de Redmon.
 
Dios santo bendito, que chusco de información nos están dando, de verdad. Encima el 90% de los profesores nos dicen que esto no se utiliza ya y que es vergonzoso que lo estudiemos cuando está tan desfasado
EXCEPTO, la profesora que lo imparte. Entiendo su postura, pero dios mio...Que CHUSCO!
 
@AQMR para el carro, que si que se usa. Muchas apps mueven datos así.
Sin dar muchos detalles, en el curro consumimos datos XML, los procesamos y los agregamos. La app que los genera no tiene intenciones de variar su salida, es un estándar para muchos componentes, por lo cual cambiarlo no es una opción. XD
Supongo que haces declaraciones de renta en línea, allí se usa XML
 
6:31 PM
Puede decirse que ya no se usa para nuevos despliegues (y aún esto sería discutible), pero por desgracia el mundo además está lleno de legacy apps
asi que vamos a tener XML para un rato todavía
al menos SOAP si que parece ya muerto (quizás nunca estuvo vivo)
Para mi XML es mundo java, suelen ir juntos y prefiero tener que tratar con ambos lo mínimo posible
 
6:56 PM
@MauricioContreras No se, a mi lo que me han dicho los profesores. Yo de lo que me quejaba era de la sintaxis, es horrorosa XD
Pero bueno, ya voy entendiéndolo
 
7:10 PM
Jo, esta respuesta sugiriendo usar like para consultas sobre cadenas en SQL. Vaia Vaia
0
A: Como detecto que una cadena de texto tenga sus iniciales en mayúscula en SQL

Hector Luis Claro GaibaoLas siguientes intrusiones SQL no distingue de mayúsculas ni minúsculas DECLARE @TableData TABLE( Text VARCHAR(100) ); INSERT INTO @TableData VALUES ('Aa'), ('AA'), ('aA'), ('aa'), ('ZZ'), ('zZ'), ('zz'), ('Zz'); SELECT * FROM @TableData WHERE Text = 'AA' SELECT * FROM @TableData WHERE T...

 
7:26 PM
@MauricioContreras Puntos por esfuerzo ?
 
@Excorpion que está aconsejando mal, usar like tal como lo usa en la respuesta es lo menos performante del mundo. XD
Me atrevo a decir que eso es más lento que Python, XD
Así de pésimo es.
Vamos a ver cuantos Pythonistas saltan...
XD
 
XD
 
Hablando en serio, usar like con wildcard inicial (%cadena_a_buscar%) es muy mala idea.
 
BTW no dije que lo estaba haciendo bien, solo que tiene puntos por esforzarse al responder
y lo atacaron tambien
> Creo que no entendiste el problema.
@MauricioContreras por que no le diste -1 ya ?
 
@Excorpion no, yo soy de los que dejo que la pregunta se cierre, las respuestas dejarán de estar visibles al mundo en general. XD
 
7:33 PM
Son 2 cosas diferentes y 2 usuarios diferentes...
Si ambos estan mal, a ambos hay que decirselo
o hacerselo notar
no solo a uno
 
La otra respuesta al menos hace uso de herramientas de SQL, pero tampoco me gusta mucho. El lenguaje estructurado de consultas no está diseñado u optimizado para lo que pide el OP, según mi poco conocimiento. Es más rápido pedir los datos y filtrarlos luego usando un lenguaje de programación, que bien podría estar optimizado para esa tarea, y no bloquear la DB o el Servidor con consultas tan pesadas. IMHO
 
Eso decirselo a ellos por ej XD
Yo por ejemplo odio las consultas como estas
1
Q: como puedo contar los meses que son consecutivos Mysql

Enriquecomo puedo contar los meses consecutivos es decir si un registro de un cliente tiene compras en enero y febrero se cuenta como 2, pero si los registros no son consecutivos por mese es decir enero y marzo por ejemplo no los cuente actualmente los estoy contando asi. COUNT(DISTINCT MONTH(VentaFecha...

 
8:02 PM
me llamó la atención el correo
 
@Christian No veo otra forma de comprobar si funciona o no,..
 
no encuentro fallas en su logica xD
 
@Excorpion lo sé y eso significa que alguien obtuvo mi correo o simplemente quería verificar la existencia de ese correo
siempre escuché que no es bueno abrir los correos si dudas de su precedencia, pero este me intriga
 
@Christian estatilisticamente 99% de los correos sin numeros, existen...
 
@Excorpion eso no sabía
 
8:08 PM
@Christian Algunos clientes de correo tienen la opción de mostrar el fuente del mensaje, sin interpretación. Esa es la manera más segura de verlos.
 
@CandidMoe sabes como hacerlo con gmail?
 
@Christian Ni idea. Uso Thunderbird
 
@Christian yo tampoco, solo lo invente
 
XD
@CandidMoe si me conecto a mi cuenta con python y leo el correo, es seguro?
 
@Excorpion eso esta todo mal... mira mi comentario
tiene graves problemas de definicion...
 
8:13 PM
@Christian Si, a menos que alguien prepare un ataque especialmente para ti.
 
para la proxima hago eso, ya lo abrí
 
si abris el correo en gmail no pasa absolutamente nada
al fin y al cabo, lo estas abriendo en el servidor de gmail
y ellos te estan enviando el resultado..
 
mas vale prevenir
Buenos dias, quiero preguntar si te llego el correo que te mande hace unos dias, como no recibi respuesta por eso consulto.

Te mande un email a christianvelasces@gmail.com pero no se si te llego.

Disculpa la molestia, pero parece que estoy teniendo problemas con mi correo, si este email te llega como spam/correo no deseado te pediria si sos tan amable que lo pases a bandeja de entrada, así te vuelvo a enviar la consulta para que te llegue correctamente.

Saludos.

Maria Bravo.
 
@gbianchi ¿El HTML lo interpretan ellos?
 
@gbianchi si me lo imaginaba, pero no tengo tiempo para responderle nada
 
8:16 PM
nop ya valí
hay forma de saber si un servidor ejecuta algún proceso haciendo una peticion http?
 
@gbianchi Sí, pero el resultado puede ser html que contenga por ejemplo algo tan inofensivo como un <img src="https://servidor.de.imagenes/logo.png"> por ejemplo lo cual causará que tu navegador haga un GET a esa url para pedir la imagen para mostrarla
lo cual en principio permite al propietario del servidor de esa imagen saber que has abierto y visto el correo
 
@CandidMoe no eso no...
 
efectivamente ya vali
 
@abulafia eso si...
pero no va a ejecutarte un virus que infecte tu maquina.. a eso me refiero..
tracking codes.. y todas esas cosas... si señores...
 
no va a infectarte con un virus tu operativo, concuerdo. Pero no tengo tan claro que no pueda "infectarte" tu navegador con javascript, por ejemplo. Supongo que no, que se bloqueará la ejecución de scripts "de terceros"
pero eso si todo fuciona como debe. Si el navegador tiene una vulnerabilidad por descubrir cabe un exploit de dia cero
es decir, yo cada vez estoy menos seguro de nada
antes creía que la única forma de infectarse era hacer doble clic en un exe
 
8:22 PM
@abulafia peor es bajarlo a mi maquina...
 
pero incluso un pdf puede infectarte...
cuanto más sé, menos sé
 
@abulafia eso.. podria ser.. pero.. deberia venir js en el mail.. y el navegador.. ejecutar el js que viene dentro del mail...
 
lo que ma miedo es que si entras a la dirección del domio ves una pagina en blanco
 
@Christian qué dominio?
 
@abulafia naprock.com
hice !wget https://naprock.com y ahora el notebook esta buscando un nuevo alojamiento
 
8:24 PM
Parece una pagina inofensiva
solo descarga esto:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
</body>
</html>
 
a simple vista
 
es una página en blanco sin más. No hay javascript ni nada sospechoso
Ni siquiera las cabeceras traen nada sospechosp
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 333
Content-Type: text/html; charset=UTF-8
Date: Fri, 21 Jan 2022 20:24:02 GMT
ETag: "9da7a-14d-53dabbe8a7440"
Keep-Alive: timeout=60
Last-Modified: Thu, 29 Sep 2016 20:58:49 GMT
Server: nginx
Ni una triste cookie
lo único que puede hacerte esa página es loguear tu IP
 
cosa que no tiene mucha importancia
 
de dónde ha salido este dominio?
 
@abulafia de la persona que envio el correo
 
8:28 PM
Bueno, si te lo envió sólo a ti, puede deducir que al visitar el dominio es que has leido ese correo, y al obtener tu IP correlacionar la IP con la persona (tú) detrás de esa dirección de email.
Aunque como ahora también la he visitado yo, pues ya tiene dos IPs y no sabría cuál es la tuya
 
la que visito primero quizá?
 
yo no me preocuparía, no creo que sea nada de eso
 
probaste un whois?
 
la URL ni siquiera lleva parámetros para poder personalizar el email y así correlacionar
 
Puedo hacerle un ataque para que tenga al menos 1000000 de direcciones diferentes en un tiempo de 30 minutos. XD
Medidas extremas. XD
 
8:31 PM
afecta que tenga un enlace?
 
El enlace probablemente lo ha creado el lector (para facilitarte clickar en él) y no formaba parte del mensaje
 
Sabes que existe algo llamado papelera para cosas que no tienen importancia?
 
@Christian no tiene un enlace
@MauricioContreras +1564841984189649
 
de todas formas, lo que más sospechoso me parece de todo esto, es que si buscas en google naprock te salen noticias sobre emails fraudulentos para sextorsión. Pero si visitas esas noticas, la palabra "naprock" no aparece en ellas a pesar de que Google las ha puesto entre los primeros resultados
 
@gbianchi si ya me di cuenta de eso
@MauricioContreras me causaba curiosidad, luego elimino todo el spam
 
8:33 PM
@abulafia whois la tiene registrada de una forma extraña...
 
A lo mejor era un dominio que hacía phising (las noticias al respecto tienen ya unos años) pero hoy dia es un mero parking de una página vacía
 
si.. suena a eso abufalia...
 
Es llamativo que la página, pese a estar vacía, tenga un <title> en castellano
<title>Documento sin t&iacute;tulo</title>
@Christian Pero en el correo que has mostrado antes no veo nada de naprock tampoco
 
8:39 PM
@MauricioContreras Ves como era útil una página así? XD
@Christian Aah, pero es que el servidor de correo no tiene nada que ver con el servidor web. Habría que mirar el registro MX en el DNS
Bueno, acabo de mirarlo. Tanto el servidor web como el registro MX (servidor de correo electrónico) apuntan a la misma IP: 92.222.87.227
 
no sabia que el servidor no tenía nada que ver
@MauricioContreras puede que si xd
 
esa IP pertenece a ovh desde 2014, que es un alojador de servicios web francés
 
@abulafia si envio algo a un servidor y me responde un 4 sabes que significa?
 
un servidor de qué tipo? Http?
a qué puerto conectas?
 
sock = socket.socket()
sock.connect(('92.222.87.227', 443))
sock.send(b"hola")
 
8:48 PM
443 es para el protocolo HTTPS. Lo que le envías no es válido bajo ese protocolo. La respuesta no es relevante. Posiblemente te cerrará la conexión
 
olvidalo,si
 
estará esperando a que envíes algo más a ver si lo puede parsear correctamente, y si no envías nada te cerrará. O te cerrará antes si lo que envías no tiene sentido para él
Ah, y el 4 que ves no es la respuesta del servidor, es el valor retornado por .send()
que indica que ha enviado 4 bytes
(las letras de "hola")
para ver la respuesta del servidor tendrías que hacer un sock.recv() detrás
y su respuesta es esta:
b'HTTP/1.1 400 Bad Request\r\nServer: nginx\r\nDate: Fri, 21 Jan 2022 20:50:11 GMT\r\nContent-Type: text/html\r\nContent-Length: 150\r\nConnection: close\r\n\r\n<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n'
curioso que ni siquiera ha cifrado la conexión, pese a ir por el puerto 443
 
Este comentario en una respuesta me arrancó una sonrisa:
> Si no le dices a la función cuándo detenerse, entonces sucederá algo llamado stackoverflow(!!!). La pila(stack) se va a llenar con funciones que se están llamando, pero que no regresan ni se quitan de la pila.

> Bueno, ahora al menos ya intuyo qué significa este sitio :-)
 

« first day (2275 days earlier)      last day (816 days later) »