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 - Serapis

#121
Buen cacharro para programar... para jugar seguramente sea algo lento.
#122
Hacking / Re: Diccionario de Fuerza Bruta Tipo v2
31 Octubre 2021, 23:00 PM
No termino de entender tu idea de 'diccionario'.

Básicamente tu me estás diciendo, que si no hay una palabra que termine en iñ, no puede existir una contraseña que acabe en 'iñ'... puedes explicar por qué???.

Te recuerdo que el diccionario de la RAE, no recoge palabras como 123456, ni siquiera 1234... y qué?. Quién o dónde se exige que una contraseña tenga que ser una palabra que exista en la RAE?.

Al margen de ello, es bastante estéril crear diccionarios y tener que almacenarlos.
La idea es que en vez de crear un programa que cree un diciconario, se cree en todo caso, una librería (instanciable o tipo API) con al menos dos funciones, una para inicializar, donde se pasan los parámetros que determinen las salidas que podrá proveer y otra función para iterar sobre ellas, partiendo de la previa. La función de inicialización debería admitir también como parámetro la entrada vigente y si se pasa nulo, se genera la primera, así se puede parar en cualquier momento y reanudar en otro instante justo desde donde se dejó.
#123
Cita de: win_7 en 31 Octubre 2021, 16:32 PM
Porque windows 11 esta muy verde aún. Me explicáis como instalar Ubuntu o Linux a través de rufusx los procesos a seguir, recibiré actualizaciones etc..
Windows 11 no es para ti, al menos hasta que sea estable, pero tú, siempre con prisas...

Y siendo decirte que ninguna versión de Linux es para ti.
Salvo que como te señala Machacador, quieras coser el foro con un millón más de 'preguntitas'... que sí, que todo el mundo alguna vez las necesitó, pero en tí parece el 'pan nuestro de cada día' ab-aeternum.
#124
Programación C/C++ / Re: Usar qsort para guardar
31 Octubre 2021, 17:55 PM
Eso es ordenar varias columnas, típicamente suele ser preciso para el uso de controles tipo grid con múltiples columnas.

En general en esos caso conviene usar un algoritmo que sea estable, para que en el caso de que haya ítems con igual valor, permanezcan en el orden primigenio (uno respecto de otros que comparten esa igualdad de valor). Al caso quicksort no es estable, hay quien usa Mergesort, que sí lo es o en su defecto bubblesort, que también lo es, pero imagínate lo lentísimo que pueda ser cuando la cantidad de elementos crece...

Otra cuestión general es que dichos controles suelen tener en efecto una estructura, donde cada columna es representada por un campo en la estructura, con lo que en efecto al ordenar (tal como te comenta Mafus), quedan ordenadas todas las columnas al tiempo. La desventaja clara de este método, es que impide o mejor dicho complica, la posibilidad de añadido o inserción dinamica de columnas.
En estos casos (cuando se pretende que el número de columnas sea variable) se abandona la estructura en favor de un array para cada fila, donde cada elemento de la fila ya no es un campo de una estructura sino un ítem en el array. Luego acaba siendo un array de arrays, o bien un array bidimensional. Si es bidimensional cualquier cambio de tamaño (en algunas de las dos dimensiones), supone una caída en el rendimiento...

Cuando he realizado algún grid que deseaba que tuviera la característica de añadido y eliminación dinámica, suele ser necesario disponer en efecto de columnas (separadas), donde cada columna es un array independiente (representada con una clase por ejemplo), y precisamente el ordenamiento lo he realizado siempre con Quicksort.
Como Quicksort, no es estable y esta característica es deseable (si ordenas por una columna y luego por otras que retenga el orden previo para ítems que en la columna actual siendo ordenada tengan igual valor (sin importar si en la previa columna ordenada no sucedía esto)), pues se debe modificar ligeramente quicksort, para que el orden permita ser estable.



He aquí el pseudocódigo de una variación de quicksort, para que permita ordenar diferentes array ligados entre sí por su índice inicial y que además sean estables...
En realidad, el cambio en la funcion, son pocos:
1 - Se limita a añadir un parámetro más (un array de mismo tamaño).
2 - Declarar una variable temporal para el intercambio de valores de este array adicional y.
3 - Añadir una línea de código extra, para el intercambio, cuando dos items deban ser intercambiados de orden.
Es precisamente el array 'ixEstable', quien se encarga de ir manteniendo la coherencia del cambio de ubicación... donde fue a a parar cada item. El 'antes' tenía por valores precisamente su orden: 0,1,2,3,4... size-1, el 'después' viene reflejado a la salida que depende del desorden que tenía el array a ordenar..

funcion QuicksortEst(datos(), ixEstable(), min, max)
    entero j, k, Pivot, tmpD, tmpX
   
    j = Min: k = Max
    Pivot = Datos((j + k) \ 2)   //tomamos como pivot el valor en medio del rango entre min y max.
    hacer mientras  (j <= k)
        hacer mientras (Datos(j) < Pivot); j += 1; repetir
        hacer mientras (Datos(k) > Pivot); k -= 1; repetir
       
        si (j <= k)
            Si (j < k)
                // intercambia los datos. En realidad conviene el puntero al dato, para poder utilizar distintos tipos de datos en la función).
                // luego tmpd = datos(k), puede ser el puntero o el valor al elemento en datos(k)... entiéndase según necesidades.
                tmpD = Datos(k); Datos(k) = Datos(j); Datos(j) = tmpD   
                // con cada intercambio en el orden, intercambiamos los valores del array adicional, que nos ayudará a mantener la estabilidad.
                tmpX = IxEstable(k); IxEstable(k) = IxEstable(j); IxEstable(j) = tmpX
            fin si
            j += 1; k -= 1
        sino
            salir del bucle
        fin si
    Repetir
   
    si (Min < k) llamada a QuicksortEst(Datos, IxEstable, Min, k)
    si (Max > j) llamar a QuicksortEst(Datos, IxEstable, j, Max)
