elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 431
361  Programación / Programación General / Re: Hacer grafico de dispersion en Python con muchos datos en: 20 Marzo 2022, 18:34 pm
Me suena raro eso de que te den: "una semana para ponerte al día con el lenguaje".

Al grano... de entrada si se busca eficiencia, python al ser un lenguaje interpretado, no va a ir sobrado de eficiencia precisamente. Un lenguaje interpretado es entre 4 y 30 veces más lento que el mismo compilado (hoy día décadas atrás la diferencia podría ser entre 10 y 100 veces).

Por otro lado como ya te dije en otro mensaje, lo ideal es partir de datos binarios no de datos textuales... los archivos de geometría van bien cuando lo que se trata es de una pequeña figura (imagina por ejemplo una figura de ajedrez con unos pocos cientos de vértices).

En un principio, se dió a entender que podría tratarse de un ejercicio escolar, y que por tanto no cabe cambiar los datos de entrada... Si finalmente es un trabajo, ya no hay ninguna razón por la que los datos deban ser mantenidos en texto... será más eficiente al guardar y al leer.

En tu caso son puntos, lo que tienes que dibujar, supongamos un caso similar... un objeto 3d... lo inicial es diseñar la estructura del fichero, y lo adecuado es que así lo expongas a tus fejes y compañeros: los actuales deberán ser convertidos a binario y el programa que genere os datos deberia reformarse para adaptar su salida a esto...
El cambio será sencillo, ya que tú no deberías cambiar el orden de los datos, tan solo los tipos de los mismos...

Nota que a falt a de los detalles de tu fichero de geometría, yo parto de lo típico preciso para un fichero que describe la geometría de un objeto 3d, que se pretende graficar alambrado.
Código:
estructura Punto3D
    float X
    float Y
    float Z
    // entero Valor
fin estructura
estructura Punto2D
    entero X
    entero Y
    // entero Color
fin estructura
estructura Poligono
    entero NumVertices    
    lista de enteros listavertices[]
fin estructura


// estructura del fichero de datos de Geometría
entero NumVertices, NumPoligonos, NumAristas, NumVerticesPoligono    
por cada vertice de los NumVertices:
    float x, y, z
por cada polígono de los Numpoligonos
    entero numVerticesPol  // si NumVerticesPoligono vale 0, este valor no aparece, es fijo para cada poligono. numVerticesPol  = NumVerticesPoligono    
    por cada vertice de los numVerticesPol
        entero vertice                

// Declaraciones
entero NumVertices                // cantidad de vertices que tiene la figura 3d
entero NumPoligonos             //    "               polígonos    "
entero NumAristas                 //    "              aristas            "
entero NumVerticesPoligono    //    " de vértices que tienen todos los polígonos
array de punto3d  vertices[]    // (x,y,z)
array de poligono  poligonos[]
array de punto2d  mapa[]        // el cálculo de la proyección de los vértices, se guarda en este array que luego será el que se dibuje.


// 1- Las cantidades que define lo que vendrá debajo de cada 'cosa'.  
Si abrirfichero(ruta) = TRUE
  leer cabecera (numVertices, numPoligonos, numAristas, NumVerticesPoligono)
  leer el resto del fichero
  graficar
si no
  error al tratar de abrir el fichero...
fin si
Tomemos como ejemplo un cubo, que es fácil de imaginar y si falla la imaginación puede uno tomar una caja y 'contar' directamente.
Tiene 8 vertices, que forman 6 caras (polígonos) y 12 aristas. Estos son los datos de partida en el fichero...
NumVerticesPoligono: Señala cuantos vértices tiene cada polígono... esto puede simplificar un fichero cuando todos los polígonos tiene la misma cantidad de vertices, si cada polígono tiene una cantidad distinta este valor debe valer 0.

