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

8:09 AM
@abulafia. Me sigue dando vueltas el problema del import. ¿Qué problemas lógicos generaría que el import siempre accesara la variable actual?
 
 
2 hours later…
10:40 AM
@Trauma estás bien???
Estoy muy preocupado por ti
Acabo de leer un comentario tuyo en una pregunta marcada con Java y claro, pienso que o el covid te ha dejado secuelas graves o te están apuntando con una pistola a la cabeza o algo así
 
 
5 hours later…
3:37 PM
@Christian una vez me trajeron una laptop para revisarla; por que estaba lenta... y el chico en mi casa abrio el correo ... y tenia un correo con virus ... y cuando lo abrio; el virus se regreso ... habia tantos virus ya en la pc que le dio miedo ...
 
4:02 PM
@Arcanis-TheOmnipotent final inesperado xd
 
4:13 PM
@abulafia puede un archivo ser invisible para un S.O. (sin estar oculto)?
 
@Christian Si el S.O. no "ve" el archivo, ¿cómo podrías trabajar con él?
Puedes tener una partición encriptada, con todo un sistema de archivos impenetrable a menos que tengas los drives adecuados y la password.
Igualmente puedes crear un sistema de archivos dentro de un archivo y encriptarlo.
Tú sólo ves el contenedor, pero no los archivos que hay dentro.
 
@CandidMoe ni idea, pero no sé si es un bug de mi S.O o un bug de un módulo. El módulo pytube te permite descargar un video de youtube y guardarlo en una carpeta, pero al momento de guardarlo no lo visualizo con el explorador de archivos (aún permitiendo ver archivos ocultos)
pero al hacer un listdir() si me lo muestra
pero si ingreso por la consola y hago ls o dir no lo veo
 
@Christian ¿Empezara con un punto?
haz un "ls -a"
 
espera pruebo
@CandidMoe me muestra . ..
 
El directorio está vacio. Sospecho que estás mirando un directorio distinto.
 
4:25 PM
pues nop
 
Muestrame el path de descarga en pytube
 
espera ingreso al chat desde la otra pc
 
Mi mejor resultado:
WORDLE (ES) #16 2/6

×
🟨🟩⬜🟨⬜
🟩🟩🟩🟩🟩
@abulafia supérame. XD
 
4:40 PM
@CandidMoe la ruta donde se guardan las descargas es C:\Users\chris\Desktop\pruebas\down_music\api\downloads>
 
¿Y por qué me hablas de "ls" si estás en Windows?
 
ese comando me funciona xd
 
Entonces vas al directorio, haces "dir" y está vacio? ¿Y si lo miras por el File Manager?
Ahora, el "listdir()", ¿con que ruta lo haces?
 
con la ruta que me regresa pytube, que es la misma que te mostre
 
5:10 PM
había un virus que pululaba en las universidades y escuelas; este lo que hacia era que te ocultaba tus archivos y te quitaba el privilegio de cambiar sus propiedas haciendolo invisible para ti y casi para el S.O (usuario Actual); aparte de esto te creava accesos directos con el mismo icono y nombre de tus archivos ... que no serbian simplemente lo que hacia era reproducir el virus ...
era una joda por que tenias que ejecutar una serie de comando desde cmd para recuperar tus archivos y la pc habia que formatearla
 
@Arcanis-TheOmnipotent xd no creo que este sea el problema
ese "problema" lo presente cuando hice una app para descaragr musica
pero no le tome importancia ya que al usar el módulo como CLI si me mostraba el archivo y tambien lo podía enviar al cliente con python, así que de una forma u otra el archivo estaba ahí
0
Q: php no ejecuta bien archivo python

David Flores GarcíaHola a todos les pido ayuda ya que estoy intentado llamar un archivo python desde php, el problema es que el archivo como tal si se ejecuta, lo malo es que no hace lo que se supone que debe hacer, este es mi archivo python, es muy simple, lo que hace es descargar un video de youtube con la librer...

Esta pregunta me hizo recordar el problema que tuve
describe que todo se ejecuta correctamente pero el archivo no lo puede ver
antes de comentar algo quería saber si era posible que el archivo este "extremadamente oculto"
 
5:27 PM
El problema de esa pregunta es que la llamada al método devuelve inmediatamente el control a quien realiza la llamada. Una descarga es asíncrona, por lo cual simplemente no se ejecuta nunca la misma.
 
@MauricioContreras madre mia, y yo que estaba tan contento por hacerlo en 3
 
@abulafia fue pura suerte, ordenar palabras en mi mente y voilà
Tengo una técnica para intentar adivinar a la primera la mayor cantidad de vocales. Luego es cuestión de suerte nada más.
Estoy haciendo ahora cursos de MongoDB University. Me gusta mucho esa base de datos y la uso profesionalmente. Me siento muy cómodo en mi trabajo actualmente, utilizo las tecnologías que más me gustan.
 
