Ir al contenido principal

Entradas

El problema de las contraseñas y por qué es buena idea el doble factor de autenticación

Allá por la década de los 60, Fernando José Corbató, científico de computación del MIT, tuvo la idea de emplear contraseñas para proteger el acceso a archivos en ordenadores compartidos. Por aquel momento, el uso de ordenadores estaba bastante poco extendido y las primeras redes eran más bien parcelas independientes que conectaban unos cuantos equipos dentro de alguna que otra universidad. Nada que ver con Internet, cuya existencia, dimensión y alcance eran, por aquel momento, inimaginables para la mayoría. En el diseño de aquellos sistemas la seguridad no fue una prioridad. La mayoría de los ataques informáticos comenzaron a surgir varias décadas más tarde cuando los primeros PCs empezaron a estar al alcance de todo el mundo e Internet empezó a tomar forma. No se rompieron mucho la cabeza para pensar en diseñar sistemas seguros contra amenazas que aún no habían sido inventadas. Esos cimientos que se contruyeron con la seguridad como última prioridad son los mismos sobre los que se asi...

Generación procedimental desde 0 con Python

Los mundos procedimentales aparecen en númerosos videojuegos de bastante éxito, pero probablemente el ejemplo más emblemático sea Minecraft. En español, es habitual llamarlos procedurales como consecuencia de un error de traducción, pues viene del inglés "procedural", derivado de "procedure". Esta palabra, traducida al español, significa "procedimiento". ¿Por qué estoy llenando texto con comentarios sobre rigor lingüistico cuando lo único que quiere el lector es saber cómo crear mundos de forma automática? Pues porque la palabra "procedimiento" ya nos va aclarando de qué va este tema de la generación mágica y aleatoria. La generación procedimental se basa en un algoritmo (o procedimiento) que automatiza las reglas que un computador debe seguir a la hora de crear un mundo virtual. Esta técnica no se limita a mundos en videojuegos, se puede automatizar la generación computacional de prácticamente cualquier cosa: modelos 3D, personajes, animaciones,...

Funciones hash: el invento que protege tus contraseñas de los hackers y te permite minar criptomonedas.

La criptografía es casi tan antigua como la necesidad de ocultar la información escrita. Son muy diversas las técnicas que se han empleado desde siglos atrás para transformar un texto en claro en uno cifrado, ilegible para quien no lo pueda descifrar. Uno de los ejemplos clásicos y más sencillos es el cifrado César, utilizado por Julio César para comunicarse con sus tropas durante la guerra contra los galos. Este mecanismo de cifrado se basa en sustituir cada letra del mensaje por aquella que se encuentra desplazada n posiciones en el alfabeto. Por ejemplo, si n = 2 , la sustitución alfabética sería la siguiente: Alfabeto en claro:  ABCDEFG HIJKLMNÑOPQRSTUVWXYZ   Alfabeto cifrado:  CDEFGHIJKLMNÑOPQRSTUVWXYZAB Y si cifrasemos la palabra HOLA  con n = 2  obtendríamos el siguiente resultado:  H -> J, O -> Q, L ->N, A -> C:  JQNC Lo que llamaríamos la clave de cifrado es, en este caso  n = 2 . Como es lógico, cualquiera que conozca la cla...

Desarrollando Un Juego Para Android - Road Dash

Me he dedicado estos días a publicar el segundo juego completo que desarrollo para Android. Comenzaba a desarrollar Road Dash el pasado mes de marzo y durante los siguientes meses, me he dedicado a trabajar en el proyecto de forma intermitente según me permitían los estudios y la motivación. Finalmente, he terminado de pulir y depurar los últimos detalles durante este mes de septiembre y vengo a compartir en este texto aquellos aspectos que creo más interesantes del desarrollo del juego. Los enlaces de descarga son estos: Play Store:  https://play.google.com/store/apps/details?id=com.JorgeFernandezApps.Roaddash Amazon App Store:  https://www.amazon.es/Jorge-Fern%C3%A1ndez-Road-Dash/dp/B08JKZS7KV/ref=sr_1_1?__mk_es_ES=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=road+dash&qid=1601245278&sr=8-1 Road Dash consiste en controlar un coche a lo largo de una carretera recta infinita con el fin de esquivar los obstáculos que en ella se encuentran. Lleva la tarea ad...

Hiking Simulator

Si hay un mercado en constante apogeo y que no decae es el de los juegos para móvil. Las tiendas de apps, ya sean Play Store, App Store de Apple o Amazon App Store entre otras muchas están siempre repletas de nuevos juegos y es que para pequeños desarrolladores sin grandes fondos para invertir es muy fácil publicar y monetizar su contenido de esta forma. Para poder publicar una app en Play Store sólo te exigen una tasa de 25 dólares para registrarte como desarrollador. Después podrás publicar tu contenido sin pagar más (previa revisión por su parte de cada app para garantizar que no distribuimos malware a todo el planeta). Amazon App Store ni tan siquiera exige esa tasa y publica las apps que subas en cuestión de minutos sin una revisión tan exhaustiva. Esto en cuanto a Android. Apple, como de costumbre, es más exigente económicamente y cobra a los desarrolladores una tasa anual de 99 dólares. En todo caso, publicar apps para móvil es relativamente fácil, sobretodo para...

Comentarios en programación Java.

