Entradas

Mostrando entradas de diciembre, 2011

2011

No sé porque al final de cada año me da la nostalgia de escribir algunos eventos fundamentales. Sí, soy humano y como tal tiendo a extrañar las cosas, en mayor o menor medida, pero lo hago. A los objetos tangibles no les pongo aniversarios, pero sí lo hago con los hechos que forjan una nueva visión o quizá un recuerdo, por amargo o dulce que sepa, me hace paladear como si fuera el momento aquel.
Sigo en la cuenta de aquel 17 de enero, si bien no fue un parteaguas en mi vida, es algo que aún no le hallo explicación; una explicación convincente para mis adentros ni mucho menos para mi lado racional. No me es posible sacar ese día de mi mente, como yo lo deseo, sin embargo, la distancia de los hechos y mi frecuente intento de olvidarlo comienza a dar frutos.
La situación en el país, lejos de ir mejorando, caé en picada, como si de un avión sin alas se tratase. El crimen organizado avanza a pasos agigantados, la impunidad se hace evidente día con día, por si eso fuera poco, la crisis del ca…

Nada

De pronto me dieron ganas de escribir como se hace la nada, pero no poseo nada de información. Mientras observo a mi alrededor me pierdo, en algo que quizá sea la nada.

Confirmación de borrado

Vamos a ver algo que quizá no tiene ninguna implicación técnica, sin embargo, si sabemos que somos personas sumamente distraidas y tecleamos más rápido de lo que pensamos, podemos obligarnos a pedir confirmaciones desde la consola antes de eliminar cualquier archivo. La situación está en poner un alias al comando rm, con un parámetro (-i) y listo.
$ alias rm="rm -i"

Paseo del Pendon (Fotos)

Imagen

Hilos en C con pthread

Esta vez les compartiré un poco el funcionamiento básico de los hilos en POSIX (caso particular de GNU/ Linux), pasando de la teoría a la práctica. Una buena referencia de qué es lo que estoy usando en este código es la liga de pthread.

#include
#include
#include

#define NUMERO_DE_HILOS 10

void *imprimir_hola_mundo(void *tid)
{
    /*Imprime el identificador del hilo y termina*/
    printf("Hola mundo. Soy el hilo %d0\n", tid);
    pthread_exit(NULL);
}

int main(int argc, char *argv[]) {

    /*Se crean diez hilos*/
    pthread_t hilos[NUMERO_DE_HILOS];
    int estado, i;
    for(i=0; i< NUMERO_DE_HILOS; i++) {
        printf("Creando hilos en main %d0\n", i);
        estado = pthread_create(&hilos[i], NULL, imprimir_hola_mundo, (void *)i);
        if (estado != 0) {
            printf("Ocurrio un error %d0\n", estado);
            exit(-1);
            }
    }
}
Para compilarlo:

$gcc -pthread archivo.c

Y se jecuta el archivo de salida (a.out)

Esqueleto a nivel bajo cuando ocurre una interrupción

1.- El hardware mete el contador del programa a una pila. 2.- El hardware carga el nuevo contador de programa al vector de interrupciones. 3.- Por medio de código ensamblador se guardan los registros. 4.- Establecimiento de nueva pila con lenguaje ensamblador.
5.- El servicio de interrupciones se ejecuta 6.- El planificador toma deicisiones de que proceso se debe ejecutar. 7.- El procedimiento de C regresa al código ensamblador 8.- El procedimiento en ensamblador inicia el nuevo proceso actual

Vector de interrupciones

Una vez más

Ante la inminente entrada  de lo solemne de la vida, aplastante y quizá con un deje de ironía, no deja de espetarme lo humano que soy; una vez más. Con mirada socarrona y un esbozo de sonrisa en los labios, la vida me dice al oído "Cuándo aprenderás!"

¿Cuál es mi mundo?

En noches de estruendo y fiesta es cuando me entra lo taciturno, hoy es la excepción. No he llegado a comprender por qué daría una mano (como diría el Che) por ser igual que ellos, al parecer una sobrevaloración más como a las que ya me tengo acostumbrado y me hecho tragar tal y como lo haría un padre abnegado ante terrible acción de un hijo. Mi sentir es como si fuera un extranjero en medio de la nada y de pronto fuera tragado por la inmensidad del paisaje, un paisaje desolador.
¿Cuál es mi mundo? Es la pregunta que con frecuencia reptea entre las paredes de mi cuarto y por fin llega a mi mente para convertirse en sí misma  en una de las más agridulces ideas que mi cerebro puede fabricar. El vivir entre dos mundos totalmente ajenos y antípodas es quizá una de las situaciones que pueden originar hechos no predecibles, situandome en una condición vacilante e incierta, ambas partes soy yo.
Sigo buscando, por debajo de la cama, por encima, dentro del ropero y una ojeada a mis bolsas. No ha…

Resetear la terminal con C

Muchas veces el mal funcionamiento de una aplicación puede ocasionar que nuestra terminal se vea con caracteres raros, pudiendo resultar molesto. 
Cuando estamos trabajando en una terminal local basta con abrir una nueva y asunto solucionado. La situación cambia cuando estamos en una sesión en un servidor remoto (y nos costaron muchos saltos poder llegar a éste), para colmo no existe el comando reset, el cual podría solucionarnos la vida.
Si pudiera ser el caso, pueden usar un pequeño programa en C, el cual cumplirá las funciones de reset.
#include

int main() {
    printf("P\033c");     printf("P\033[2j");
return 0; }
Espero les ayude un poco al menos.