6:43 PM
@CandidMoe No se trata de que vaya a originar problemas lógicos, se trata de la forma en que funciona Python. No puedes hacer que una variable apunte a otra variable, solo puedes hacer que dos variables apunten a un mismo dato. Pero la asignación directa cambia a donde apunta, solo mediante "indirectas" (elementos de un array, atributos de un objeto) puedes modificar un dato desde una variable para que afecte a otra
Por la misma razón que a = 1; b = a; b=100 no va a cambiar el valor de a por más que hayas hecho antes b=a, una variable dentro de un namespace, aunque se inicialice siendo igual a otra variable de otro namespace, no son diferentes a este ejemplo con a y b
lo que sí puedes hacer es a = [1]; b = a; b[0] = 100 y eso afectará al valor de a
y lo mismo puedes hacer con namespaces e imports. Si a es una variable de un módulo y tiene el valor [1], desde otro módulo puedes hacer from modulo import a y si entonces haces a[0]=100 estarás cambiando un elemento de la lista y por tanto afectando a la variable del módulo
como ya dije en la respuesta publicada, from modulo import a en el fondo es equivalente a import modulo; a = modulo.a y esa asignación es como cualquier otra asignación python, es decir como b = a. Se trata de un asunto de consistencia. Todo en python funciona igual. No hay reglas especiales o diferentes para los imports
 
Claro; pero si funciona cuando usas objetos mutantes.
que era el caso usual.
 
 
1 hour later…
8:20 PM
para mantener una sesión abierta cual es le método más comun de almacenar las credenciales??
 
8:56 PM
@Christian Cookies
(si por credenciales te refieres al token de sesión. Si te refieres a usuario/contraseña, eso no debe almacenarse)
 
pues sip, al token
@abulafia sabes si con javascript puedo acceder a un puerto del cliente?
 
@Christian javascript ejecutado en el navegador, dices? O ejecutado en consola usando nodejs?
 
en el navegador
 