En la breve publicación de hoy vamos a tratar la importancia de añadir comentarios a nuestro código para facilitar la lectura y comprensión del mismo, tanto por otros programadores, como por nosotros mismos. Comentar el código es algo muy simple, que se tarda muy poco en hacer y que sin embargo marca una gran diferencia al comprenderlo. Un comentario debe ser breve, conciso y decriptivo, destacando lo relevante de un fragmento concreto de código, por ejemplo, qué dato almacena una variable, que función realiza un método específico (los métodos los trataremos más adelante) o simplemente información adicional como el autor / autores del código, la fecha en que se ha escrito o de qué versión del programa se trata. Básicamente consiste en añadir al código un texto escrito en lenguaje natural por nosotros mismos. Esto se puede hacer de dos formas: comentando una única línea, o varias a la vez. Comentario en una sola línea:  Se escribe //  e indica que todo lo que apare...

PC Gaming por piezas por 500 euros. [2019]

Este ordenador por piezas de preseupuesto medio-bajo será capaz de correr con buena calidad gráfica y tasas de frames más que aceptables casi cualquier videojuego actual. Saldrá por menos de 500 euros (al menos en España), y podrá ser incluso más barato aprovechando ofertas de Black Friday.  Enlace a la configuración en pccomponentes: https://www.pccomponentes.com/configurador/398cA0522 Importante tener en cuenta que en la lista no incluyo el sistema operativo. Asumo que cada uno puede elegir el que prefiera. Eso sí, para quien esté interesado en adquirir Windows 10, se puede encontrar a precio muy asequible en Instant Gaming. Estos son los componentes (añado enlaces a la página española pccomponentes para más detalles y compra): Procesador:  Intel Core i3-9100F 3.6GHz. Cuatro núcleos y frecuencia de 3.6GHz llegando a 4.20GHz en overclock. https://www.pccomponentes.com/intel-core-i3-9100f-36ghz Placa base:  MSI B360M PRO-VDH. Cuenta con todas las ...

Cómo crear tus propios virus informáticos.

Si has leído el título ya sabes a qué has venido. En efecto, en la publicación de hoy, vamos a ver cómo podemos crear nuestros propios virus para gastar bromas a amigos o incluso crear bots para windows que hagan tareas de forma automática. Por supuesto, creo que es más que evidente que no vamos a hackear al pentágono ni a robar la clave del wifi al vecino. Lo que vamos a hacer, es programar pequeñas macros para Windows mediante VBScript. Esto es algo que puede hacer cualquiera con un equipo Windows sin necesidad de ninguna herramienta específica. Lo primero que vamos a hacer es abrir un editor de texto cualquiera. El bloc de notas mismamente servirá. Ahí es donde escribiremos el programa. Dicho programa habrá que guardarlo con la extensión .VBS . Lo primero que haremos será escribir la siguiente línea: MsgBox "Iniciando programa (o el mensaje que prefiráis que aparezca al ejecutar el programa entre comillas)" En la siguiente línea, copiamos la siguiente instrucc...

Variables y tipos de datos en Java.

Llegados a este punto es el momento de empezar a programar. Anteriormente hemos hablado de cómo instalar todo el software y dejar todo listo para poder escribir código en Java. Si tienes alguna duda, te dejo aquí el enlace al resto de publicaciones para que te pongas al día. https://nacionpc.blogspot.com/p/programar-en-java-desde-0.html Lo primero que vamos a tratar son los tipos de datos básicos de Java y las variables. Dos aspectos básicos y fundamentales ya no sólo de Java, sino de la programación en general. Lo primero, vamos a definir qué es una variable en programación. Una variable, definida formalmente, es un espacio que asignamos en memoria para almacenar un dato. A ese espacio le asignamos un nombre que nos permitirá acceder al dato que contiene por medio de dicho nombre. Por ejemlo: Quiero almacenar un número en la memoria para operar sobre él. Ese número es el 6. Creo una variable a la que llamo num  y le asigno el valor 6. De este modo, cada vez que yo opere...

Cómo crear proyectos y clases en Java con Eclipse.

Continuamos con Java y después de haber visto cómo instalar todo lo necesario para poder programar, vamos a ver, en esta publicación muy breve, cómo se crean los proyectos y las clases en Eclipse, paso fundamental para crear programas Java. Si todavía no has visto cómo instalar todo el software necesario, te dejo un enlace a las publicaciones donde lo explico. - Instalar Java. - Instalar el JDK. - Instalar Eclipse. Lo primero es crear el proyecto java. Para ello, estando dentro de Eclipse, hacemos clic en el botón indicado en la siguiente imagen. Se nos desplegará la siguiente ventana donde le damos nombre al proyecto en la primera casilla. No necesitaremos tocar ninguna otra opción. Hacemos clic en "Finish" y ya estará creado el proyecto. Nos aparecerá el proyecto en forma de carpeta en la ventana de la izquierda del programa "Package Explorer". Lo siguiente será crear una clase. Para ello hacemos clic derecho sobre la carpeta del proyect...

Cómo comprar un ordenador por piezas. Resumen de todos los componentes.

Si es la primera vez que te decides a comprar un ordenador por piezas, es probable que nada más empezar a buscar tengas la sensación de que todo es un mar confuso de componentes, nombres, modelos y características. Puede incluso que no tengas muy clara la función de cada componente. Si es así, este resumen puede ser de ayuda para entender un poco mejor qué componentes se necesitan y cómo se clasifican para tener un punto de partida al buscar qué necesitamos para un ordenador que se ajuste a nuestro presupuesto y necesidades. Procesador : Es la unidad central de proceso y se encarga de realizar todos los cálculos y procesos lógicos del sistema. Por ello, su velocidad determinará en gran medida lo rápido que es nuestro ordenador al ejecutar procesos y realizar cálculos. Al elegir un modelo, es bueno considerar el uso que se le va a dar a nuestro equipo y por tanto, lo exigentes que serán las tareas que vamos a realizar a nivel de procesamiento. Por ejemplo, si vamos a renderi...