“Mi estilo, es el arte de luchar sin luchar”

Music is Math

2008-10-04 21:30:44-05

Ciencia y Tecnologia


Music Is Math from Glenn Marshall on Vimeo.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1575


MC Frontalot - It Is Pitch Dark

2008-10-04 09:17:01-05

Ocio

Tiene algo de interesante la musica de este tipo.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1573


Sorting...

2008-10-01 19:29:58-05

Software

En un reciente viaje a CU cuyos motivos eran un poco para caminar, otro poco para visitar sus bibliotecas y otro tanto para localizar (con probabilidad casi nula) a cierta estudiante de veterinaria. me encontré con  un libro que me parecio muy interesante al grado devorar casi 4 capitulos antes de soltarlo.

The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan and Rob Pike, es una maravilla en lo que se refiere a estilo, pero una parte que en lo particular me gusto mucho es el comienzo del segundo capitulo, donde se dice que un buen programador debe estar conciente de los algoritmos y las estructuras de datos para poder solucionar un programa de la manera mas elegante posible, asi mencionan la busqueda binaria, el quicksort y las estructuras de datos. es un libro Altamente recomendable.

Hoy ya 3 dias despues, me encuentro con una pagina (Gracias, Microsiervos), que tiene unas animaciones sobre ordenamento (Sorting), son muy ilustrativas y aunque despues de leer cierto texto de Dijkstra, ya no estoy muy de acuerdo con las explicaciones graficas, esta sencillamente provoco que mi musculo cardiaco se contrajera de la emocion.

 alt

Pica en la imagen o aqui para ver las animaciones.

P.D: No vi a la chica, pero si 3 ardillas y dos ratas enormes, no se si coman muy bien o son resultado de algun experimento genetico.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1570


Pentium 2 es la neta.

2008-10-01 19:01:34-05

General

Permalink: http://www.mononeurona.org/users/entry/vendaval/1569


Ya Volvi...

2008-10-01 18:41:52-05

Software

Estuve haciendo unas cosas...

 alt

Pero despues de una pequeña ausencia (como un mes), regreso al hacking trabajo... espero.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1568


Chupate esa pinguino!!!!

2008-08-19 10:47:15-05

Software

alt

Permalink: http://www.mononeurona.org/users/entry/vendaval/1511


The Joker

2008-08-15 12:34:26-05

Software

Tengo que decir que "The Joker" se llevo la pelicula, es una lastima que Heath Ledger este muerto, por que sera muy dificil sustituir su talento con el que dio vida a este personaje. deja mucho en que pensar y creo que muchos niños de la sala salieron pensando que seria mejor ser un "Joker" que Batman.

«La locura es como la gravedad, ¿sabes? Todo lo que hace falta es un pequeño empujón».

 

Permalink: http://www.mononeurona.org/users/entry/vendaval/1495


Aprendiendo C (8va. Parte)

2008-08-09 09:20:30-05

Software

En la ultima entrada, aprendimos a declarar y usar funciones, hoy profundizaremos un poco en como se utilizan las variables en las funciones y su alcance.

Veamos una variable dentro de una función es privada (o local) a ella, debido a que esta declarada dentro de una función, ninguna otra función puede tener acceso "directo" a ellas. Estas variables se llaman automáticas y "existen" cuando la función es llamada y dejan de "existir" cuando la función termina, nota que como las variables locales aparecen y desaparecen con las invocaciones a funciones, no retienen valores entre llamadas sucesivas.

Si queremos que se guarden valores entre llamadas podremos hacer algunas cosas como variables externas, esto tiene ventajas como que la variable no se destruye, podremos comunicar datos entre funciones sin necesidad de listar sus argumentos, pero de cara a la seguridad no es muy buena idea (son como variables "Public"  en POO), tampoco ayuda a la reutilización de código nos podemos ingeniar para hacerlo, es mejor desde mi humilde punto de vista el uso de variables estáticas, pero expliquemos las variables externas.

Las variables externas se definen solo una vez, fuera de cualquier función, además debe ser declarada en cada función en la que se use y debe contener la proposición extern. Admito que muchas veces esta declaración extern se omite por que las variables comúnmente se declaran en el mismo archivo fuente que las funciones que las ocupan, entonces, se puede omitir en estos casos.

La otra forma de mantener los valores entre llamadas es declarando variables estáticas, estas no se destruyen entre llamados, permanecen en memoria hasta que termina la ejecución del programa, se declaran dentro de la función como static Tipo NombreVariable. Veamos un ejemplo para que todo quede mas claro.

/******************* Archivo fun.h***********************************************************************/

#include<stdio.h>
/*
 *Variable externa, la inicial F de las funciones significa
 *(para este caso particular, claro)
 *que no forman parte del archivo con la funcion "main" ..
 */
int FVarExterna=10;

/*
 *Definicion de la funciones VarEst e ImprimeValores
 */
int FVarEst(int anyval);
void ImprimeVal(int val);

/*
 *Funcion que recibe un entero y lo suma a la variable estatica
 *de la funcion. Regresa el valor almacenado en la variable estatica.
 */

int FVarEst(int anyval){
static int FVarSt=0;
FVarSt+=anyval;
return FVarSt;
}
/*
 *Funcion que imprime en la salida estandar el Num. entero recibido.
 */
