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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10
31  Seguridad Informática / Criptografía / Re: Proteger par de claves RSA en: 29 Marzo 2016, 17:32 pm
Aplicar SHA3-512 a la contraseña y recalcularla cada vez que se desencripte para comparar. No almacenar ese hash ni la contrasea.
32  Foros Generales / Foro Libre / El Habla de Mi Tierra, Rodolfo Ragucci (ZIP, 400 Megabytes) en: 6 Enero 2015, 17:27 pm
Este es el libro "El Habla de Mi Tierra", que trata sobre el estudio del idioma Español en gran detalle y en todos sus aspectos.

Contiene 459 imágenes con resolución de 1,700px × 2,338px.

Citar
MD5:
Código:
345334d526b20da63c4607b231998673



En caso de que el link haya expirado, esta es la URL en la que mantengo actualizado y vigente los links de descarga en un momento dado:

Descargar El Habla de Mi Tierra; Rodolfo María Ragucci (Actualizado el 14 de Noviembre del 2014)







Dado lo raro que es encontrar ahora literatura de esta calidad y que necesitaba preservar mi ejemplar ya desgastado por el uso y por el tiempo (incluso antes de tenerlo yo, allá por los años 70/80).

Originalmente lo publiqué como imágenes JPG sueltas para poder ser vistas fácilmente sin descargar todo el paquete y sin consumir demasiados recursos del cliente y del servidor, y ahora he subido el ZIP con todas las imágenes en link anterior.
33  Programación / Desarrollo Web / Mirror de 841 Gigabytes de Geocities en: 1 Enero 2015, 03:23 am
Hace un par de meses comencé a descargar el torrent de Geocities (de 641 Gigabytes), a una velocidad máxima de 400 Kilobytes por segundo, después de varios intentos parciales anteriores por buscar sitios antiguos de Internet de los 90's y principios del 2000, especialmente sitios técnicos con información interesante, como los sitios de Geocities en SiliconValley.

Necesité 3 Terabytes (1 disco de 1 Terabyte para descargar el torrent y otro disco de 2 Terabytes para descomprimir y finalmente guardar los contenidos, con un tamaño de clúster de 512 bytes y compresión NTFS activada, para ahorrar el máximo espacio posible), y usando también una laptop Dual Core a 2.4 GHz y 2 GB de memoria. Este es realmente un ejercicio muy interesante para aprender a manipular, copiar, detectar errores de CR5/MD5/SHA, administrar una enorme cantidad de datos arbitrarios del mundo real, y cosas que realmente no son tan críticas como la necesidad de reducir el tamaño del archivo MFT en una partición NTFS (con algo como Clean Disk Security), entre otras cosas a descubrir con más tiempo de tener que manejar tantos datos.



Este es el link del torrent:
Código
  1. magnet:?xt=urn:btih:2DC18F47AFEE0307E138DAB3015EE7E5154766F6&dn=geocities.archiveteam.torrent&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80&tr=udp%3a%2f%2ftracker.publicbt.com%3a80&tr=udp%3a%2f%2ftracker.istole.it%3a80%2fannounce&tr=udp%3a%2f%2fopen.demonii.com%3a1337


Este es el link que he puesto para visualizar cómodamente el contenido:
http://geocities.archefire.org/

Y el historial de intentos y del procedimiento para ponerlo finalmente en disco:

Agregado el dominio geocities.archefire.org (¿Qué Tiene De Nuevo para Ofrecer?)

Descargando el Torrent de Geocities


Resulta que hay mucho contenido que se ve mal si se trata de acceder localmente porque usa muchas URLs absolutas, y otros casos en los que el contenido puede existir pero estar disperso entre los diferentes directorios del torrent, y son tan enormes que lo mejor es buscar y redirigir automáticamente con PHP.

Así que puse todo el contenido, archivo por archivo, con el extra de que se puede ver el contenido de cada directorio existente sin que index.html estorbe, que es algo que no es posible hacer con otros mirrors como Reocities u OOcities, y en consecuencia no es posible saber de la existencia de mucho contenido ocultado por index.html, pero que está superado en este mirror que creé para mi conveniencia de visualización, y también para alguien más que quisiera poder ver el respaldo de Geocities en su totalidad, con absolutamente todo lo que eso implica.

Es posible que  este mirror esté ocasionalmente offline porque está en un disco USB de 3.5", y si necesito reconfigurar algo (o ahorrar electricidad, o por otras razones), sería mejor usar un disco interno o uno externo pero de 2.5".
34  Foros Generales / Dudas Generales / Re: ¿Cual es el MimeType de un archivo '.reg'? (texto unicode) en: 6 Marzo 2014, 20:27 pm
http://www.iana.org/assignments/media-types/

