January 26

GCCgo estará en la rama oficial de GCC

Written by Roberto Costumero Moreno at 26/01/2010 11:34 in Informática.

El comité de desarrollo de GCC ha comunicado hoy que ha aceptado la contribución del front-end de gccgo, el compilador de Go basado en el famoso compilador de C, GCC.

Ian Taylor, trabajador de Google y uno de los desarrolladores principales del nuevo lenguaje, será el responsable del desarrollo e integración de dicho front-end con la rama oficial de GCC.

Esto implica, que al igual que otros muchos lenguajes como ADA, Fortran, etc. Go podrá pasar a formar parte de la distribución oficial de GCC y funcionará con sólo integrar las librerías del lenguaje. Pronto se discutirá la posible inclusión de dicho front-end en la versión 4.5 del compilador.

Para más información visitad: http://permalink.gmane.org/gmane.comp.gcc.devel/111603

January 11

Facultad cerrada

Written by Jose Ignacio Galarza at 11/01/2010 10:52 in General.

Debido a las dificultades de acceso al Campus se suspenden las actividades docentes en el día de hoy, 11 de enero

Noticia anunciada en la página web de la FI

December 19

Rooted CON

Written by Guillermo Ramos at 19/12/2009 03:49 in Otros eventos.

Los días 18, 19 y 20 de marzo (2010) va a tener lugar la Rooted CON, un congreso de seguridad informática sin ánimo de lucro que pretende reunir todo tipo de personas interesadas en el tema, desde aficionados a la seguridad hasta profesores, técnicos, consultores...
Este congreso pretende ser la referencia española en material de seguridad, y una de las importantes a nivel internacional, con el objetivo de impulsar el conocimiento avanzado en esta materia.

El precio de reserva de la entrada varía según se acerca la fecha del evento, y ofrece descuento por ser estudiante. Para los tres días de estancia los precios son (según fecha de reserva):

  • Diciembre 2009: 50€ (25€ para estudiantes)
  • Enero 2010: 75€ (40€ para estudiantes)
  • Febrero 2010: 100€ (55€ para estudiantes)
  • A partir de marzo 2010: 140€ (80€ para estudiantes)

También se van a impartir cursos avanzados previos a la Rooted CON (RootedLabs), aunque no están incluidos en el precio de la entrada. Cada uno cuesta 232€, incluyendo desayuno y comida, y dura un día entero (unas 8 horas de curso). Las plazas están limitadas a 12, aunque tres de ellos (Técnicas de Inyección en Aplicaciones Web, Pentesting y Reverse Engineering) tendrán doble sesión (actualización 28/12/09):

Lunes, 15 de Marzo

  • Reverse Engineering - Rubén Santamarta (48bits)
  • Digital Forensics - Juan Garrido "silverhack" (informática 64)
  • Técnicas de Inyección en Aplicaciones Web - Chema Alonso (informática 64)

Martes, 16 de Marzo

  • Malware Analysis - Ero Carrera (Hispasec Sistemas)
  • Secure Enterprise WiFi Networks - Alejandro Martín (informática 64)
  • Pentesting - Alejandro Ramos "dab" (SecurityByDefault)

Miércoles, 17 de Marzo

  • Pentesting - Alejandro Ramos "dab" (SecurityByDefault)
  • Técnicas de Inyección en Aplicaciones Web - Chema Alonso (informática 64)
  • Reverse Engineering - Rubén Santamarta (48bits)

Desde ACM creemos que este congreso puede ser muy interesante para aprender, conocer gente y pasarlo bien, y por ello os animamos a todos a participar en él.


Página oficial Rooted CON:
http://www.rootedcon.es/

Rooted Labs:
https://sites.google.com/a/rootedcon.es/rootedlabs/
http://www.rootedcon.es/2009/12/acciones-formativas-rootedlabs.html

November 20

Go, el nuevo lenguaje de programación de Google

Written by Roberto Costumero Moreno at 20/11/2009 11:50 in Informática.

Hace poco más de una semana Google presentaba su concepto de lenguaje de programación, con la presentación de Go, un lenguaje open source, con lo que todo el mundo puede colaborar en su desarrollo.

Go es un lenguaje basado en la sintaxis de C y está orientado a la programación de sistemas, aunque ya mucha gente ha demostrado que puede servir para infinidad de cosas más.

Entre las características del lenguaje, cabe destacar las siguientes:

  • Posee 2 compiladores distintos: 6g / 8g (versiones para 64 y 32 bits respectivamente), que es el compilador propiamente dicho de Go y que compilan de forma extremadamente rápida; y GccGo, un compilador de Go basado en GCC, que no es tan rápido como los anteriores, pero dicen que genera un "mejor" código.

  • Tiene un recolector de basura automático (Garbage Colector o GC), que se ocupa de ir liberando la memoria a medida que se dejan de usar las estructuras de datos creadas, liberando al programador de dicha tarea, al igual que Java.

  • Actualmente sólo existen versiones de los compiladores para Linux y Mac OS X, aunque se tiene en consideración el realizar una versión de los mismos para Windows y ya se está intentando portar para su uso, al menos, con cygwin.

  • Es un lenguaje concurrente y como tal, otorga una gran cantidad de funciones y facilidades al programador para realizar programas concurrentes.

  • Tiene punteros como C, aunque se le ha eliminado toda la aritmética de punteros, para simplificarlo.

  • Es un lenguaje de tipado fuerte, lo que quiere decir que el compilador se quejará si en algún momento intentamos cambiar el tipo a una variable.

  • Permite codificación UTF-8 para las cadenas.

A continuación os dejo la estructura del típico programa "Hello World", para este lenguaje:

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
    fmt.Printf("Hello, World\n")
}

Se puede observar cómo la sintaxis es muy similar a la de C.

Podéis consultar un pequeño vídeo de presentación del lenguaje

Y no os olvidéis de pasar por la página oficial para más información: http://golang.org

¡Seguid atentos a las noticias que os proporcionamos desde ACM y recargad las pilas que en el 2º cuatrimestre os espera un curso de este nuevo lenguaje!

November 19

VIM: Guía de supervivencia

Written by Álvaro José Aragoneses at 19/11/2009 10:27 in Tutorial.

Muchos de los recién llegados al mundo de GNU/Linux se encuentran en la tesitura de tener que configurar determinados archivos del sistema sin disponer de una interfaz gráfica que les facilite el proceso. A otros, por contra, se les pide realizar programas en un determinado lenguaje de programación (por ejemplo C/C++) y utilizar las herramientas de las que dispone el SO para compilar y/o depurar dicho programa.

Estos son dos de los muchos ejemplos en los que se nos hace imprescindible el manejo fluido de un editor de texto, y en este pequeño tutorial quiero mostrar uno de los más potentes que existen dentro del entorno de GNU/Linux: VIM.

Manejar VIM es mucho más fácil de lo que parece, y a la larga, sorprende el numero de posibilidades que ofrece en contra de otros editores, como pico/nano, kate o gedit (estos dos últimos con GUI), por ejemplo. Tal vez el único problema frente a estos es que su uso no es tan intuitivo, debiendo conocer al menos unos pocos comandos básicos para poder comenzar a escribir. Vamos a ver poco a poco como dar nuestros primeros pasos en VIM. Para empezar, arranquemos una consola y escribamos el comando:

1
vim archivo

donde archivo sea un archivo que exista o, más útil para este ejemplo, uno que deseemos crear, por ejemplo, holamundo.c. Siguiendo el ejemplo, sería:

1
vim holamundo.c

Fácil, ¿verdad?

Al pulsar intro, nos aparecerá una pantalla en blanco, con el símbolo ~ en cada linea como primer carácter. Esta es la pantalla principal, así que podríamos escribir ya en ella. ¿o no?

Una de las muchas cosas que distinguen a VIM del resto de editores de texto es que tiene varios modos, cada uno con sus funcionalidades bien definidas. En este caso, al iniciar el editor nos pondrá en modo Comando, desde el que no podremos escribir, pero si realizar otras muchas acciones. Y para realizar estas acciones, nada tan sencillo como introducirlas y pulsar intro. vamos a ver algunos de estos comandos:

:q -> Salir

:q! -> Forzar la salida

:w -> Guardar los cambios

:wq -> Guardar y salir

:sh -> Acceder a una shell de bash, de la que saldremos tecleando exit, lo que nos retornará a la pantalla de VIM.

:! [comando] -> Ejecuta en la shell bash el comando especificado, nos muestra su resultado y nos pide que pulsemos intro para retornar a VIM

:make -> Ejecuta el programa make

u -> Deshacer

Ctrl + r -> Rehacer

/[cadena] -> Busca la cadena especificada

:vsplit [archivo] -> Parte la pantalla verticalmente, permitiendo editar otro fichero

Existen muchísimos más comandos, pero estos son los esenciales para manejarnos al menos al principio. Sin embargo, aun no hemos escrito nada. Para ello tan sencillo como pasar al modo de escritura pulsando la letra i

Ahora si, podemos escribir lo que queramos en nuestro archivo; siguiendo nuestro ejemplo, escribiríamos el código de nuestro programa holamundo.c, y al terminar, pulsaríamos Esc para volver al modo de comando. Una vez editado nuestro archivo, podríamos salvarlo, salir sin guardar los cambios (utilizando :q! ) etc. Sin embargo, aun nos podría interesar otro modo, el modo visual. Este modo, al que accederemos desde el modo de comando usando la letra v, es el que nos permite seleccionar texto y hacer operaciones con él, como cortarlo, copiarlo y pegarlo. Para ello, nos posicionamos (en el modo comando) con el cursor en la primera letra de la linea o lineas que queramos copiar/cortar, pulsamos v, avanzamos el cursor hasta donde nos plazca y introducimos alguno de los siguientes comandos:

d -> corta el texto seleccionado

y -> copia el texto seleccionado

p -> pega el texto seleccionado copiado o cortado anteriormente a partir de la posición del cursor.

Como podéis ver, el manejo es bastante fácil, y desde aquí os animo a todos a seguir investigando en las funcionalidades de VIM, descubriendo más modos y comandos que podáis utilizar.

Solo queda despedirme y desear que ésta pequeña guía de supervivencia os haya sido útil.

¡Un abrazo a todos y nos vemos por ACM!


Creative Commons License