sábado, diciembre 31, 2005

Un bueno comienzo con un prospero año nuevo

Este es el último post de este año (2005), y con él les deseo a todos aquellos que leen este blog (espero que haya algunos :P), un feliz y prospero año nuevo.

Que esta última noche de este 2005 tenga muchas cosas que remembrar de acontecimientos y eventos favorables, y que tenga muchas cosas que deseen hacer para el siguiente año.

Y para el comienzo del siguiente año les sea próspero.

Feliz comienzo de año nuevo 2006

viernes, diciembre 30, 2005

FORTRAN, un lenguaje aun vivo.

Fortran es uno de los primeros lenguajes de alto nivel, utilizado para la programación de algoritmos numéricos. Su nombre viene de FORmula TRANslator, por su familiaridad con ideas y expresiones matemáticas (formulas matemáticas).

Ampliamente utilizado en ambientes de investigación, por su facilidad en la implementación de métodos numéricos, para la solución de problemas matemáticos muy complejos.

De FORTRAN, el más difundido es FOTRAN 77 (por el año en que fue liberada la versión), pero actualmente cuenta con mejoras y otras versiones, siguiendo la costumbre de colocarle el año de su liberación, existiendo FORTRAN 90, FORTRAN 95 (que corresponde a correcciones y extensiones para FORTRAN 90), y FOTRAN 2000.

En la última versión ya se considera la programación orientada a objetos.

Su facilidad para el manejo de elementos matemáticos, la posibilidad de sobrecarga de operadores (a partir de FOTRAN 90), y otras características, permiten con una relativa facilidad, implementar "solvers" a expresiones matemáticas complejas; además de que al ser un lenguaje compilado, en análisis y simulaciones de varias semanas (o meses), al ejecutar los programas lo realiza con una mayor rápidez.

En las distribuciones Linux, existen compiladores para fortran, como g77 para FOTRAN 77, gfotran y g95 para trabajar con FOTRAN 90/95.

viernes, diciembre 23, 2005

Tip: Comandos para busquedas

Continuando con el tip anterior, comentaré algunos comandos más que ayunda a la busqueda de archivos, programas, y ayuda.

Para la búsqueda de archivos, (recordando que en *nix, "todo es un archivo"), además del comando find, se usa el comando locate.
> $ locate cadena_busqueda <cadena_busqueda>

en donde <cadena_busqueda>, es la cadena que se utiliza como criterio de búsqueda y que corresponde al nombre del archivo de interés.

La ventaja que presenta, es que, al tener los nombres de los archivos indexados en una base de datos, la búsqueda se realiza en un menor tiempo, la desventaja es que solo realiza la búsqueda por nombres.

Es importante hacer notar que se debe actualizar la base de datos tan frecuentemente como sea posible (con el comando updatedb); la frecuencia es a criterio del admin del equipo, y de la rapidez con que se generan nuevos archivos.

Otros comandos que también realizan búsquedas, pero que solo lo hacen para localizar la ruta en donde se encuentran los programas es whereis y which.

En mi máquina:

>$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Devolviendo la ruta donde está el comando, y la ruta donde estan las páginas para el comando man.

Con which

>$ which ls
alias ls='ls --color=tty'
/bin/ls

Devuelve los alias asociados al comando, y la ruta del binario.

Estos comandos son útiles como administrador, para ejecutar los comandos desde sus rutas absolutas, la programación de scripts, y la edición del archivo de configuracion del comando sudo.

viernes, diciembre 16, 2005

Tip: Usando el comando find en busquedas sencillas

Las búsquedas de archivos en sistemas operativos tipo *nix, se realizan con varios comandos, como locate o find, además de contar en las distribuciones Linux con otras herramientas gráficas.

El comando que nos ocupa es find, que funciona en consola y es un comando muy poderoso para realizar búsquedas.

La sintáxis general es (de man find):

find [-H] [-L] [-P] [ruta...] [expresión]

Las opciones -H, -L, y -P (que no trataremos aquí), son para determinar el tratamiento que se le da a los enlaces simbólicos, la ruta es a partir de que directorio se desea hacer la busqueda, y las expresiones son los argumentos que determinan el criterio de busqueda.

Algunos de los argumentos que creo son muy útiles:

-user : para buscar archivos que pertenezcan a user.
-group : para buscar archivos que pertenezcan a group.
-mtime <referencia> : para buscar archivos que coincidan con cierta fecha <referencia>.
-size <referencia> : para buscar archivos que coindican con tamaño <referencia>, el valor de <referencia> es en intervalos de 512 bytes.
-type : buscar archivos que corresponda con el type (tipo de archivo), los tipos son: c para caracter, d para directorio, f para archivo regular, l para enlace simbólico, y otros.
-name : para buscar archivos por nombre.
-print : para imprimir el resultado de la búsqueda.

A continuación algunos ejemplos para aclarar.

>$ find $HOME -size +300 -print

Busca todos los archivos en $HOME, de tamaño igual o mayor a 150 KB

>$ find $HOME/mi_dir -name "*pdf" -size -3000 mtime -5 print

Busca todos los archivos en $HOME/mi_dir cuyo nombre termine con .pdf su tamaño sea igua o menor a 1.5 MB y cuya fecha de modificación sea menor o igual a los últimos 5 días.

>$ find / -name "*html" -group webusers size +10000 -print

Busca todos los archivos cuyo nombre termine en html, y que pertenezcan al grupo webusers, de tamaño mayor a 5 MB.

Como se aprecia, se pueden colocar dos o más criterios de busqueda, y <referencia> es un número que puede estar precedido por un guión (-) para menor, un más (+) para mayor, sin signo, se interpreta como "igual a" número.