Serie de 3 libros electrónicos sobre programación. El propio autor explica:
How do you build skills in programming? By doing a series of programming exercises that are focused on showing language features one at a time. These books build skills without asking you to assimilate too many technical concepts in a single sitting.
Esta receta es una introducción al uso de los programas libres dynamips y dynagen que nos permiten emular Cisco IOS. Las posibilidades son infinitas, aqui damos los pasos para poder empezar a trabajar de una forma básica.
Si alguna vez has querido aprender a configurar redes seguramente te has encontrado con un problema para encontrar entornos reales que te permitan aprender los comandos y configuraciones que se necesitan para echar a andar una red real.
Entre los equipos de mayor calidad nos podemos encontrar la gama de routers Cisco. Tener acceso a routers cisco para prácticar es díficil y caro. Afortunadamente existen dos programas que nos pueden simplificar la vida extraordinariamente. Dynamips y Dynagen son dos programas que te permiten configurar una red medianamente compleja y configurar cada uno de los routers presentes en dicha red mediante un emulador que carga una imagen real del sistema operativo de Cisco IOS, es decir, exactamente el mismo sistema operativo que se ejecuta en los equipos reales.
Las ventajas se ven de forma clara, la imagen que carga el dynamips es exactamente la misma que se ejecuta en un router real por lo que el realismo va mucho mas allá del que puedes conseguir con programas como el PacketTracer. PacketTracer es un programa (la licencia no es libre) que te permite modelar redes y configurarlas.
Instalación
Bueno, al tema, los programas dynamips y dynagen son paquetitos debian, asi que, simplemente, apt-get install dynamips y apt-get install dynagen.
En realidad el programa de emulación es dynamips que puede emular los modelos de routers 7200/3600/3725/3745/2600/1700 mientras que dynagen es un front-end basado en texto que te permite crear redes virtuales y trabajar con ellas.
Estos programas han sido creados para prácticar con la configuración de los routers pensando en las certificaciones CCNA/CCNP/CCIE.
Emulando redes virtuales
Una vez instalados, empezar a trabajar con ellos es sumamente sencillo, arrancas dynamips con las opciones que necesites, por ejemplo, en nuestro caso le indicamos que el puerto va a ser el 7200 :
A ese puerto se conectará dynagen para pasarle los parámetros de configuración de la simulación.
A continuación arrancamos dynagen indicandole el escenario que queremos crear. El paquete debian tiene unos cuantos ejemplos, veamos uno sencillito creado por nosotros:
La primera sección [ [ 7200 ] ] nos indica la configuración general de los routers, hay muchos parámetros pero el mas importante y que no puede faltar es la imagen, este parámetro determina la imagen del sistema operativo IOS que debe cargar. Aqui hay un problema, el sistema operativo Cisco IOS es privativo por lo que debemos obtener una imagen de algún sitio autorizado. Y aviso a navegantes YO NO PUEDODISTRIBUIRCISCOIOS por lo que tendrás que conseguirla por tus propios medios. (ACTUALIZACIÓN: Parece que hay gente que puede distribuirlas, mira al final de esta receta).
A continuación se definen dos routers [[ROUTER R1]] y [[ROUTER R2]] ambos con
el modelo 7200 (que debe coincidir con la imagen de sistema operativo que cargamos), el atributo model proporciona el modelo de router (7200 en nuestro caso) mientras que tambien debemos especificar las conexiones:
s1/0 = R2 S1/0
Esta sentencia nos indica que la linea serial del router R1 la conectamos a la linea serial S1/0 del router R2.
Si arrancamos el dynagen pasándole como argumento este archivo, que llamaremos simple.net, obtenemos una consola de texto:
La cantidad de opciones y configuraciones posibles son infinitas, lo mas básico para empezar a trabajar es observar los dispositivos que existen en la red con el comando list:
Arrancar los routers:
y obtener una consola para trabajar con los distintos routers:
Al ejecutar este comando deben aparecer dos consolas, cada una de ellas representa un router y puedes ver como carga la imagen del sistema operativo y podremos empezar a trabajar con comandos reales.
Para terminar varios consejos, dynamips y dynagen consumen muchos recursos, si quieres optimizar y que no consuma tanto mira la opción idle-pc.
Entre las características de dynagen te permite capturar paquetes en distintas interfaces de tu red virtual en el formato .cap que con posterioridad puedes visualizar con programas como wireshark.
Si quieres echarle un vistazo a las posibilidades de estos programas:
Esta receta explica cómo hacer un _major mode_ para facilitar la edición de un lenguaje de programación, incluyendo resalte de sintaxis e indentado automático.
La siguiente receta explica con un ejemplo como construir un analizador léxico con JFlex y un analizador sintáctico y semántico con CUP (obviamente para Java). Además, muestra el uso de producciones de error.
Requisitos
jflex - analizador léxico para Java
cup - analizador sintáctico/semántico LALR para Java
Construcción
El ejemplo consiste en un conversor de unidades métricas. Admitiría textos de entradas del siguiente tipo:
Entrada.txt
Km 1 mm;
dm 3 dm;
Hm 393 m;
Dm 54 cm, mm 3429 dm;
Km 23 Dm;
dm 322 cm, Hm 0923 mm;
y devuelve en consola:
1 Km son 1000000 mm;
3 dm son 3 dm;
393 Hm son 39300 m;
...
Un archivo flex tiene la siguiente estructura (cada sección se separa mediante %%) :
Código de usuario
Opciones y declaraciones
Reglas léxicas
Conversor.lex
En cuanto a un fichero CUP se pueden diferenciar cinco partes:
Especificaciones de “package” e “imports”.
Componentes de código de usuario.
Lista de símbolos de la gramática(terminalesno terminales).
Declaraciones de precedencia.
Especificación de la gramática.
Conversor.cup
Necesitas un fichero que cree un objeto parser y comience el análisis.
Main.java
La siguiente receta explica como construir un analizador léxico con Flex y un analizador sintáctico con Bison, utilizando C++. Además, incluye un pequeño Makefile para el enlazado de todos los archivos y un ejemplo mínimo de uso.
Hola... hoy me he encontrado por ahí una entrevista muy interesante sobre una buena mujer, Ana María Méndez, que por lo visto tenía una tiendecilla de informática y la SGAE la tomó con ella (como con muchas otras). La mujer decidió plantar cara y acabó fundando APEMIT. La entrevista es un poco larga pero tiene cosas muy muy interesantes, de las cuales sólo pondré lo siguiente (que curiosamente no tiene que ver con la SGAE):
Cómo conectar a Internet por medio de un teléfono 3G en un sistema GNU/Linux
Introducción
Explicaré como he conseguido conectarme a internet desde mi Debian. En concreto yo me he conectado a través del operador Simyo, que ofrece una tarifa de internet móvil de lo mas competitivo que he visto (perdón si ha parecido que hago publicidad, pero me ha parecido un "chollo" y tengo que compartilo con vosotros :-D).
Ingredientes
Ésto es lo que yo he utilizado:
Teléfono libre con tecnología 3G (yo en concreto he utilizado un Nokia 6630)
Una tarjeta Simyo
wvdial
También supondremos que tenemos tanto una conexión bluetooth establecida con nuestro teléfono en /dev/rfcomm0 como una conexión USB en /dev/ttyACM0.
Configuración de wvdial
La conexión la estableceremos a través de wvdial. Para ello deberemos crear un archivo llamado .wvdialrc con el siguiente contenido:
Supongo que muchos de vosotros conoceréis libparted, la librería que hay debajo de los programas de particionado típicos de GNU. Muchos de vosotros conocéis también Python, si juntamos estas dos cosas tenemos que hacer programitas que manejen el particionado del disco va a estar al alcance de cualquiera. Llegados a este punto, no sobra decir que: NO me responsabilizo de los daños que pueda causar el uso de esta receta, yo lo he probado con un disco flash y me ha funcionado sin problemas. Quien quiera garantías... que las pague :P.
Leemos en engadget que el nuevo sistema antipiratería del Vista SP1 NO va a inutilizar las copias piratas que detecte, en lugar de eso sólo mostrará mensajes una y otra vez por pantalla dando el coñazo. Por lo visto que el motivo es que "han tomado esta decisión tomando en consideración las opiniones de los usuarios" según Alex Kochis, jefe del producto WGA (protección anti-piratería)... o lo que viene a ser lo mismo: los usuarios de Windows Vista son unos piratas.