Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alex

#1
Muy detallada te quedó la publicación de lo que hablabamos por irc, excelente post.

Gracias por publicarlo Dtxdf.
#2
Java / Re: ¿Qué evalúo en las entrevistas técnicas?
Febrero 18, 2022, 05:06:06 PM
Pues no hay de que, agradezco a todos los que respondieron mi post. Lo que si me gustaría aclarar, es que no todas las entrevistas toman ese formato, ni esas preguntas, pero así hago yo las entrevistas.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aportazo Alex!! Esta excelente!!!
Ahora espero uno con las posibles respuestas!! jajaaj

eso es trampa!
#3
Java / ¿Qué evalúo en las entrevistas técnicas?
Febrero 18, 2022, 10:25:04 AM

Hola, llevo un tiempo haciendo entrevistas técnicas y las hice para dos empresas diferentes, aquí me gustaría indicar que cosas evalúo/pregunto en una entrevista técnica:

Comienzo la entrevista explicando quien soy y cual es mi background, donde trabajé y que hago en la empresa actual para la que estoy entrevistando.

Pregunto como le esta yendo en el trabajo actual si tiene y por que busca cambiar, que es lo que le disgusta y que es lo que le gusta (para aprender un poco de los fallidos y aciertos de los demás)

Luego comienzo la evaluación preguntando:



  • Estructura de datos (hashmaps, listas, etc.)
  • POO (herencia, polimorfismo, sobrecarga, statics en sus variantes, finals en sus variantes).
  • Pregunto como funciona la programación reactiva.
  • Dependiendo el seniority pregunto sobre Patrones de diseño y por qué se utiliza Singleton y no una clase puramente estática.

Si es para versiones un poco más recientes de java 8+ comienzo a preguntar cosas como:

  • Como y dónde utilizar Optionals
  • Como funciona la api de streams en java.
  • Como funcionan las lambdas

Spring? pregunto por las distintas cosas de spring:

  • Spring security
  • Spring data, JPA,
  • Diferencias entre distintos tipos de controladores (RestController, Controllers para sockets, ETC).
  • * Si se requiere hibernates (cosas como que es un orm, como funciona lazy loading, y cual es la diferencia con jdbc templates).
  • * si se requiere pregunto cosas de jsp, jsf, thymeleaf

Pregunto si usaron maven/gradle con anterioridad y como funcionan.

Si es requerido pregunto:

  • si se consumió algún SOA,
  • si se creó algun soa
  • como funcionan los wsdl

Luego pregunto si utilizaron microservicios

  • Como funciona una API Rest
  • Como funciona JWT
  • que ventajas tiene jwt con respecto a Http Session y que desventajas
  • Si utilizaron GraphQL y como funciona

Luego paso a bases de datos:

  • Que bases de datos utilizaron
  • Algunas cosas de sql, como joins o que es una vista y cuando utilizarla.
  • Si conocen no relacional y como funcionan estas dbs y su diferencia con las relacionales

Luego si es para un architect de microservicios ya pregunto sobre otras cuestiones:

  • Utilizaste redis o similar?, cuando se utiliza, como implementarías caché
  • Como funciona elastic, cuando usarlo
  • Como funciona el patrón pub/sub, colas de mensajes y que problemas podría tener en el orden de recepcion de mensajes y como solucionarlo.
  • Como funciona y por qué utilizas circuit breaker
  • alguna otra cosa que se me ocurra preguntar en el momento.

Luego paso a testing:

  • Conoces que es, como funciona TDD?
  • Describime un ejemplo de como sería el proceso de desarrollo utilizando TDD
  • Utilizaste JUnit, TestNG, cucumber, mockito?
  • Obviamente pido detalles sobre como utilizar dichas tecnologías.

Finalmente agrego preguntas de

  • Git
  • Git flows
  • Pull request
  • Tipos de merges de pr como squash

Si se requiere preguntas de aws o agile las agrego al finalizar.

Fin de las preguntas.





