Matasano Crypto Challenge Set 1 (1/?)

Los retos criptográficos de Matasano están diseñados para enseñar criptografía de forma práctica. El primer set de ejercicios es simple. Implementar Base64 y funciones XOR hasta llegar a AES-128-EBC. Empecemos a resolverlos. Sigue leyendo

Anuncios

Programacion orientada a objetos

¿Que es un objeto? Una silla, una mesa, una computadora, una casa. Todos los elementos tangentes en el mundo son objetos pero ademas podemos pensar en los numeros como objetos, las ideas, los modelos y cualquier abstraccion mental que se conciba. Para efectos practicos diremos que un objeto es un ente, ya sea fisico o mental, que puede tener propiedades (forma, tamaño, cantidad), estado (vivo, cerrado, marcado) y acciones (correr, pintar, sumar).

Al referirnos a la programacion basada en objetos nos referimos a una forma de programar. No es un lenguaje, no es una caracteristica, no es una plataforma. Es una filosofia propiamente y nos indica la manera en que podemos abstraer nuestras ideas para programar. La programacion es un modelo abstracto del mundo en el que se trate de resolver un problema especifico, el cual puede ser un problema fisico o abstracto. Sigue leyendo

SIstema de control de versiones GIT (II)

Usando GIT

Bien, empezemos el verdadero tema, como usar GIT. Lo primero que haremos sera tener en cuenta que esto sirve para desarrollar proyectos asi que hagamos un proyecto de codigo simple, una aplicacion que funcione como sumadora sencilla. Para esto entramos a la parte del disco duro donde trabajemos y desde consola escribirmos

$mkdir sumadora
$cd sumadora
$git init
Initialized empty Git repository in /archivos/proyectos/sumadora/.git/

Con esto ya tenemos nuestro proyecto, aunque vacio por el momento. Lo importante es tener ganas de seguir programando asi que ahora hagamos un poco de trabajo. Escribiremos nuestro programa basico que por el momento solo servira para el ejemplo. Sigue leyendo

Usando gdb, el debugger de linux (i)

GDB (Gnu DeBugger) es una herramienta que nos sirve para saber que es lo que pasa con un programa en determinados momentos de su ejecucion.

Usaremos un sistema de ejemplo muy basico. Pondremos un archivo llamado suma.c

#include <stdio.h>

int main() {
int num1=0;
int num2=0;
int num3;
num1=25;
num2=12;
num3=num1+num2;
printf("%i",num3);

return 0;
}

y compilaremos con informacion de depuracion, la cual para estos momentos nos ayudara muchisimo pero despues tendremos que aprender a trabajar sin esta informacion

gcc -ggdb  suma.c -o suma

y lo pasamos al debuguer con la linea

gdb -q suma

Entraremos al prompt de gdb, el cual nos informa que se cargo correctamente el programa. Para verlo funcionar simplemente necesitamos poner el comando run el cual ejecuta nuestra aplicacion dentro de gdb. Por ser un programa muy sencillo este solo muestra un valor (37) y termina.

Sigue leyendo

Hello world!

El siempre solicitado Hello world!

Para todos los que estamos en este ambiente de la informatica sabemos que lo primero que debe uno hacer es decir Hello word!, simple y sencillamente porque es lo mas sencillo que se puede hacer y demuestra nuestra educacion, la educacion es lo mas importante.

La primera vez que aparecio en la luz publica fue en la primera edicion del libro de K&R “The C Programming Language”, que en 1978 era asi:

 main() {
 printf("hello, world\n");
 }
 

Y se puede reconocer facilmente, al punto que si tu estas leyendo esto seguramente habras hecho ese programa en al menos un lenguaje de programacion.

Una coleccion de programas de este tipo fue hecha por Wolfrm Rösler desde el 3 de octubre de 1994 y se publico el 30 de diciembre de 1990. La lista se encuentra en http://www.roesler-ac.de/wolfram/hello.htm y se puede apreciar una cantidad enorme de lenguajes en los cuales se ha escrito este pequeño programa.

El siempre solicitado Hello world!Para todos los que estamos en este ambiente de la informatica sabemos que lo primero que debe uno hacer es decir Hello word!, simple y sencillamente porque es lo mas sencillo que se puede hacer y demuestra nuestra educacion, la educacion es lo mas importante.

La primera vez que aparecio en la luz publica fue en la primera edicion del libro de K&amp;R “The C Programming Language”, que en 1978 era asi

main() {
printf(“hello, world\n”);
}

Y se puede reconocer facilmente, al punto que si tu estas leyendo esto seguramente habras hecho ese programa en al menos un lenguaje de programacion.

Una coleccion de programas de este tipo fue hecha por Wolfrm Rösler desde el 3 de octubre de 1994 y se blico el 30 de diciembre de 1990.