Seguimos: Debajo de las cantidades que son la cabecera del fichero, aparece la lista de vértices. Como ya sabemos cuantos son podemos crear el array del tamaño preciso. Y luego procede leerlos.
Código:
funcion leer resto del fichero
   entero k,n

    // leer los datos de los vértices:
    memoria para Array de punto3d Vertices[0 a NumVertices-1]  //alojar espacio para el array 3d
    memoria para Array de punto2d Mapa[0 a NumVertices-1]  //alojar espacio para el array 2d
    bucle para k desde 1 a NumVertices
       Vertices[k] = LeerSiguienteVertice   // el punto3d X,Y,Z
    siguiente

    // leer los datos de los poligonos:
    memoria para array de poligono Poligonos[0 a numPoligonos -1]   //alojar espacio para el array
    Si (NumVerticesPoligono = 0)  
        // cada políigono tiene una cantidad distinta de vertices, dicho dato aparece en el fichero.    
        bucle para k desde 1 a numPoligonos
            n = leer entero
            Poligonos[k].numVertices = n
            memoria para Poligonos[k].listaVertices[0 a n-1]
            bucle para j desde 0 a n-1
                Poligonos[k].listaVertices[j] = leer entero  // el entero leído es el índice del vértice (del array vértices)
            siguiente
        siguiente
    si no
        // el fichero omite la cantidad de vertices de cada polígono, porque el valor es el mismo para cada uno.
        bucle para k desde 1 a numPoligonos
            Poligonos[k].numVertices = NumVerticesPoligono
            memoria para Poligonos[k].listaVertices[0 a NumVerticesPoligono-1]
            bucle para j desde 0 a n-1
                Poligonos[k].listaVertices[j] = leer entero  // el entero leído es el índice del vértice (del array vértices)
            siguiente
        siguiente
    fin si
fin funcion

Punto3D = funcion LeerSiguienteVertice
   punto3d p

   leer p.x
   leer p.y
   leer p.z
   devlver p
fin funcion
En esta función se lee el resto dle fichero, puede notarse que la cabecera incluye un dato para determinar si todos los polígonos tienenel mismo número de vértices o cada uno tiene su valor.
Por ejemplo para el caso de un cubo, cada polígono está formado por exactamente 4 vértices, luego la lista de vertices que forman cada polígono, son 4... en el ejemplo de una figura como la mencionada más arriba (una figura de ajedrez), cada polígono tendrá un número distinto de vertices, esto se indica marcando en la cabecera un valor 0, e implica qwue en el fichero precediendo a la lista de vértices de cada políugono hay un entero que indica cuantos vertices componen ese polígono.
Por su parte la lista de vértices, lo que tiene es el índice del vértice del array vertices[], luego si un polígono dice tener:
4 114  83  97 140
Vendría a decir que ese polígono tiene 4 vertices y los forman los vértices: vertices[113], vertices[83], vertices[97] y vertices[140], luego el poligono supongamos que fuera el 520, en memoria sería:
poligonos[520].NumVertices = 4
poligonos[520].listaVertices[0] = 114
poligonos[520].listaVertices[1] = 83
poligonos[520].listaVertices[2] = 97
poligonos[520].listaVertices[3] = 140

Creo que está claro, no?...

Solo queda graficar.
En el caso de una figura 3D que no solo se quiere dibujar puntos, sino líneas, es solo un oco más de trabajo, porque hay que dibujar una línea entre cada par de puntos de un polígono, para cada polígono. En el ejemplo previo: del vértice 114, se dibujaria una línea hasta el 83, dle 83 hasta el 97, del 97 hasta el 140 y desde el 140 al primero, al 114.

En tu caso es más sencillo, no tendrás ni polígonos, aunque tal vez tengas que asignar colores a cada punto basado en un valor que se adjunta con las cordenadas x,y,z,valor.

Como debes o deberías saber, al graficar debes calcular para vertice 3d, la proyección 2d, lo cual requiere señalar el ángulo de visión, la escala, desplazamiento y rotación desde el que se ha de ver, que se calcula con multiplicaciones de matrices:
Código:

funcion Graficar
   CalcularMatrices     // Calcula la matriz resultado que se ubicará en la matriz 'Tem[]
   CalcularProyeccion   // calcula las cordenadas 2D donde se proyectará el array de vértices 3D, dada la matriz Temp[]
   CalcularGrafico        // borra el gráfico previo y calcula el nuevo en un backbuffer
   Dibujargrafico       // vuelca el backbuffer a la ventana de la pantalla.
fin funcion

funcion CalcularMatrices
   MatrizBaseSetZero  // Asignar los valores por defecto de la matriz base.

   // Temp[] y Tmp2[] son las matrices que recoge el resultado temporal del cálculo, se va borrando su valor previo a su asignación.
   // RotX[], RotY[] y RotZ[] son las matrices que recoge los valores de rotacion en el eje X,Y y Z de la 'cámara'.
    // Escala[] y Desplazamiento[] son las matrices que recogen la escala en los ejes x,y,z y el desplazmaiento en los mismos ejes (a falta de datos, será el origen de cordenadas).
    MultiplicarMatrices(RotX[], Base[], Temp[])
    MultiplicarMatrices(RotY[], Temp(), Tmp2[])
    MultiplicarMatrices(RotZ[], Tmp2[], Temp[])
    MultiplicarMatrices(Escala[], Temp[], Tmp2[])
    MultiplicarMatrices(Deplazamiento[], Tmp2[], Temp[])  // el array Temp contiene los valores de salida que se usarán en el cálculo de la proyección.
fin funcion

Lógicamente para que funciones bien, cada vez que se cambie la vista de la cámara, la escala o el desplazamiento, debe actualizarse la matriz correspondiente, e invocar la función graficar, para que actualice la vista.

En tu caso posiblemente la proyección exija un array de una estructura que no es emramente un Punto2D... pues como dije más arriba, seguramente tus puntos incluyen también un valor.
Código:
estructura punto3DEspecial
    float X
    float Y
    float Z
    float Valor
fin estructura
Lo que precisará un punto 2D también espacial... es probable que el valor deba ser transformado en un color...
Código:
estructura Punto2DEspecial
   entero X
   entero Y
   entero Color

La proyección calculará para cada vértice 3D, el destino que ocupara en el espacio 2D, previamente definido. Al mismo tiempo para cada vértice si hay un dato asociado (como el sugerido valor), puede al mismo tiempo calcular el color que le corresponde...
La función calcularGrafico, borra el backbufer previo  o lo elimina y genera uno nuevo y transfiere el array 2D al mismo.

La función DibujarGrafico, vuelca el backbuffer a la pantalla. Si se borra la pantalla entera o parcialmente, esta misma función puede usarse para redibujarlo entero o parcialmente (puede admitir parámetros para el 'rect' a dibujar o dibujarlo todo siempre).

Que sean 2 milones de puntos, no debe ser motivo para que sea lento.
Leer desde fichero un array de 2 millones de vértices, requiere mucho menos de 1sg. a no ser que se esté leyendo desde una unidad que requiere una preparación (esto es un CD, DVD, o una unidad que entra en un estado bajo de energía, etc...).
El cálculo igualmente debiera ser apenas de 1 décima de sg. o menos, transferir y volcar el contenido lo mismo... por lo que la actualización de los datos (por ejemplo si cambia la posición de la cámara, escalas, etc... debiera ser inmediato (menor que un parpadeo), y solo ser un pelín más lento cuando cargas desde fichero, tan solo por la lectura de los datos que requiere además la creación de los arrays, etc... supongamos que en ese caso 1sg. si la unidad está lista.
Si el fichero es mucho más grande, puede leerse entero en bytes y luego ir asignando los valores desde memoria... en este caso solo será más rápido si sabes manejarlo, es decir si conoces el lenguaje en cierta profundidad, si no posiblemente andes más liado, de ser el caso, lee el fichero como el pseudocódigo señala.

Una optimización que puede hacerse a cambio de un gasto de memoria algo mayor (en el ejemplo de una figura 3d), sería asumir un valor alto de vértice spor cada polígono, asegurando así que sea cual sea el valor siempre encaja (por ejemplo 20 vértices), esto premite rediseñar la estructura 'Poligono', y con ello el array poligonos, para ser un array de dos dimensiones, de esto:
Código:
estructura poligono
   entero numVertices
   lista de enteros listavertices[]
fin estructura
  array de poligono poligonos[]
//...

... a esto:
Código:

   array de enteros poligonos[]

   //...
   memoria para poligonos(0 a numPoligonos, 0 a 20)

El índice 0, podría contener el numero de vértices y la lista de vertices comenzar en el indice 1 hasta el 20 (comparar con lo mostrado más arriba)
Código:
poligonos[520, 0] = 4   // número de vértices
poligonos[520, 1] = 114
poligonos[520, 2] = 83
poligonos[520, 3] = 97
poligonos[520, 4] = 140
Este cambio permite reservar memoria de una sola vez, 1 solo array en vez de un array donde cada elemento tendrá luego otro mini array.
Lógicamente como tu no necesitas polígonos, para tu trabajo, este cambio no te afecta, pero debe ilustrarte en cuanto a la idea de operar más rápido a cambio de algo más de memoria.

Y sin más datos explicitos, no conviene aventurar supuestas optimizaciones.
Por cierto 2 milones de puntos, no son 'muchos datos'.

p.d.: Una figura de ejemplo... tiene 314 vértices (puntos), 320 polígonos (caras) y 1264 aristas (líneas). Dibujado en malla y luego en puntos.



p.d.:
Ejemplo dle fichero, para el cubo:
8 6 12 0
1 1 1
1 -1 1
1 -1 -1
1 1 -1
-1 1 1
-1 -1 1
-1 -1 -1
-1 1 -1
4 4 8 7 3
4 4 3 2 1
4 4 8 5 1
4 6 2 1 5
4 6 5 8 7
4 6 7 3 2

A pesar de que el cubo tiene 4 vertices por cada polígono, si consigno el valor 0 (final en la primera línea), le estoy indicando en el fichero que cuando se lea, lea el valor del numero de vértices para cada polígono. De haber consignado el valor 4 (en vez de 0), nos habríamos ahorrado poner 4, para cada poligono. Como aquí son solo 6 polígonos, no ahorramos gran cosa.
Lógicamente aunque aquí se ve textual (para poderlo leer), los datos se deben guardar en binario, no hay saltos de línea ni otra separación que el número de bytes que compone cada dato.
La primera línea son datos de tipo entero
Las 8 líneas de los vertices, son de tipo decimal con signo (aunque dado el cubo de lado 1, no reqiere dígitos decimales).
Las 6 lineas de los poligonos son de tipo entero.

Ejemplo para un dodecaedro (ahora en los vértices si se ven los decimales) y tambien se ha hecho constar el númeor de vértices en la primera linea (5):
20 12 60 5
1 -1 -1
1.61783 0.61783 0
1.61783 -0.61783 0
1 1 -1
0.61783 0 -1.61783
-0.61783 0 -1.61783
-1 1 -1
0 1.61783 -0.61783
0 1.61783 0.61783
1 1 1
-1 1 1
-1.61783 0.61783 0
-1.61783 -0.61783 0
-1 -1 -1
0 -1.61783 -0.61783
-0.61783 0 1.61783
-1 -1 1
0.61783 0 1.61783
1 -1 1
0 -1.61783 0.61783
4 5 6 7 8
4 5 1 3 2
2 4 8 9 10
7 8 9 11 12
6 7 12 13 14
1 5 6 14 15
17 16 18 19 20
11 12 13 17 16
13 14 15 20 17
1 3 19 20 15
3 2 10 18 19
10 9 11 16 18
362  Seguridad Informática / Hacking / Re: Hacking en: 20 Marzo 2022, 15:27 pm
....he sido hackeado en mi smartphone durante meses. Esa persona tenía total acceso a todas mis aplicaciones,registro de llamadas,etc...
Aparte de lo que te hayan dicho, ¿te lo han demostrado?.
Es muy fácil decir bla,bla,bla... lograrlo es más complejo.

Una última posibilidad es que el tipo fuera un alto directivo de una empress de telefonía, debería tener la posibilidad de acceso a datos sensibles de los clientes y en un caso así podría clonar la SIM de un cliente.
Es lo mismo que te han dicho más arriba, solo que en éste caso, explicaría que jamás haya pisado tu ciudad...

Ahora, ¿quién se va a jugar su puesto por acceder al teléfono de un cliente aleatorio?. Algún delincuente profesional que hubiera logrado cierto estatus, es de suponer 2 cosas:
- Elegiría una 'víctima' de la que poder sacar un alto rendimiento eocnomico, y
- ¿ Qué necesidad tendría de indicarte que te ha estado espiando y tiene todos tus datos?. Revelar su actuación no parece algo sensato para un ladrón.

...por ello descarto, que hayan estado accediendo a tus datos y hasta dudo que sea verdad nada de lo que te hayan dicho. Detrás de estas cosas al final hay alguien que es conocido por ambos (tu y esa persona) pero que desconoce la actividad de este individuo y que es quien le proporciona los datos sin saber que está siendo usado.
...en última instancia podrían haber hackeado tu cuenta de correos y poco más, tendría cierta información de tí... y tu en tus paranoias has supuesto el resto.

Ahora si tienes dudas, cambia las contraseñas de todas tus cuentas en redes sociales, empezando por la de tu correo electrónico y luego resetea tu móvil al modo de fábrica.

Cuando tengas alguna prueba de verdad, lo mejor es presentar una denuncia a la policía y los datos que tengas del susodicho... a veces el cacareo de las bravuconadas de algunos sirven precisamente para que les cojan...
363  Foros Generales / Dudas Generales / Re: Me intentan estafar o solo es para tocar las narices? en: 18 Marzo 2022, 22:42 pm
llevo como 3 o 4 semanas recibiendo llamadas de 900 que se quedan callados y si no digo nada cuelgan, pero si digo
La espera es una técnica para saber dos cosas sobre el posible interlocutor:
- Su posible edad... y estado de vulnerabilidad.
- Su estado de ansiedad.

Si detectan que tras el teléfono hay una personalidad frágil a la que poder atacar, volverán a llamar con cualquier cuento tratando en efecto de estafar.

La regla de oro para esto es: Esperar 2-5 segundos, sin decir absolutamente nada (ni respirar). Si quien llama no se presenta colgar.
364  Programación / Scripting / Re: Error en batch al abrir el archivo en: 18 Marzo 2022, 22:19 pm
El comando echo, solo admite 3 formas de parámetros, vacío, activar o un mensaje.
- Si es activar tras echo, irá el off o el on
- Si es un mensaje, solo reconocerá caracteres ASCII, es decir cualquier carácter por encima del 127 se verá como un error... salvo que lo encierres entre comillas. Además recuerda que ciertos caracteres están reservados, suelen ser los que actúan para rutas. Es el caso de ese que escribes (la barra vertical, carácter 124), como bien dice Daniel, es para 'pipes'... (pero puedes escribirlo tamnbién entre comillas).
- Si es vacío (esto es sin parámetros) estás preguntando por el estado de echo, luego devolverá el mensaje "on" u '"off".

Para dejar una línea en blanco, antiguamente se usaba el carácter 255 (con el uso de ALT), pero luego se simplificó desde no recuerdo que versión del DOS, para escribirlo así de simple:
Código

Entonces te quedaría tal que así:
Código
  1. @echo off
  2. echo +---+
  3. echo x   x
  4. echo     x
  5. echo     x
  6. echo     x
  7. echo    "|"
  8. echo =========''', '''

...que se verá así:


Posiblemente debas corregir la línea 10 11, no capto tu intención...

Antes... con el comando pause podías también incluir un mensaje, ahora invariablemente es fijo el de "presiona una tecla para continuar...", iba bien para indicar por ejemplo:
Código
  1. pause Introduzca el diskette y luego pulse enter...
...vamos que era un pelín más útil que ahora.
365  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 17 Marzo 2022, 16:12 pm
Rusia dejó MUY CLARO antes de empezar todo esto que habían lineas rojas que la Otan no quiso escuchar.
Sí. Se llama soberanía y en palabras sencillas quiere decir que de puertas para adentor un país puede hacer lo que le dé la gasna, si quieren jugar al tenis juegan a tenis, si quieren practicar Zen, practican zen, si quieren ponerse haciendo el pino, pueden ponerse haciendo el pino y el resto de países no pinta nada.

Tambien dijo MUY CLARO que las reuniones diplomáticas eran muy largas y que no tenían voluntad de buscar soluciones.
Así exactamente es como defino las 'reuniones diplomáticas' que está teniendo Rusia con Ucrania... un paripé para intentar hacer creer que ellos no quieren una guerra sino una solución pacífica.
No es verdad, Putin necesita ciertas cosas de geográficas de Ucrania, no tiene nada que ver con política de bloques militares ni otras mandangas.

A dia de hoy, no hay nadie con voluntad de buscar una solución diplomática. Solo hay Odio. Están cultivándolo por todos lados y en todas las cadenas de tv.
Hasta en facebook se permite.
La paz tiene que venir d ela mano del agresor... el agredido solo puede sostener la paz bajo una rendición incondicional. Es una pretensión estúpida...
Alguien agredido, como mínimo desea justicia. Y ya que la OTAN no puede intervenir, tienen que defenderse ellos sólos, como mínimo aceptan las armas para defenderse del agresor.

EEUU, Con el nuevo cargamento de armas, Estados Unidos habrá aprobado el envío a Ucrania de equipos militares por valor de 1.050 millones de dólares solo esta semana
Es poco... A Rusia le supone un coste de un 150% de esa cantidad diaria... el mantene rla guerra, pero  el volumen total invertido... difícil de clacular.

Europa, lo mismo, enviar armas y sanciones contra nosotros mismos.
Estás diciendo que si un ladrón roba a tus padres caen el suelo, se rompen la espalda y los llevan al hospital, tu te quedarás en tu casa acostado en la cama, porque es más cómodo que acudir al hospital a ciertas horas o a cierta distancia...

Putin, tenía planificado esta guerra desde hace tiempo, se nota que es un proyecto que llevaba tiempo freguando, desde julio que empezaron a vender a China, las energías que tenía vendidas a Europa, tan solo para encarecer los precios y obtener los beneficios con los que iba a sufragar esta guerra... si es que hasta eso (el coste), lo tenía calculado, aunque eso sí... todo mal calculado.

Lo mires por donde lo mires, Putin no tiene justificación. Ni la gente de su país quiere ni necesita esta guerra, solo sus colegas millonarios, él mismo (para gloria propia) y algunos altos cargos militares.... es toda una puesta en escena requerida por economía. El Mar Negro es un puerto deseado por Rusia para ahorrar costes en transportes.

Pero el plan de Putin se deshace entre sus manos... afortunadamente hay alternativas energéticas (no inmediatas para la mayoría de países dependeintes de la energía Rusa), así que la presión a Europa no puede tomar la presión necesaria para que abdique  (por ejemplo Alemania que es bastante dependiente, es quizás el país más vacilante). En el terreno militar, tampoco les va bien, no pudo entrar al 100%, porque tenía que parecer que ellos no querían "...que pasaban por allí... (porque estaban de maniobras)" y por eso entraron... pero son chavales, sin una motivación, cuando alguien defiende su tierra por que está entre la espada y la pared, es como un tigre rabioso, la motivación es diametralmente opuesta.

Rusia, esto es Putin ya ha perdido, solo queda saber cuanto tardarán en retirarse, cuanto tardará en pender la cabeza de Putinde una pica, cuanto tardará la reconstrucción de Ucrania, y otros tantos cuantos...

La ideología política déjala para otra ocasión, esta situación no va sobre el tema OTAN-Pacto de Varsovia, no que no existe, se trata simplemente de una invasión para apoderarse de recursos estratégicos de Ucrania. No hay más.  ...de hecho ha habido un momento años atrás que parecía que Rusia hubiera podido entrar en la Unión Europea y que en verdad hubiéramos salido ganando todos...
366  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 17 Marzo 2022, 15:35 pm

:rolleyes:
 :rolleyes: :rolleyes:
 :rolleyes: :rolleyes: :rolleyes:

"Laudantur qui multitudinem a tyranno liberant"

 :rolleyes: :rolleyes: :rolleyes:
 :rolleyes: :rolleyes:
 :rolleyes:
367  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 17 Marzo 2022, 01:53 am
Estados Unidos, teme  lo mismo que teme el resto de Europa y cualquiera con dos dedos de frente: Si Zelensky llegara a firmar un acuerdo con Rusia, habría ganado Putin, con las siguientes consecuencias:
- Destrucción masiva de un país, coste en reconstrucción para Rusia 0.
- Muertos ucranianos, coste para Putin 0 juicios.
- Amenaza nuclear mundial, coste para Rusia y Putin 0.

Dicho de otra manera, si el matón del colegio, esgrime una excusa para invadir un país y  dice que "o me dejais hacer lo que me dé la gana, o habrá una guerra nuclear porque tengo bombas para todos los países...", pués está claro que si se sale con la suya y sin ningún coste, qué le va a aimpedir que a la vuelta de 3-5 años vuelva a lo mismos con otro país de la región... qué va a impedir a China hacer lo mismo con Taiwán dentro de 2-20 años?.  en definitiva permitir el chantaje, es aceptar que cualquier otro con potencial nuclear pueda atacar a otro país sin dicho potencial con cualquier excusa en una mano y la amenaza nuclear mundial en la otra.

Putin tiene que pagar (para mí: con su vida. De hecho diría que es hombre muerto, no podrá ir a parte alguna a futuro más que al cementerio, lo van a perseguir, desde ucranianos hasta propios rusos).
Rusia tendrá que pagar las consecuencias, por no impedir a Putin y a sus militares hacer lo que están haciendo. Aunque en el fondo sean inocentes de acción son responsables.

La paz con plazo largo pasa por esta situación. Si no es de este modo, la III Guerra Mundial aunque no esté hoy en el horizonte, está de camino, encargada a un futuro próximo...

El malvado se crece ante la situación de un jaque (encima de farol) si logra salirse con la suya... querrá volver a repetir la escena. Rusia no soportará 15-20 días más (me refiero a las grandes ciudades, la gente que vive en pequeñas poblaciones suele ser autosuficiente, por bastante tiempo), así que todo se trata de ver quien aguanta la respiración más tiempo bajo el agua, si Ucrania ante los ataques de Rusia o Rusia ante el desabastecmiento de sus militares y de sus civiles.

El escenario de momento es incierto... pero si Putin no se sale con la suya, hasta podría disgregarse alguna región más de Rusia.
368  Programación / Programación C/C++ / Re: Tengo una duda sobre los punteros, trabajar con archivos, arrays y vectores. En c+++ en: 16 Marzo 2022, 15:26 pm
Deberías guardar datos en formato binario, no en formato texto.

Un fichero pequeñito, no tiene importancia guardarlo en texto, pero si el fichero es grande, guardarlo en formato textual conllevará bastante más tiempo tanto leerlo como escribirlo en formato texto, especialmente si hay un formato que deba ser tratado. Si lo guardas en formato binario, la cosa cambia... además no se precisa ningún separador, la separación de cada dato se basa en la cantidad de bytes del tipo de datos usado (se supone que todos esos 2 millones tienene el mismo tipo, si no es así procede usar una estructura, donde se declare cada tipo usado).

También procede dejar esa cabecera en otro fichero aparte, así tienes más libertad para leer y escribir el fichero sin 'molestias'. Otra solución es escribir dicha cabecera al final del fichero, pero sabiendo en todo momento cuantos bytes forman dicha cabecera (si fuera variable). Pero vamos si va a otro fichero aparte, simplificas el tratamiento de cada fichero aunque tengas que tratar con dos.
369  Foros Generales / Foro Libre / Re: persona que se cree hacker en: 16 Marzo 2022, 15:08 pm
Nada. No tienes que hacer nada.
Las mentiras tienen las patas muy cortas.

Ser fanfarrón es frecuente entre adolescentes como vosotros...
No debes ser intolerante con la gente, incluso aunque no te guste el comportamiento de ese chico. Es probable que a su modo de ver, le suceda exactamente lo mismo que a tí,  y te vea como tú le ves a él. Aprende a 'pasar' de la gente y sus tonterias exacerbadas, al final ellos mismos se acaban poniendo en evidencia.
370  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 16 Marzo 2022, 01:35 am
Hablan soldados rusos capturados por Ucrania: “Nos forzaron a venir"

Soldado rusos la mayoría jóvenes sin apenas experiencia en combates ...
Sí, son chavales haciendo el servicio militar... supuestamente estaban haciendo maniobras, cuando su superior recibió la 'orden de atacar'... ese hombre se llevaría las manos a la cabeza, pero les amenazaron con que por detrás venían una línea matando a todo posible dersertor.

A algunos capturados les han dejado mandar vídeo a sus familiares... diciendo precisamente eso.

Se cree que Putin pudiera estar 'reservando' para una posible segunda invasión o incluso una posible guerra contra la OTAN, a sus 'fichajes estrellas' (ejército profesionalizado y experimentado).
Personalmente yo no creo que esos profesionales excedan de unos pocos miles... la edad no perdona y la gente crece y se jubia o muere (como le pasará a Putin no tardando mucho).


estudiosos en temas relacionados con guerras están diciendo que Rusia le queda una o dos semanas más para que se quede sin municiones, sin combustible suficiente para poder avanzar y que no va a poder aguantar más tiempo en conquistar las grande ciudades de Ucrania por la enorme resistencia que están poniendo los Ucranianos una semana más aguantando o dos y Rusia pierde esta guerra, aunque la realidad en el campo de batalla es que algunas zonas las tiene medio controlada pero no las tienen controlada del todo y mucho no creo que pueda aguantar.
...y sin comida. Han tenido que robar en los supermercados ucranianos para poder sobrevivir. Algunos tenían raciones caducadas del 2014...


Respecto de las posibles armas que China esté cediendo a Rusia, deben quedar claro 2 cosas:
- China negará toda posible vinculación, como negó el virus chino... Es la política oficial del gobierno chino, negar siempre todo hasta la saciedad, aunque los pilles con las manos en la masa.
- Muchas de las armas que fabrica China, son imitación (sí, como suena), de armamento ruso, aunque supuestamente mejorado. Esto difiicultaría enormemente poder distinguir dicha ayuda a Rusia.
China se juega mucho con esto, así que extremará las precauciones.

Si Ucrania resiste 3 o 4 semanas más, justo hasta que Rusia se asfixie por las restricciones y las provisiones no lleguen a los soldados, tendrán que retirarse o rendirse a los ucranianos, diga lo que diga Putin.
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines