Archive for enero, 2010

enero 27, 2010

Debian Híbrido

por Josue Ortega

Desde ya hace un tiempo vengo usando Debian Lenny(la versión estable por el momento), lo unico que no me gusta es que los paquetes estables para esta versión no son los mas nuevos que digamos, buscando un poco en la web, encontré que se puede tener un sistema híbrido, esto quiere decir: tener paquetes de la versión estable y paquetes de testing y unstables. Y que con esto? bueno con esto ya puedo escojer entre paquetes estables(version angtigua) y paquetes más recientes. En fin es cuestion de gustos.

A continuación explicare como pasar nuestro sistema de estable a hibrido, bastante sencillo por cierto.

Lo primero que tenemos que hacer es abrir el archivo sources.list (dónde se encuentran las direcciones de los repositorios), bueno yo lo hago desde la TODOPODEROSA consola, y usando nano:

# nano /etc/apt/sources.list

A continuación los repositorios:

#Stable
deb http://ftp.debian.org/debian/ lenny main 
deb-src http://ftp.debian.org/debian/ lenny main 
# Testing
deb http://ftp.debian.org/debian/ testing main 
deb-src http://ftp.debian.org/debian/ testing main 
# Unstable
deb http://ftp.debian.org/debian unstable main 
deb-src http://ftp.debian.org/debian unstable main

Luego actualizamos:

#apt-get update

Lo siguiente es crear el archivo preferences

# nano /etc/apt/preferences

Donde agregamos las siguientes directivas para hacer pinning:

Package: *
Pin:release a=stable
Pin-Priority:700
Package: *
Pin:release a=testing
Pin-Priority:600
Package: *
Pin:release a=unstable
Pin-Priority:500

El pinning puede ser redirigido a un archivo, un origen, la versión de un paquete, un componente, etc…

Con “o=” se especifica el origen; es decir, la distribución del paquete, con “a=” la rama (sarge, sid, stable, etc…).

Los números de prioridad tienen además un significado añadido, que a continuación se comenta. Llamando P a dicho número, tenemos:

  • P»1000: se fuerzan versiones de paquetes, aunque estas sean inferiores.
  • 990«P«=1000: siempre que la versión instalada no sea más reciente, el paquete es instalado, aunque no provenga de la rama principal.
  • 500«P«=990: siempre que el paquete instalado sea más antiguo y que no exista una versión en la rama principal, se instalará la versión.
  • 0«P«=100: la versión solo se instala si no hay ninguna versión del paquete instalado.
  • P«0: no se instala la versión.

Actualizamos de nuevo:

# apt-get update

Como tercer paso creamos el archivo apt.conf

#nano /etc/apt/apt.conf

Y escribimos lo siguiente:

APT::Default-Release "stable";
APT::Cache-Limit 15000000;
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded "true";

Listo, con esto tenemos nuestro sistema híbrido listo para instalar nuevos paquetes.

Instalacion de Paquetes

Para instalar paquetes en la nueva configuración de nuestro sistema, podemos ver los candidatos de paquetes:

# apt-cache policy [nombre del paquete]

El comando anterior nos devolvera los candidatos para el paquete que especifiamos, la rama donde se encuentra el paquete, y el numero de pin dependiendo si es para: stable, unstable, testing.

Luego que conseguimos la informacion que necesitamos solo basta con escribir

#apt-get -t [unstable/stable/testing] install [nombre del paquete]

por ejemplo si queremos instalar kaffeine desde testing sería:

#apt-get -t testing install kaffeine

Y con esto ya tienen para divertirse 🙂

enero 25, 2010

Un semestre mas

por Josue Ortega

Ya casi a 2 semanas de haber empezado el primer semestre del año en la universidad(para mí, el inicio del Séptimo), se empieza a sentir el estrés vario, por esos preciosos cursos hahaha.

Pensé que este semestre iba a ser la excepción ¿pero excepcion de que? si sigue el estrés  aunque  debido a injusticias de la vida/pereza, o simplemente porque de verdad se pelaron con los cursos del semestre pasado, estoy repitiendo un par de cursos, y lo peor que son del área que más me gusta de la carrera(Ciencias de la Computación) 😦 . Aunque también es una oportunidad para ir terminando con todos los cursos  que NADIE  QUIERE LLEVAR, esos cursos aburridos  donde se les da preferencia estudiantes de a otra carrera dentro de los cursos por parte del catedrático dígase : Investigación de Operaciones,  pero en fin, la intención de este post no es quejarme, aunque dicen por ahí que los bloggers tienen sus blogs solo para quejarse.

En fin para este “semestre más” no debemos olvidar nuestras metas, objetivos, etc, como quieran llamarle, para echarle (huevos) ganas, y enamorarnos de esos cursos! jaja aunque suene raro, pero recién hablaba con una persona de otra facultad, y me contaba de los nuevos cursos que llevaría este semestre, y es motivo de inspiración ver como pone ojos de candy haha, al hablar de sus nuevos cursos, y sinceramente yo, al principio de cada curso tengo esa expresión, y al pasar de los días se va convirtiendo en una expresion de cansancio, desesperacion, de esa desesperacion de cuando no da tiempo para terminar un proyecto y por hacer el proyecto no estudiamos para el parcial, bueno todos los que estudian sistemas saben de lo que hablo, el punto es el siguiente aunque no tengan piedad con nosotros en los cursos, aunque el server de wordpress muera cuando publico un post, y no lo tengo guardado en otra parte(acaba de pasar), lo que menos tenemos que hacer es awevarnos hehe y seguir echandole ganas, bueno despues de desahogarme/quejarme/ponerme hueco en este post <burla>motivacional</burla>… seguire con mi tarea de IO jeje

saludos

enero 17, 2010

Tutorial JLEX y JAVA CUP

por Josue Ortega

Debido a que en la web no se encuentran ejemplos concretos del uso de JLEX y JAVA CUP,  he decidido escribir un tutorial para el  generador de analizadores léxicos  JAVA JLEX y el generador de analizadores sintácticos JAVA CUP, he creado una nueva pagina en este blog dedicada a un tutorial y al estudio de estas herramientas, el enlace es: https://openfecks.wordpress.com/jlex-y-cup/

enero 13, 2010

Conversión de Millas a Kilómetros con Números Fibonacci

por Josue Ortega

En mi fría y ociosa tarde he aprendido un fact muy interesante: con los números de la serie de fibonacci podemos hacer conversiones de millas a kilómetros o viceversa.

Nunca creí que esta serie que más de alguna vez nos hizo pensar en un ejercicio de programación recursivo, o en la clase de matemáticas discretas cuando se ven ecuaciones de recurrencia, seria tan divertida  😛

bueno aquí viene la magia:

Tomamos 2 números de la serie consecutivos, por ejemplo 8 y 13, y YA! haha, 8 millas son el equivalente a 13 kilometros. sorprendente huh?

Para convertir de millas a kilómetros, tomamos el numero siguiente en la serie fibonacci, de kilómetros a millas tomamos el anterior en la serie…

Bueno seré mas exacto tomare otros 2 números: 21 y  34, según nuestro metodo 21 millas es el equivalente  a 34 km, haciendo calculos varios, 21 millas  son equivalentes a 33.7962 km  :D, una aproximación bastante buena :).

Pero que pasa cuando queremos calcular el equivalente de un número que no se encuentre en la serie, solo debemos expresar el numero que elegimos, en una suma de números fibonacci, por ejemplo, el numero si queremos saber el numero de millas que hay en 100 kilómetros, Para expresar 100 en numeros fibonacci seria: 89+8+5.

Cuando ya tenemos estos numeros calculamos el siguiente fibonacci de cada uno:

Siguiente de 89->144, siguiente de  8->13,siguiente de 5->8 (OJO NO SON PUNTEROS  HAHA )

ahora sumamos los siguientes de cada fibonacci: 144+13+8=162 km, al hacer nuestro calculo 100 millas son equivalentes a 160.93 km, bastante cerca de nuestro resultado :).

Ahora veamos que es lo que pasa, si calculamos las raíces de la ecuación de recurrencia de fibonacci  Fn = Fn-1 + Fn-2 obtenemos que una de las raíces es (1+√5)/2. Esta raíz es conocida en matemática como numero aureo:

Se trata de un número algebraico que posee muchas propiedades interesantes y que fue descubierto en la antigüedad, no como “unidad” sino como relación o proporción entre segmentos de rectas. Esta proporción se encuentra tanto en algunas figuras geométricas como en la naturaleza en elementos tales como caracolas, nervaduras de las hojas de algunos árboles, el grosor de las ramas, etc.

El número áureo repersentado con la letra griega φ(phi) es: 1.618033…

Y si notamos,es bastante cercano a la relación que existe entre millas y kilómetros(1.609), por lo que obtenemos resultados bastante aproximados entre los números de fibonacci y la relación que existe entre millas y kilómetros.

Casualidades de la vida.. 🙂