No, no puedes. Los navegadores imponen fuertes restricciones de seguridad al javascript que pueden ejecutar. No tienes ni siquiera forma de crear un socket, menos de conectarlo a un puerto arbitrario. El navegador tan solo te dejará hacer peticiones http (via ajax)
eso si, el http puede ir a cualquier puerto no estándar (ej: http://localhost:5000/)
 
:( me quedo sin opciones
 
9:08 PM
qué quieres hacer?
 
"You can get a connection to any TCP port using javascript - but you will only be able to communicate over that port using HTTP. It is possible to tunnel communications via websockets - however this requires a proxy at the server end to connect to a conventional" stackoverflow.com/questions/14458235/….
 
Sí, lo que yo dije, no?
 
@abulafia quiero cambiar la url de una página web (que visualmente se vea que es otra), mi primer intent fue accediendo al historial y cambiando el estado de la url pero solo modifica la ruta (agregando algo despues del dominio) luego trate de usar pyautogui para mover el mouse y funciona pero solo en mi pc y ahora sé que JS no permite controlar el mouse por lo que ahora no tengo opciones
 
Para guardar tokens sirve cookies, localstorage y sesionStorage
@Christian Suena a phishing :(
 
@Christian Quieres descargar un html de un servidor, pero que el navegador en la barra de navegación muestre una url distinta de la que has visitado?
 
9:15 PM
@AlfredoMaussa jaja yes
@abulafia mas bien que al visitar mi web se muestre otra url en la barra de navegaciónn
 
@Christian Si, a eso me refería, que el html+js que suministra tu servidor web cause que el navegador muestre una url diferente
 
@AlfredoMaussa se ve como la real? dc76-201-230-169-153.ngrok.io
@abulafia a pues sip, conoces una forma de hacerlo?
 
Efectivamente suena a phishing y por eso mismo el navegador no te dejará hacerlo
 
fue :(
 
si te dejara hacerlo a ti, el phishing sería mucho más sencillo para un atacante. Y ya bastante mal está la cosa
por qué querrías hacer algo así?
 
9:19 PM
hacking ético (?) :)
lo había logrado con pyautogui pero no puedo hacer nada si no me conecto a la pc del cliente
 
Bueno, pues no hay forma de hacer eso. Y si descubres una, ya que se trata de hacking ético, notifícala inmediatamente a Chrome, Firefox, Edge, Safari, Opera, Brave, ... :-)
 
primero la exploto un poquito y luego notifico
 
miedo me das
2
hacking no-tan-etico
 
es para una amiga de mi mamá que quiere saber si su novio la engaña y la mejor forma que se me ocurrió para acceder a su fb era con phishing
 
Alguno sabe como hacer que visual studio code reconozca el repositorio hijo por defecto? quiero decir, tengo un git dentro de otro git pero el visual studio code, en la interfaz solo reconoce al git padre. Parece que "git submodule" puede servir.
 
9:27 PM
@Christian Bueno, aunque sea por una buena causa es un acto criminal y penado. Tú sabrás lo que haces :-) lo que puedes hacer si decides seguir adelante es registrar un dominio que se parezca al de facebook, como por ejemplo https://facebook.com.f88as77a888asdhhasjiqwkjklasjiiiujiasjlbuoqpero.midominio.com (la parte de las letras aleatorias es tan larga que la barra de navegación no llega a mostrar la parte final)
 
no tengo dinero para comprar un dominio
ya tengo uno, puedo ponerle un subdominio?
 
Si, claro, lo que acabo de sugerir es un subdominio de midominio.com, si te fijas
 
yep voy a intentarlo
 
esto va a acabar mal. Yo voy a borrar mi mensaje
ops, ya no puedo
 
no creo que alguien me demande
además ya hice otras cosas, como invasión de privacidad, aunque todo eso puede pasar como "concentido" ya que se engaña a la victima y todo lo autoriza
 
10:02 PM
@Christian Eso jamás, jamás va a estar permitido.
@Christian Recuerda que Internet te Recuerda. Esta conversación ha sido vista por varios y ha quedado registrada. Pasa a formar parte de tu perfil, que un futuro empleador podra consultar. Piensalo.
 
@gbianchi puedes borrar todos los mensajes?
 
@Christian. Antes de publicar nada, piensa "¿Cómo podría ser usado en mi contra en cualquier momento del futuro?"
 
la unica prueba que hay es esta conversación, luego no hay forma de comprobarlo
 
Mira la política de hoy en día, como se resucitan fotos y textos de 40 y 50 años atrás para perjuicio de los implicados.
@Christian No importa. Esto no es parte del sistema legal. Está todo registrado en alguna parte. Si alguien tiene interés, puede cruzarlo y recuperarlo. Toda la parte digital de tu existencia está en la nube.
Eso incluso cada paso tuyo por una cámara de vigilancia.
Esa información sobre ti tiene valor. Algún capitalista puede ganar unos centavos reproduciendo esta conversación cuando un empleador quiera revisar tus antecedentes.
 
eso atenta contra la privacidad
 
10:10 PM
@Christian Que lindo! ¿Donde voy a denunciar que una compañia gringa recolecta mis datos?
 
ay no, no se puede :/
 
TIenes que cuidarte de la Internet. Alguien puede tomarte odio y con la información que has publicado, ubicar tu casa, tu familia, tu escuela.
Tienes que crear identidades y considerarlas desechables. En el momento que las cosas se joden, las abandonas y asumes otra.
Asi que antes de emprender el hacking ético, considera todo lo que te puede pasar a tí con lo que has publicado.
(Obviamente no es una amenaza, dada nuestra mutua relación).
 
por eso utilizo seudónimos y tengo un correo para cada uno
claramente empezaré a tener más cuidado
 
1
A: Python - [Error: "TypeError: argument 1 has unexpected type 'NoneType'"] - Paso un argumento a una función pero me devuelve error NoneType

abulafiaEn algunos contextos (y tú te has encontrado con uno de ellos) hay funciones a las que como parámetro les tienes que pasar otras funciones (pero no llamarlas, ya que quien las llamará será la función en cuestión). Por ejemplo, si queremos que al pulsar el botón se imprima "Hola", preparamos una f...

 
MIra todo lo que sabemos de ti: tu nombre, tu ciudad, tu último año de estudio, la carrera a la que postulaste, los miembros de tu familia (y su profesión) y una foto de tu vecindario.
 
10:18 PM
Este asunto me volvió loco durante al menos 15 minutos. Bueno, otra cosa más que aprendo al responder una pregunta!
 
@abulafia Finalmente descubri como implementar variables lexicas y closures.
 
Cómo implementarlas dónde?
El scope léxico no debería ser sencillo? Es el scope que usan todos los compiladores, basado en la estructura del código. A mi me parece a priori más simple de implementar que un scope "dinámico"
 
En Lisp. Estaba complicado porque había entendio mal el scope and extend, pensando que funcionaba igual que en otros lenguajes.
 
estás haciendo un lisp en qué lenguaje? (python supongo!)
 
Entonces, tenía un scope dinámico que era super simple; cuestión de ir subiendo por el stack hasta encontrar la variable.
@abulafia Si, Python.
Entonces el problema era donde meto el scope lexico sin alterar toda la forma de evaluar las expresiones.
 
10:24 PM
ya veo
 
Bueno, resulta que en Lisp todo es global; no hay necesidad de ninguna stack. Si creas una variable 10 niveles más abajo en alguna función aleatoria, la variable es global.
 
uf!
ese es un aspecto de js bastante criticado, me sorprende que esté en el respetable lisp
no, perdón, lo estoy liando. Javascript tiene scopes locales. Lo que es global es el scope de todos los elementos <script> en html
 
Asi que ahora ocupo el stack para guardar el clousure de cada función. Cuando encuentro una definición de función, tengo la lista de variables a capturar, que las guardo como parte de la función. Asi, cuando la ejecutas, tienes todas esas variables lexicas precalculadas.
Es sólo que tengo que reescribir un montón de código ...
 
eso es un closure, no?
ah, si, acabas de decirlo :-)
 
@abulafia Claro. Queda registrado el valor de las variables al momento de definir la función. La función ocupara esa variables al momento de ser llamada.
Entonces tengo un stack de closures. Cuando buscas una variable, lo recorres en orden hasta encontrarla, pero si creas una variable, siempre serán en el primer elemento del stack, convirtiendo la variable en global. Presto!
Quedan detalles por afinar.
 

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