En este punto de la entrevista pudieron pasar varias cosas, que el entrevistado sea muy descriptivo y se explaye mucho, en ese caso algunos puntos los salteo (si veo que ya los fue mencionando, y trato de reducir el numero de preguntas a cosas mas dificiles para no tener que preguntar tanto), ya que trato de que las preguntas no duren más de 45 minutos y se pase por todos los temas.

Cuando el entrevistado no conoce alguna tecnologia o respuesta trato de explicarle la tecnología, o darle una respuesta bien resumida para que lo tome de base, se lleve una idea y pueda ampliar luego su conocimiento.

La idea de mi entrevista es hacer un paneo 360 por todos los aspectos de la programación, ver el nivel en cada uno, y lograr que el entrevistado se lleve algo que no sepa de la entrevista y no haya sido solo un set de preguntas, y si me puede enseñar algo a mi mejor todavía.

Luego de las preguntas, doy un feedback de mi percepción técnica aclarando que no es una respuesta de la empresa, sino mi opinión y el feedback que voy a devolver a RRHH para que continuen el proceso, de este modo el entrevistado se va tranquilo sabiendo qué es lo que le dije a RRHH, que luego ya dependerá de la empresa el proceder.

Y como cierre de la entrevista suelo pedir un feedback de la entrevista al entrevistado para saber si le resulto tensa, aburrida, dinámica o cual fue su percepción, para mejorar el proceso de evaluación en un futuro.

Trato en todo momento de ser dinamico, y generar tranquilidad en el entrevistado explicando que ninguna pregunta es bloqueante, ni que el responder mal o decir que no sabe es algo malo sino mas bien que mejora la fidelidad de nuestra imagen de su conocimiento.

Tomo como tip, que las entrevistas no son un examen de escuela, ni la intención es demostrar lo poco medio o mucho que sabe el entrevistado, sino de simplemente recolectar la información de su nivel de conocimiento sin ponerlo nervioso ni torturarlo.

Luego dependiendo del puesto al que aspira hay otras etapas relacionadas a conformar una solución y defenderla.

Yo no soy muy fan de los challenge, aunque son muy ilustrativos consumen mucho tiempo del dev, y me parece injusto que para nosotros poder evaluarlo, le exijamos hacer un challenge.

Saludos.

Si quieren charlar de algo, tienen dudas o lo que sea pueden encontrarme casi siempre en el chat embebido en el foro (que es un irc) o desde un cliente de irc en el canal de #underc0de en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#4
Estuve viendo el video, y la verdad que está muy bueno, desconocía lo de yield farming :O

Se agradece la charla, muy interesante.

Saludos!
#5
Ideas y Sugerencias / Re: Ideas Para Underc0de
Septiembre 20, 2021, 01:38:36 PM
son ideas interesantes que se podrían incorporar al foro, el tema es modificar el foro para agregar dichas funcionalidades.

Slds
#6
Dudas y pedidos generales / Re: VirtualBox-Kali Linux
Septiembre 13, 2021, 02:37:11 PM
por que no pruebas poner kali en un pendrive y levantarlo directamente live desde el pendrive y listo?

esa era la idea original de kali, que lo usen desde un pendrive.

saludos!
#7
por que la remera del loco dice QArmy si es programador?

feliz día a los programadores.
#8
Podes usar muchas cosas, como un nginx para rutear las suburl al backend, o usar subdominios para rutearlos al backend, etc.

Slds
#9
si el dispositivo es un movil como dice noxon, seguramente estan evaluando el numero de serie de tu dispositivo.

saludos.
#10
claro el problema de ahí es que tu tienes el update dentro del for, por lo que cada vez que itera se ejecuta el update y pisa los valores anteriores, te recomiendo sacar el update fuera del for pero ocurre también que en una columna solo puedes guardar un valor por registro, si tu actualizas el registro anterior le cambias el valor, solo podras guardar 1 valor, podrías guardar ambos valores concatenandolos o serializandolos, para que se guarden en la misma columna.

saludos.
#11
que tal rebe? mira, el error indica un problema de casteo de tipos en la linea 12 y 17 (pero no se cuales lineas son porque aquí no esta el codigo entero entonces no veo numeración para saber cuales lineas dice)