La recomendación general para tipos de archivo no estándar y sin MIME Type, es simplemente analizar el formato en cuestión de dicho archivo, y asignarle el MIME Type que más se le acerque. En este caso, ese tipo sería simplemente text/plain, porque no contiene más que texto simple, independientemente de que sean datos del registro de Windows, un archivo de código de C/C++/Ensamblador, etc. Si el formato no se puede determinar o si se desea un manejo especial de una extensión, podemos usar simplemente application/octet-stream.

______________________________________________
______________________________________________
______________________________________________
______________________________________________
El MIME Type (Multipurpose Internet Mail Extensions), como su nombre lo dice, sirve principalmente para que sea manejado de formas específicas por una aplicación de Internet, como un navegador Web.

Por lo menos la instalación de Apache por defecto trata a los archivos .reg, y aparentemente por defecto también a archivos como .bat, .com y otros poco estandarizados o desconocidos, como de tipo text/plain.

Si definiéramos (en Apache) el MIME Type de los archivos .reg como text/plain, este se mostrará como texto plano Unicode o de otro tipo en el navegador mismo, ya que eso es exactamente lo que es. Pero si lo definiéramos como application/octet-stream o mejor aún, como application/force-download, el comportamiento normal es que el navegador muestre un diálogo de descarga para el archivo.

En realidad, lo que cuenta es el formato de archivo en sí, como en el caso de las imágenes, para las que el MIME Type puede hacer que se muestren como texto, como imagen, o que forcen su descarga, pero eso depende más de la aplicación en sí.


35  Foros Generales / Noticias / Re: Mark Zuckerberg y Bill Gates darán clases de programación online para Code.org en: 15 Octubre 2013, 21:55 pm
Pues mira.. es uno de los mas ricos del planeta y Microsoft predomina el mercado de los PC's personales.. parece ser que funciona.. si tienes la habilidad de convencer a cualquier persona.. te haces rico :P
Me refiero a que no sirve de nada decir "¿para qué escribir código?".

El resto, todos son ricos en esa industria cuando pertenecen a esta. Bill Gates es de los más ricos simplemente porque aparte de tener habilidad indiscutible para los negocios, alguien tenía que empezar a darle relevancia a la PC, porque es de los primeros y el primero en popularizar GUIs consistentes, y creó productos del uso más masivo, y fáciles de usar.

Ahora el juego es muy diferente tomando en cuenta los recursos que se necesitan para suplir las expectativas de los usuarios, y de cuántos secretos industriales dependemos, que no es posible de dominar para un pequeño grupo ajeno a la industria misma (como nosotros) en menos de por lo menos 1 generación. Pero todavía se puede hacer mucho por el lado de la programación y la educación en base a aplicaciones graydes e importantes; aunque volverse rico no es tan fácil, tomando en cuenta que ahora existen programas tanto piratas como open source para virtualmente todas las tareas imaginables.
36  Foros Generales / Noticias / Re: Mark Zuckerberg y Bill Gates darán clases de programación online para Code.org en: 15 Octubre 2013, 21:27 pm
Para que escribir códigos, si Gates es un genio pero de las finanzas y las inversiones... ese wey siendo solo un párvulo, fue capaz de enamorar a la gente de IBM y venderles un SO para sus maquinas que ni siquiera era de el en ese momento... jajajajaaaa... códigos...


Me encanta el sarcasmo... por eso admiro al Dr. House...
¿Y qué utilidad práctica tiene esto, que tampoco es exacto (sin código no hay dinero ni industria)?

Esto no resuelve ningún problema, ni es práctico.
37  Foros Generales / Noticias / Re: Mark Zuckerberg y Bill Gates darán clases de programación online para Code.org en: 15 Octubre 2013, 20:52 pm
Ya saldrán los linuceros a decir que esa partida de monos deberían estar dirigidos por un gurú bien peludo como el mentado "Stallman"... jajajaaaaa...
Debería ser así para los proyectos en los que ha trabajado y que todos usamos, que son relevantes, aunque rara vez o prácticamente nunca explican las cosas desde un nivel principiante.

Aunque eso tampoco lo hacen los citados en este artículo, y nunca vamos a verlos enseñando las tecnologías cerradas de sus productos desde el código y todos sus trucos.

Cada vez hay más opciones y simplemente hay que tomar lo mejor, lo que más se aplica a nivel profesional en el mundo real.

La mejor opción para llegar ahí, después de estudiar y trabajar con gente de ese nivel, también open source, es buscar mentores para trabajar en agregar características en programas de código abierto. Pero esto requiere que uno sea experto en C, C++ y otros lenguajes compilables clásicos, que es en lo que están escritos la mayoría de programas, incluyendo los navegadores web.