void ImprimeVal(int val){
printf("\nValor: %d\n",val);
}
 

/***************************************Archivo Variables.c***************************************************/

#include"fun.h"
#define MAX 16

/*
 *Definicion de la funcion funlocal, muestra el uso de una variable
 *local a ella que no guada valores entre llamadas
 */
int funlocal(int a);

//Inicia funcion principal
int main(){
int i;

printf("Variable Externa \'FVarExterna\'\n");
ImprimeVal(FVarExterna);
printf("Variable Estatica \'FVarEst\'\n");
ImprimeVal(FVarEst(0));
printf("Variable Externa \'i de la funcion funlocal\'\n");
ImprimeVal(funlocal(0));

for(i=0;i<MAX;i++){
    printf("\'i de funcion main\'%d\n",i);
    printf("Variable Externa \'FVarExterna\' + %d\n");

    FVarExterna+=i;

    ImprimeVal(FVarExterna);
    printf("Variable Estatica \'FVarEst\' + %d\n");
    ImprimeVal(FVarEst(i));
    printf("Variable Externa \'i de la funcion funlocal\' + %d\n");
    ImprimeVal(funlocal(i));
    }
       
return 0;
}//fin de la funcion principal

int funlocal(int a){
int i=0;
i+=a;
return i;
}
 

/*************************************************************************************************/

$gcc variables.c -o variables

$./variables

Como notamos es posible tener varias variables con el mismo nombre en funciones diferentes, esto es por que solo son locales a la función, sin embargo podemos hacer referencia a la variable global en cualquier lugar del programa.

La salida del programa puede servir de referencia para entender como funciona el uso de las variables, nota que no se puede acceder a una variable local, como por ejemplo:

Desde main():

printf("Variable estatica FVarEst : %d",FVarEst);  es una operacion ilegal.

Espero que los resultados sean claros y cualquier duda o aclaración la resuelvo en los comentarios en los comentarios.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1487


Y que me traigan mas botellas!!!

2008-08-03 20:09:19-05

Ocio

Un poco de musica, de esa que siempre te recuerda a alguien.

saludos.

Permalink: http://www.mononeurona.org/users/entry/vendaval/1482


Cautionary

2008-07-30 07:12:44-05

Ocio

De la Siempre Genial tira xkcd:

alt

Permalink: http://www.mononeurona.org/users/entry/vendaval/1478


Login



Remember me:
vendaval
Alberto Rodriguez Sanchez Estudiante de Ingenieria en Computacion en la UAM-A, programo en C, C#, Python y Haskell. Uso Debian GNU/Linux, Mac-OS X, OpenSolaris, NetBSD y Win2. Pienso especializarme en computo cientifico y criptografia que son mis grandes pasiones.

Tambien pienso que la programacion computacional es un Arte y que un programa de computadora puede llegar a ser realmente bello si cumple con algunas caracteristicas, prefiero la Sintaxis Avanzada en los programas por que muestra un dominio del lenguaje y un buen grado de abstraccion.

NetBSD, C, Enlightenment y VI(M) son mis SO, Lenguaje de programación, manejador de ventanas y editor favoritos.

Practico Limalama y JKD (soy seguidor de la filosofía de Bruce Lee) y tambien escribo con cierta regularidad en este blog.

"Se como el agua, pero piensa como el fuego"
alchemy corn pop cryptography dark side education hacking humor ladies mathematics music my life nanoblogging no more triviality programming martial arts
Powered by:
Despabilando la MonoNeurona.org
Livechat

<-Nombre
vendaval wrote:
Con una mentira suele irse muy lejos, pero sin esperanzas de volver
on 24/7/08

asarch wrote:
Simon. De preferencia ponle una nalga pa' que llame la atencion
on 25/6/08

vendaval wrote:
hola roberto, lo mejor seria poner lo que quieres comunicarnos como una noticia en portada
on 28/3/08

roberto wrote:
como envio un email a todos los miembros de mononeurona
on 26/3/08

vendaval wrote:
pienso que debria crear una version viva para ms necesidades
on 28/1/08

asarch wrote:
O tambien en: http://www.openbsd.org/ en la forma más pura que puedas encontrar en la red
on 26/1/08

¿Qué estuve haciendo?
Estudio a fondo un asunto sobre la nueva red de la uam
17 hours, 6 minutes ago
@asarch: hablales bonito de mi. que voy a oaxaca en enero.
4 days, 16 hours ago
Pero en la biblioteca Central no estaban, aunque tienen sus tesoros =)
1 week, 1 day ago
Me di una vuelta a CU a ver si tenian algunos libros que ocupo.
1 week, 1 day ago
Deberas Der_teufel donde queda la biblioteca de la Fac. de Ciencias,
1 week, 1 day ago
fijate si Ese Firefox tiene noScript o algun add-on por el estilo
1 week, 1 day ago
Me voy a trabajar. =(
1 week, 6 days ago
58kg
2 weeks, 1 day ago
yo no...O-O pero voy a visitar al oculista en diciembre
2 weeks, 3 days ago
Celebrando mis 23 primaveras.
3 weeks, 3 days ago
Galerias
FirefoxjEdit.orgGimpOpenOffice.orgHacker
Top
Colectivo MonoNeurona.org © 2002-2008.