Te está diciendo el error que tienes un array y que tu lo quieres usar como string, es decir una de las variables que generaste tiene un array dentro y luego tu lo estas tratando de concatenar con un string por ejemplo (o cosa similar).

Yo creo que la linea 12 es esta:
echo  $file = $_FILES["file"];

y la linea 17 esta:
echo   $dimensiones = getimagesize($ruta_provisional);

SI te fijas estas dos variables contienen arrays (los files y las dimensiones que es x,y), y al ponerles "echo" te tiran ese notice, lo hacen 1 por cada linea y 2 veces porque subes 2 archivos (por eso hay 4 notices).

Por lo cual esos notices son irrelevantes (puedes usar var_dump en vez de echo para ver una variable),
(En resumen los notices son por usar los echos en arrays en esos casos),

entonces por que tira error de tamaño?

Noxon tiene razón el getimagesize te está devolviendo segun tu imagen este tamaño:

31204160 que es la union de los dos echos de:
echo   $width = $dimensiones[0];
echo   $height = $dimensiones[1];

Vuelvo a insistir con usar var_dump($variable) en vez de echo $variable, porque no tirará ese tipo de notices, y te dirá el tipo del dato y el valor bien separado y entendible, en este caso al tener los dos pegados no sabes cuanto es de width y cuanto es de height, si no quisieras usar var_dump puedes poner PHP_EOL para poner saltos de linea y en caso de estar puedes dar click derecho ver codigo de fuente para ver correctamente porque html no cuenta saltos de linea si no son tag <br>.

echo   $width = $dimensiones[0].PHP_EOL;

echo   $height = $dimensiones[1].'<br/>';

$height = $dimensiones[1];
var_dump($height);

pero supongamos que los tamaños son justo la mitad de tu numero: 31204160 (3120x4160) en ese caso si estarías superando el tamaño de los ifs que sería maximo 2500:

if($width > 2500 || $height > 2500) {
$reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura máxima permitida es de 500px</p>";
}

te recomiendo mejorar la forma que muestras para debuguear las variables, probar de nuevo y subirnos el codigo completo para poder ver la cantidad de lineas que lleva y donde tira los notices.

Slds!, nos comentas que tal.

#12
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola a todos,

¿se puede intercambiar dinero por Bitcoins en este foro? Yo lo vería como un trueque...

Esta vez leí las reglas y no encontre algo relevante al respecto, en mi opinión.


Gracias y saludos

Existe localbitcon que es una plataforma con medidas de seguridad y apuntada a eso.

Slds.
#13
Off Topic / Re: Voy a cursar DAM + Consejos
Julio 12, 2021, 10:45:26 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola!! No se que es DAM. Pero si, los diseñadores web estan ganando muy bien (dependiendo las tecnologías que manejes). Hoy en día creo que lidera ReactJS para el front y NodeJS para el backend.
Quizas No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pueda darte mejores referencias, ya que el justamente esta trabajando de esto.

Saludos!
ANTRAX

De cara a consejos, te puedo decir que de las cosas más utiles que podes aprender (de utilidad misma) es sql (que te va a servir para relacionales y para otro tipo de cosas como bigquery de google), de regex que te van a salvar la vida más de una vez y bueno obviamente todas los demás temas te van a ser de utilidad, y programar sin duda pero si es algo que te gusta vas a ir de 10.

Como le dije a un chico que entró a IRC, hoy en día los lenguajes más utilizados son (no estarían ordenados):

Para microservicios y esas cuestiones hay bastante de NodeJS (lo que tiene de bueno javascript es que lo podes usar para muchas cosas muy fácil, para hacer mobile con Cordova/Ionic, para hacer desktop con electron, para hacer frontend y para hacer backend con nodejs).

Si queres trabajar de backend dev clásico, te va a tocar seguramente Java/C#

Hoy en día en microservicios se está usando mucho también Go por lo performante que es.

En cuestión de frontend quizá te convenga aprender react, pero hoy en día vue está creciendo bastante, y por otro lado también existe angular, que no es tan popular pero si es mucho más ordenado y en mi opinión personal, superior en muchas cuestiones.

Y algunos aventurados (aunque la mayoría en un area mas freelance o custom) utilizan python.