Esa opción (buscar mentores no solo para saber qué cosas modificar de un proyecto grande para agregar características, sino para aprender trucos de alto nivel desde los fundamentos, y gratis, en Internet, sin tener que ir a universidades extremadamente caras y fuera del alcance del 99% de la población mundial) es casi imposible de encontarr de manera fácil hasta el día de hoy.

Y lo que se habla en este artículo es una ayuda más, pero no diferente a los muchos cursos genéricos que hay, que por más alto nivel que tengan, siguen siendo demasiado genéricos, demasiado desconectados de la enseñanza y la comprensión basada en los programas importantes del mundo real ya existentes (por ejemplo aprender a programar y aprender de tecnología web entendiendo el código de Mozilla Firefox mediante clases).

Irse por cursos con problemas inventados en lugar de problemas de comprensión y de desarrollo en programas es desperdicio de esfuerzo que se podría usar en lograr desarrollar los programas ya existentes y enseñar a los nuevos programadores (creando versiones/branches especiales de dichos programas para el aprendizaje, tal vez menos eficientes, pero no menos complejas y utilizables en el mundo real).
38  Programación / Programación General / Re: Un if realmente se lee cuando la condición es falsa? en: 4 Octubre 2013, 22:16 pm
jajajajajajajajajajajajajaja Es que no debemos perder el tiempo, Frodo. XD

Bueno, aprovecho para comentar un mito que según sé es falso, pero quisiera saber si alguno de ustedes ha escuchado de él. Se dice que en las aplicaciones de VB.net cuando uno coloca un if de la forma:

Código
  1. If A = True And B = True Then
  2.  
  3. End If

Aunque la primera evaluación sea falsa se hace la segunda evaluación y por ello es mejor realizar un if anidado.

Yo sigo creyendo que es un mito, pero qué dicen ustedes?

No es cierto. Un código compilado que ejecutara todo el IF aunque este ya no cumpla una condición requerida sería extremadamente ineficiente. De hecho no es tan difícil programar a mano este tipo de optimización, y es más breve y hasta claro.

Por ejemplo para el código anterior sería más eficiente compilarlo así:
Código:
1. comparar A==TRUE
2. si es FALSE, terminar el IF en 6 (y no se ejecuta la siguiente condición)
3. comparar B==TRUE
4. si es FALSE, terminar el IF en 6

5. { Código dentro del IF }

6. terminar el IF


Que compilarlo así:
Código:
1. comparar A==TRUE
2. si es TRUE, seguir comparando en 3 (un salto inmediato poco inteligente)
3. comparar B==TRUE
4. si es TRUE, entrar en el IF en 6
5. ir a terminar el IF en 7

6 { Código dentro del IF }

7. terminar el IF


Son más comprobaciones ejecutadas sin razón cuando se sabe que si se usa AND y no se cumple no hay caso de seguir ejecutando, y requiere un salto incondicional como terminador del IF (en el segundo caso, que es más ineficiente). Y si el IF fuera mucho más complejo, la ejecución sería menos que óptima, y eso no sería aceptable en aplicaciones de grado industrial que tienen elementos mucho más complejos que esto.



Hablando de C++:

En un IF con varias condiciones unidas por un AND (Ejemplo: "if(1 && 0);"), se leen en orden, y en el momento en que una sea falsa, acaba con el IF. Esto lo podemos ver fácilmente (¬¬ vagos) con un código como este:

Código
  1. #include <iostream>
  2. bool asd(){
  3. std::cout << "Hola";
  4. return false;
  5. }
  6. int main () {
  7. if(2==0 && asd());
  8. system("pause>nul");
  9. }

Compilado con MinGW*

Haced la prueba en VB, y los lenguajes que uséis, y así tenemos este hilo para saber que lenguajes leen todas las condiciones xD

Respecto a la pregunta original, Ikillnukes, el compilador lo que hace es compilar, no averiguar si las condiciones (excepto las del tipo "#if") son o no son verdaderas.
Eso depende de la comprobación y de la forma en la que se optimiza el código. Si por ejemplo hay valores constantes que siempre van a evaluar a verdadero o a falso, el compilador haría bien en eliminarlos, entre otras optimizaciones más complejas. Tener que comprobar todas las condiciones determinables en tiempo de compilación debería ser una optimización básica. También es necesario realizar otras comprobaciones para las demás optimizaciones y para eso se necesita algún nivel de evaluación del IF (el simple hecho de tener que compilarlo requiere eso).
39  Sistemas Operativos / GNU/Linux / Re: ¿Richard Stallman que distribucion linux y navegador usa? en: 29 Septiembre 2013, 04:31 am
Yo también quiero un mundo donde todo sea gratis... pero cuantos estarían dispuestos a trabajar de gratis para que otros disfrutemos del producto de su trabajo?...
De hecho ya existe todo tipo de aplicaciones para que usuarios profesionales hagan su trabajo, y siempre encuentran una forma de financiar esos proyectos.