fin funcion



Eso sí para el resto de columnas, el orden está basado en el array adicional, luego cada array debe ser recorrido para establecer dicho nuevo orden, así el costo total de ordenar será la suma del QuickSort, + el recorrido para el intercambio para mantener la estabilidad en cada array.
Una función adicional, debe alojar la llamada a la función quicksort modificada que se ha puesto antes, aunque previamente a dicha llamada, debe establecer el valor al array 'ixEstable', y luego tras el orden reasocia el resto de arrays conforme al orden que mantiene este array 'orden'.

Dejo esta parte a tu ingenio... a ver si logras sacarlo, si pasado el tiemo no lo logras (no me refiero a 10 minutos, ni 4 horas) avisa, que te ponga un pseudocódigo para dicha función...

...dejo eso sí, una captura de muestra:
#125
Como suelen acostumbrar ciertas webs... poniendo un título rimbombante.

De ser cierto, técnicamente si hay que hablar de humillar, sería a todos los países, no solo a EE.UU. (digo yo, no?). Más exactamente a cada empresa que tiene proyectos 'funcionales' al respecto.

En cualquier caso, una tecnología que no sale del laboratorio, no deja de ser 'fantasiosa', y todos los hitos que se cacarean, esperemos que no quede en mera propaganda y que (aunque tarde), finalmente vean la luz a nivel de usuario y no solo de grandes fortunas.

De hecho quizás el reto más grande de dicha tecnología, es hacer que sea lo suficientemente barata, como para poder ser utilizada por una gran mayoría de personas. Mientras no sea así, la tecnología que brilla es la presente, la que se usa diariamente de modo efectivo. ...o como dice el refrán "Más vale pájaro en mano, que ciento volando".
#126
Cita de: joseph25 en 29 Octubre 2021, 06:24 AM
Sé que existe un Sitio Web (pero no recuerdo su nombre) donde te puedes crear un tipo de "enlace" que le envías a la victima y cuando esta hace click en él, dicha página recolecta información del dispositivo que la victima usa...
Pero esto ya no es 'saber', sin más... esto ya supone una actividad ilegal (desde el momento en que engañas a alguien haciéndole creer que algo es lo que no es, con solo la intención de obtener ciertos datos de él).

En el foro no se promueven ese tipo de prácticas. Si sigues interesado, tendrás que arreglártelas por tu cuenta.
#127
Está bien, pero como siempre, es preferible aprender a andar, antes de querer correr.
El gasto parece claro, que será asumido... los resultados... es algo que queda por ver.
#128
Si el PC no tiene un sensor (de imagen), olvídate.
Si tiene cámara, ésta puede actuar de sensor.
Ahora, una cosa es detectar que la imagen de la cámara ha cambiado y otra distinta reconocer que el cambio es porque está presente una persona (sea su cara u otra zona del cuerpo). Al caso sería muy útil que existiere tambien un sensor de temperatura, la detección al tiempo desde ambos tendría mucho más aciertos (por supuesto detectaría que tu gato se ha subido al escritorio).
En cualquier caso, aún así, la cámara debería estar encendida.
...y no olvides que a veces uno puede tener bloqueada la pantalla, y requerir la introducción de contraseña.

Tienes ciertas dificultades por delante, pero si sabes programar, tienes por donde tirar, no siempre funcionará por lo antedicho, pero si el usuario donde se instala dicho programa está conforme, ese caso podría ser eliminado o limitado.
#129
Hardware / Re: mi unidad de dvd no lee discos
28 Octubre 2021, 18:11 PM
Debieras asgurarte primero, que en efecto la unidad esté dañada.

Si la usas poco, puede haberle sucedido que la lente esté sucia, y si eres fumador o la tienes cerca de la cocina, que vapores aceitosos se hayan depositado en la misma. es suficiente una mota de polvo o pelusa para que no lea bien.

Si no eres un 'manazas', podrías abrir la unidad y con un algodón o preferiblemente un textil que no deshilache, humedecerlo en un disolvente muy liviano (vinagre rebajado con agua por ejemplo), y limpiar bien la lente.

Ten en cuenta que cada modelo logra leer determinados tipos de CD/DVDs y de los que puede leer, ciertos formatos... luego al menos asegúrate que tienes los drivers para dicha unidad actualizados.

Si al final decides comprar una nueva, externa, como dices, las hay muy asequibles, precios entre 5-10 euros para el puerto USB, están bien. Eso sí, antes de comprar la primera cuyo precio te convenza, mira las características de qué tipo de discos puede leer... (ya que comprar algo nuevo, procura que no quede demasiado limitado solo por ahorrarte 2-3 euros). ...y no olvides asegurarte que sea RW (es decir que sea también grabadora, no solo lectora).
#130
Supongo que se refiere a un contexto donde ambos están al mismo nivel  es decir como miembros de una red social, o un foro, visitantes de una web, pero donde él no es más que un meros usuario exactamente igual que la otra persona de la que pretende saber...

Siendo tal el caso, explícitamente no hay manera de conocer para un usuario sin ningún privilegio en el medio, el terminal o tipo del mismo desde el que otro usuario se conecta. A veces el propio terminal puede añadir algún texto singular pero que puede ser simulado ("enviado desde mi móvil xyz", "enviado desde Tapatalk", etc...), o el medio añadir algún iconito que represente un teléfono, un tablet, un PC...