PHP sigue siendo el rey en cuanto a web clasicas como basadas en CMS y sigue teniendo buen soporte para muchas cuestiones como conexiones a db, y es un lenguaje fácil y práctico.

En fin, lenguajes hay muchos, lo importante es aprender los conceptos generales de comunicación entre cliente/servidor, bases de datos, y programación básica, luego a cada lenguaje/framework uno se adapta.
Por ejemplo tener claro la estructura de un ApiRest, GraphQL, JSON, (si tenes suerte ya no te toca trabajar con SOA xD), conceptos generales de DB, conceptos generales de performance, manejo de memoria, sistemas operativos, etc.

Mi principal consejo es que aprendas los conceptos y no la implementación puntual, es decir aprendas a pensar y conceptos generales y no puntualmente que funcion resuelve que cosa en que lenguaje.

Y respondiendo a la pregunta de los sueldos, si es mucho o poco es totalmente una percepción personal, hay variedad y depende del país, los sueldos suelen variar de entre 1k USD a 9K USD por mes, depende del país, lo importante es que sepas ingles para trabajar para países que tienen bastante demanda del tema y pagan esos números. Por dar ejemplo tengo entendido que empresas de billeteras virtuales a nivel global estan pagando 9k a los desarrolladores senior (que tienen años), empresas de delivery de latam conocidas están pagando 3k usd a sus desarrolladores, y empresas más de argentina por ejemplo llegan a pagar el 1k-1.5k usd dependiendo. todo para perfiles que llevan 5-6 años minimos en el area. Los que recién empiezan cobran un 30% de esos respectivos sueldos. (Ojo los valores dependen de cada país, y de en que empresa entres, obviamente los que mas pagan exigen un poco más).

Todos los numeros que puse son de ofertas reales que vi yo mismo, sin embargo en mi caso decidí trabajar en una empresa que está más cerca del 1k que del 9k xD, pero también estoy orgulloso de trabajar donde trabajo y tiene otros beneficios como un descuento del 70% en cualquier cosa que compre en el supermercado haciendo que el sueldo rinda mucho más :P

Saludos.

PD: en este comentario hago referencia no a desarrollo web, sino a desarrollo de software en general, ya sea mobile nativo/hibrido, frontend o backend, etc.
PD2: mi comentario esta basado exclusivamente en experiencias propias, y de mi país, no puedo hablar por españa considerando que soy de argentina pero los sueldos de full-remoto en el exterior imagino que serán los mismos en todos lados que arrancan en 3-4k a 9 hasta donde vi.
#14
Presentaciones y cumpleaños / Re: Me presento
Junio 24, 2021, 09:22:48 AM
bienvenido, ya te tengo ubicado del irc :P
#15
CitarEstudio desarrollo web de forma autodidacta, principalmente front-end. He realizado cursos, visto guías, creado algunas cosas hasta donde me da la capacidad,
sin embargo, no he encontrado con respecto a React, ¿cuál es la mejor práctica con respecto a las extensiones? ¿Es mejor usar .js o .jsx? ¿O depende el caso?

yo de react no se mucho, hice poco en el laburo, trabajo con angular principalmente, pero entiendo que jsx es una extensión de javascript que busca ampliar para incorporar el lenguaje de componentes que tiene react, yo creo que si estas haciendo componentes en react tendrías que ponerle .jsx, pero las extensiones suelen ser "decorativas" en plan opcionales aunque generalmente hay un estandar.

CitarHe estado probando webflow, no me termina de convencer por el simple hecho de que codeo poco, sin embargo, me ha servido para acelerar dramáticamente la velocidad con la que se construye un sitio. El problema es que, una vez exportas el código de webflow, no tienes marcha atrás, es decir, no puedes volver a editar.
Entonces:

respecto a lo de que no puedes cambiarlo, si tu te bajas el zip con el diseño y comienzas a construir arriba cosas con react o lo transformas en react, claramente vas a tener un problema si lo quieres volver a modificar desde webflow, de hecho yo en un tiempo en una empresa en la que trabajaba había diseñado un plugin del vscode que convertia un zip de webflow a un proyecto de angular y luego usando unas herramientas de difeo la extensión automaticamente detectaba las novedades en los zip actualizados exportados de webflow y se los aplicaba al proyecto de angular.

CitarHipotéticamente: Tenemos una web sobre Ropa, una Galería de imagenes, una sección de publicidad.

Mensualmente esa empresa quiere agregar o quitar una imagen de la galería, actualizar publicidad o algún post de texto.

Entonces, ¿Es buena práctica usar un día y hora X, para resubir toda la página a ese hosting? Supongo que es posible, pero tampoco sé si lo es.

no entendí la pregunta, tu dices que si haces en webflow un sitio estatico, y luego al mes cambias las imagenes generar otro y reemplazar el viejo?, el tema acá es que para contenido dinámico que no sea una landingpage estática o algo que no vaya a cambiar, te conviene usar un CMS en vez de un sitio hecho en html y css solamente. cosa que puedas actualizar las cosas desde un dashboard (te recomiendo buscar uno hecho)

CitarPor otro lado, si sugieren algún hosting que valga la pena para proyectos pequeños, como landing pages, pequeñas galerías, blogs breves, también les agradezco.

depende, uno gratis yo usaba uno que se llamaba byethost, y luego depende, hay muchos y de muchos paises con muchos metodos de pago, habría que ver que buscas.
#16
Underc0de / Re: ¿Se puede hacer esto aquí?
Junio 11, 2021, 10:15:12 AM
Esta pregunta ya la habíamos respondido, la explicación está en este hilo (que también es tuyo):

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

por favor no insistir más.

Saludos.
#17
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
1) Despues de sospechar que varios dispositivos habian sido hackeados, descubri que el router Telmex HG658d esta en Modo Puente o Bridge y su PPPoE (o PPPoA?) configurado:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Lo extraño es que hasta donde se cuando esta el router esta en modo puente, el wifi deja de funcionar. Sin embargo he continuado conectandome sin problemas.

2) Era un misterio hasta que note que la laptop detecta 2 routers o modems con el mismo nombre.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

"This connection allows you to connect to the internet through a shared connection on another computer"

Del 1 al 10 para ti que probabilidades hay de que esta red este hackeada?

PD: Si la respuesta promedio señala a un hackeo, no duden que este hilo sera visitado por " "ellos" ...
PD 2: No se si estara relacionado pero segun el Microsoft Store ni siquiera esta conectada a internet esta PC:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Respecto al modo bridge, solo veo capturas de configuración de bridge pero no veo que indique en ningún lado que está activado, el modo bridge sirve para poder direccionar directamente el internet del modem a un segundo ruter y delegarle a este otro las configuraciones generales, esto es cierto que desactiva el wifi, pero yo repito, no veo que tengas activado modo bridge, por que lo dices? (digo en las capturas no veo que diga el modo en el que está operando el router).

Luego respecto a que detecta dos internet, esto no es correcto, solo detecta uno, y detecta otra parte del modem/router como otro dispositivo adicional, pero no es específicamente otra red de wifi, esto puede ser normal.

Como dijo AXCESS los deamon se refieren a otra cosa (procesos en segundo plano que existen en casi todos los dispositivos).

En resumen, si tu red está comprometida, con la información que brindas no se ve, pero tampoco brindas suficiente información como para deducir el estado de tu red.

Comparto lo que dice AXCESS, quizá un poco de paranoia sumado a desconocimiento, generan lo que en los antivirus se conocen como "falsos positivos", ver fantasmas donde no los hay, pero lo que si te diría es que utilices una versión más actualizada de Windows, considerando que utilizas una versión del 2009 (aunque con posteriores parches, sigue siendo un diseño de esa epoca).

Saludos,
#18
Ideas y Sugerencias / Re: Permitir encargos
Mayo 31, 2021, 02:32:24 PM
Yo resumo esto como, hay muchas complicaciones para implementar un sistema de encargos en un foro (incluso aunque los productos vendidos sean totalmente legales) y van desde:

1) Responsabilidad: al realizar transacciones dentro de la pagina, si eres estafado querras reclamar, y lo mismo pasa con muchos usuarios generando la necesidad de que el staff comience a controlar, los mecanismos de control son todo un tema, y es muy dificil de implementar de forma justa para todos.

2) Reputación: si el foro comenzara a transaccionar con dinero, cualquier problema afectaría la reputación del foro aunque las transacciones sean 1:1

3) Organización sin fines de lucro: Se está orientando la comunidad a una comunidad sin fines de lucro (como tal underc0de se convertiría en una fundación), no es nuestro objetivo el promover actividades que produzcan beneficios personales.

4) Objetivos: ahora tocando el tema de realizar hacks y cosas similares, esas actividades son ilegales tanto para quien usa como para quien produce el hack, underc0de no está orientado ni apoya actividades ilicitas, es un foro que busca el conocimiento y concientizar sobre la seguridad informatica y no hacer el mal u obtener ventaja por via de errores de terceros.

5) Legalidad: suponiendo que el intercambio sea de cosas totalmente legales, también corre muchas reglas legales a la hora de transaccionar entre usuarios, por lo que habría que incluir en todo esto un equipo legal y técnico, incluso cuando se hiciere por medios de pago irrastreables como bitcoin, el solo hecho de ofrecer el servicio en internet hoy en día implica muchas cuestiones legales y técnicas.

En resumen, hay sitios orientados a esto, underc0de no es uno de ellos, y no lo será porque no tenemos la capacidad ni el objetivo de solventar todos estos puntos (creo yo).

Si a ti lo unico que te interesaría sería poder encargar 1:1 a otro usuario sin soporte del foro (es decir sin importar los puntos anteriores), nada te bloquea el hacerlo, pero seguramente buscas un poco de confianza y soporte por parte del foro para garantizar tu operación, porque si uno de los users te pide 50% por adelantado vía btc que no puedes solicitar para atrás y luego no te responde más, pues mucho no podrás hacer sin alguien detrás que se haga responsable, y seguramente eso buscas del foro, pero como dije antes no estamos interesados en ese tipo de embrollos.

Saludos,
#19
Para arreglar el problema npm update check failed

Debes ir a la carpeta c:\users buscar aquí la carpeta de tu usuario, dentro buscar una carpeta .config y dentro una carpeta configstore, borra esa carpeta config store y prueba de nuevo.

Si tienes linux es lo mismo pero en /home/tuusuario/.config/configstore (tener en cuenta que en linox las carpetas o archivos comenzados por .algo son invisibiles).

Me dices si se solucionó  ;D
#20
Hola que tal?, no soy programador de py, por lo cual no conozco muy bien las funciones y tal, pero, diría lo siguiente:

Primero el flag que buscas viene de una variable del sistema a la que no puedes acceder directamente, este bot la expone cuando se cumple el if, que dice el if? aparentemente coloca en u el autor del mensaje, luego en el if lo serializa (se ve que es un objeto) convirtiendolo a texto: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , luego divide el usuario por # (recordar dar que los usuarios de discord son USUARIO#NUMERO y lo divide entonces en 2, y con el 0 agarra la primera parte (el 0 es el usuario y el 1 es el numero), agarra el usuario y verifica si contiene t (entiendo que eso hace el in).

¿que es t?, bueno arriba va convirtiendo numeros en caracteres para formar t, si te fijas una tabla ascii No tienes permitido ver los links. Registrarse o Entrar a mi cuenta parecieran dar las letras de Jhon, que deberían ser parte de tu usuario (por lo cual necesitas un usuario que diga Jhon).

Luego dice y o == 299, de donde sale o?, viene del parametro de la función roll, que según la documentación de bots de discrods No tienes permitido ver los links. Registrarse o Entrar a mi cuenta el segundo parametro son los argumentos del bot es decir los que pondrías segun la documentación en el comando que le envías, tener en cuenta que el comando comienza con el prefijo ! en vez del default $ que dice la documentacion.

en resumen tendrías que enviar un privado con un comando !algo 299 y tu nick contener Jhon para que la respuesta en vez de ser una de esas al azar sea la correcta.

De igual forma no se mucho de python, solo deduzco, quizá alguien de python te de mas data o mas correcta.

Saludos!