El problema de nosotros es que no le damos relevancia a nada que tenga que ver con ese tipo de desarrollo. Pero realmente el producto es gratis para el público, aunque siempre se necesita un financiamiento (comenzando desde aportes por universitarios de gran nivel hasta empresas que ganan mediante productos, especialmente de hardware, que siempre hay que comprar, mediante anuncios, inversionistas en la bolsa, y servicios de certificación, entre muchos otras opciones).

No se trata solo de Linux sino que de absolutamente todos los programas de software libre (sean de dominio público, Creative Commons, licencia BSD, o GNU, o similares), que corren en Windows, Linux, Mac, y en muchos casos comienzan a funcionar en Android, bajo muchas plataformas distintas de hardware, y que tienen absoluta importancia. Y más allá de eso, vemos que con nuevos entornos como HTML5, aplicaciones cada vez más avanzadas se están volviendo independientes incluso del sistema operativo mismo, y todo logrado con software libre, una vez más.

Y si Stallman no se pusiera en esa actitud, entonces lo criticarían igualmente por usar software privativo por un lado y hablar de apoyar el software libre por otro. Ese tipo de comentarios no son más que críticas odiosas, pero el hecho es que Stallman solo está tratando de ser un ejemplo ideal de lo que pregona. Y si tiene toda la capacidad y el conocimiento para  hacerlo, es su filosofía de vida.

Lo que importa al final son los logros técnicos de todos los involucrados, desde los más grandes y famosos, hasta quienes intentamos aprender sobre la informática.
40  Programación / Programación General / Re: Un if realmente se lee cuando la condición es falsa? en: 28 Septiembre 2013, 21:52 pm
Si hablamos en tiempo de compilación, incluso compiladores antiguos como el de Turbo C++ (para DOS) tenían la capacidad de detectar cosas como si había variables que nunca se usaban o código que nunca se iba a ejecutar (si estaba despúes de un return y no había ningún goto hacia este).

La dificultad de hacer eso depende de la complejidad del problema y es una tarea mejor realizada por un proceso automático porque requiere llevar el control de las variables que nunca se modificaron y también de las porciones de código que quedaron fuera del flujo normal de ejecución en todos los casos.





Si hablamos en tiempo de ejecución, tenemos que recordar que los compiladores modernos aplican optimizaciones, y el código generado casi nunca refleja el código fuente original.

Pero en términos generales, tenemos que tener una idea de cómo corre el código de máquina o bytecode en cuanto a las decisiones condicionales.

Para un IF, se aplican un grupo de reglas de precedencia de paréntesis, y cómo actuar ante combinaciones de AND y OR lógicos.

Por ejemplo, si tenemos 5 variables con AND:

Código:
if(variable1 && variable2 && variable3 && variable4 && variable5)
{

}


El programa tiene que asegurarse de que ambas variables/condiciones/expresiones se cumplan. Si la primera, o segunda o tercera variable/condición/expresión no se cumple, entonces efectivamente llega hasta ahí y se salta comprobar el resto de expresiones. Un AND debe comprobar hasta el final, o saltarse el resto de la comprobación del IF sin ejecutar lo que contiene tan pronto como una condición no se cumpla.


Por ejemplo, si tenemos 5 variables con OR:

Código:
if(variable1 || variable2 || variable3 || variable4 || variable5)
{

}


En este caso, si la primera, o segunda variables se cumplen, entonces se salta el resto de la comprobación y ejecuta lo que contiene el IF. Con OR, lo que contiene el IF se ejecuta tan pronto como se cumple una condición, ejecuta lo que contiene, y se salta el resto de las expresiones del IF.

Con paréntesis y combinaciones de AND y OR esto se vuelve más complejo, pero es una cuestión de resolver paso a paso cada nivel de paréntesis en la secuencia correcta, y podemos ver para muchos casos qué partes de la expresión del IF se van a ejecutar y cuáles se van a saltar. Los casos en los que todas las expresiones de un IF se cumplen son una minoría.

También debemos recordar el comportamiento de las instrucciones, por ejemplo para procesadores x86, que sirven para saltos condicionales. Tenemos, entre otras, ja (mayor sin signo), jae (mayor o igual sin signo), jb (menor sin signo), jbe (menor o igual sin signo), je (igual), jne (no igual), además de usar jmp (salto incondicional) como útlimo recurso cuando todo el IF no se cumplió. Para OR, es más eficiente usar el caso de la instrucción directamente reflejada por la expresión lógica, y para AND, es más eficiente usar la operación de salto condicional opuesta al de la expresión en el código fuente.
Páginas: 1 2 3 [4] 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines