3º Congreso Nacional de Estudiantes de Ingeniería en Sistemas de Información

Posted on the abril 27th, 2009 under Académicos by

Durante los días 10, 11 y 12 de junio se llevará a cabo en la Universidad Tecnológica Nacional – Facultad Regional San Francisco (provincia de Córdoba), el 3º Congreso Nacional de Estudiantes de Ingeniería en Sistemas de Información.

Por tal motivo, la Subsecretaría de Asuntos Estudiantiles, el Claustro Estudiantil de Sistemas y el Departamento de Ingeniería en Sistemas están organizando un viaje al Congreso antes mencionado.

El costo del viaje es de $120 e incluye la estadía en el hotel (las noches del 10 y 11 de junio), dos cenas (los mismos días de alojamiento) y el traslado interno por la ciudad en un ómnibus de la intendencia de San Francisco. Las inscripciones se llevaran a cabo en la Subsecretaría de Asuntos Estudiantiles, tener en cuenta que el cupo es limitado.

Es importante este tipo de viajes a Congresos Nacionales, ya que complementan el buen nivel académico con el que cuenta nuestra Facultad Regional Santa Fe y, además, se crean lazos de amistad con estudiantes que participan de distintas Regionales.

También a todos los interesados en presentar un paper, puede dirigirse a la SAE para más información.

Se entregarán certificados de asistencia como expositores del Congreso y otro como asistentes al mismo para los alumnos que solamente asistan a dicho evento.

Por consultas dirigirse a la SAE o bien vía email a sae(a r r o b a)frsf.utn.edu.ar
Página Oficial Congreso

Presentación de Papers

Estudiantes de UTN FRSF en el 1º CNISI 2007 Córdoba

afiche

Lista de novedades para alumnos de sistemas de la FRSF

Posted on the abril 27th, 2009 under Académicos by

Estimados compañeros, les dejo el enlace a la página de presentación de la lista de novedades de alumnos de sistemas de la Facultad Regional Santa Fe, UTN.

Ingresando en http://mail.frsf.utn.edu.ar/mailman/listinfo/alumnos.sistemas puden suscribirse. Deberán dejar su correo electrónico.

El motivo de la creación de dicha lista es difundir las actividades que se realizan en el Consejo Departamental de sistemas, además de notificarles de eventos, congresos y demás información que nos llega al Departamento. Si quieren comunicarse con nosotros, pueden hacerlo a la dirección que figura en esa página, o a nuestros correos privados. Desde allí le daremos difusión al resto de los consejeros y de ser algo que necesite tratamiento en Consejo, se elevará la propuesta.

¡Esperamos que les sea útil la información que enviamos y esperamos leerlos!
listasistemas

Nota: aún estamos configurando la interfaz de Mailman, pero hay traducciones que no son editables, por lo que encontrarán errores que no podemos corregir.

Autocompletado en bash personalizado (para tus programas!)

Posted on the abril 9th, 2009 under GNU/Linux,Probando herramientas,Software Libre by

Bash incorpora una característica que permite el autocompletado en una terminal de los parámetros que acepta un programa. Para esto utiliza un script con diversas funciones, y permite que incorporando un archivo y ciertos comandos, podamos definir como se autcompletarán los programas que querramos.

Por ejemplo, tenemos hecho un programa con Milton y Daiana, que acepta varios parámetros. Hay algunos que no los usamos hace tiempo, y para no estar consultando la ayuda, pensamos que estaría bueno que se autocompletara.

El programa está hecho en mono, y se ejecuta haciendo

$ ./programa.exe

o bien

$ mono programa.exe

Aquí el archivo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Author: Nacho
# /etc/bash_completion.d/programa
# copy it there and enjoy magic, compadre!
#
_programa() 
{
    local cur prev opts
 
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="-h -? --help -r --reemp -e -f --extrae-flex -c -g -d --vft"
 
    if [[ "${cur}" == -* ]] ; then
        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    else
        _filedir  '@(xml|sql)'
    fi
}
complete -F _programa $filenames programa.exe
complete -F _command $filenames mono

La línea 12 indica las opciones que acepta el programa.
La línea 17 indica que se listen (si no es que estoy intentando poner alguna opción) los directorios y archivos pero los XML y SQL únicamente.
La línea 20 indica bajo que nombre de ejecutable se completará y qué función es la encargada de tal tarea.
La línea 21 es la que indica que «mono» es un «command» al igual que otros definidos (sudo, fakeroot, nohup) que requieren autocompletado luego para el programa que le sigue.

En vez de listar la línea 12, se podría haber hecho que el programa en cuestión devuelva por defecto la lista de los parámetros que acepta. La forma de hacer esto sería reemplazar esa línea por:

12
    opts=`mono programa.exe -p`

Python tiene un módulo para realizar esto en forma más sencilla: optcomplete.

Espero les sea de utilidad!

Retornando arrays con PlPython

Posted on the abril 9th, 2009 under GNU/Linux,Probando herramientas,Software Libre by

PlPython es un lenguaje procedural (PL) que permite utilizar Python en una base de datos PostreSQL para poder escribir los procedimientos almacenados. En realidad actualmente es un lenguaje no confiado (untrusted). Se puede leer más aquí: PlPythonu.

Si bien Python maneja listas, diccionarios y otras estructuras de datos con bastante simpleza, no encontramos una manera de hacer casting a un array o vector de PostgreSQL. Particularmente, en el ejemplo debajo, se puede ver que implementamos un wrapper para poder utilizar el motor de expresiones regulares de Python, dentro de la DB, ya que tiene algunas cuestiones más avanzadas que el que trae PgSQL por defecto.

Lo que hicimos fue crear una cadena, con la representación serializada de un Array y dejar que haga el casting PgSQL. Les dejo el código para que lo adapten a sus necesidades. En este caso devuelve un vector de TEXT (TEXT[]) con la idea de emular el resultado devuelto por regexp_matches() en plsql. la signatura de la función es esta:

regexp_python(text,text)  RETURNS text[]
-- Function: regexp_python(text, text)
 
-- DROP FUNCTION regexp_python(text, text);
 
CREATE OR REPLACE FUNCTION regexp_python(p_str text, p_ereg text)
  RETURNS TEXT[] AS
$BODY$import re
import string
m = re.search(p_ereg, p_str,re.I)
IF m IS None:
    RETURN None
ELSE:
    RETURN ('{"'+'","'.join([re.escape(x) FOR x IN m.groups('NULL')])+'"}').REPLACE('"NULL"','NULL')$BODY$
  LANGUAGE 'plpythonu' VOLATILE
  COST 100;
ALTER FUNCTION regexp_python(text, text) OWNER TO postgres;

Los arrays en PgSQL son serializados como una colección de datos entre llaves:
{‘text1′,’text2’}.

Gracias Milton y Daiana por investigar y aplicar todas estas cosas conmigo 😉

Convirtiendo de rm a mp3 usando ffmpeg

Posted on the abril 9th, 2009 under GNU/Linux,Probando herramientas by

En realidad se puede utilizar para convertir a cualquier formato que soporte ffmpeg. Lo cómodo es que no necesite un archivo fifo y pude hacerlo bastante sencillo y con una sola línea en la consola.

find ./ -iname *.rm -exec ffmpeg -i "{}" -acodec libmp3lame -aq 9 "{}.mp3" -y ';'

El comando find encuentra los archivos, y por cada uno ejecuta ffmpeg…. Los «{}» se reemplazan por el nombre del archivo.