Artículos de la fecha Agosto 2008 ↓

iChm

Logo de iChmMe gusta tener los libros además de en papel (solo los realmente buenos) en formato electrónico, sobre todo para poder consultar rápidamente y tener a mano toda o casi toda mi biblioteca, concretamente cuando me muevo con mi portátil.

El formato de libro electrónico de facto es el PDF pero a mi no me acaba de gustar, es pesado (en KB) y cuando se juntan varios libros pueden ocupar realmente bastante, por eso siempre que puedo tengo los libros en formato CHM, que no es más que un archivo con ficheros HTML y PNG o JPG. No es fácil encontrar libros en este formato pero siempre que puedo elegir entre CHM o PDF me quedo con el primero.

Y para leer el formato CHM he usado varios programas (como pueden ser Chamonix, xchm y algún otro más) pero ahora mismo me quedo con iChm que parece ser el único que sigue evolucionando y mejorando.

iChm tiene las siguientes características:

  • Está realizado completamente en Cocoa, lo que se tona en rapidez
  • Tiene pestañas, con lo cual con una sola ventana podemos tener más de un libro abierto
  • Resultados de las búsquedas ordenadas por relevancia
  • Detecta el codificado del texto
  • Buscar en la página
  • Bookmarks con soporte de etiquetas (tags)
  • Zoom del texto
  • Versión para iPhone (descarga)

El programa es gratuito y podemos descargar el código fuente de Google Code.

La página oficial es http://www.robinlu.com/blog/ichm.

Última versión: 1.4 (11-11-2008)

iChm

CCNA: Recursos disponibles

Estoy preparándome para presentarme al examen de CCNA 640-802 y he recopilado algunos enlaces y recursos interesantes para documentarme y preparar el examen los cual he querido compartirlos:

Empecemos por los libros que creo que son indispensables, quizás no todos por el desembolso de dinero que ello conlleva pero si alguno:

  1. CCENT/CCNA ICND1 Official Exam Certification Guide (CCENT Exam 640-822 and CCNA Exam 640-802), 2nd Edition (enlace)
  2. CCNA ICND2 Official Exam Certification Guide (CCNA Exams 640-816 and 640-802), 2nd Edition (enlace)
  3. CCNA Portable Command Guide, 2nd Edition (enlace)
  4. Interconnecting Cisco Network Devices, Part 1 (ICND1): CCNA Exam 640-802 and ICND1 Exam 640-822, 2nd Edition (enlace)
  5. Interconnecting Cisco Network Devices, Part 2 (ICND2): (CCNA Exam 640-802 and ICND exam 640-816), 3rd Edition (enlace)
  6. CCNA Preparation Library, 7th Edition (enlace)
  7. CCNA Official Exam Certification Library (CCNA Exam 640-802), 3rd Edition (enlace)

Los más importantes son los 3 primeros y en concreto los 2 primeros que son del autor Wendell Odom un CCIE bastante reconocido y popular en varios blogs y más concretamente su blog. Los libros números 4 y 5 son los “oficiales” de Cisco para el CCNA 640-802.

Y ahora unos enlaces donde podemos encontrar más información sobre CCNA:

  1. Web de Cisco press para el CCNA (enlace)
  2. CCNA Prep Center (enlace)
  3. Web de Cisco sobre CCNA (enlace)
  4. Web del examen de CCNA 640-802 (enlace)

Y para prepararnos para el examen propiamente dicho realizando test:

  1. Pass4sure (enlace)
  2. Testking (enlace)
  3. ActualTest (enlace)
  4. ExamCollection (enlace)

Blogs y Foros con temática CCNA:

  1. CCNA Exam Questions Explained (enlace)
  2. Subnetting Questions (enlace)
  3. 7200emu.hacki.at (enlace)
  4. CCNA 2 Exploration: Routing Protocols and Concepts (Version 4.0) (enlace)
  5. Cisco Exploration 4.0 (enlace)
  6. CCNA Exploration Version 4.0 Exam Modules (enlace)
  7. Router Labs (no es específico de CCNA) (enlace)
  8. CCNA CERTIFICATION GUIDE (enlace)
  9. CCNA Live (enlace)

Herramientas, simuladores y demás utilidades:

  1. GNS3 (enlace)
  2. Dynamips (enlace)
  3. Dynagen (enlace)
  4. Bosom (enlace) (enlace)

Porticus (MacPorts GUI)

Logo de PorticusDepende de para que cosas no soy muy amigo de los GUI aunque muchas de las veces nos hacen la vida mucho más sencilla. Porticus es un GUI para MacPorts y aunque todavía le quedan muchas cosas por mejorar y depurar si que ayuda en muchas cosas como por ejemplo a encontrar un port, ver la versión instalada y la actual y variantes de compilación así como una descripción todo mucho más cómodo que la sintaxis de la shell.

Algunas cosas las esconde demasiado como por ejemplo “port selfupdate” y espero que poco a poco vayan añadiendo más opciones como poder ver el mode debug al compilar, ver dependencias de un paquete antes de instalarlo, etc, etc.

Lo primero que tenemos que hacer es: Self Updates y Reload Ports ambas opciones en el menú Ports. La primera lo que hace es actualizar la versión del propio programa MacPorts y además hace un sincronismo con los paquetes actualizando la lista localmente. El segundo lo que hace es leer los Ports instalados y actualiza la ventana mostrando los paquetes que tenemos instalados y los que tenemos sin actualizas (si tenemos alguno).

En la ventana nos indica por medio de colores los paquetes que tenemos instalados y los que tenemos desactualizados.

Para los más novatos o los que no se quieran complicar con la shell es una gran avance y creo que esta aplicación debería ser parte del propio MacPorts y que fueran de la mano ambas aplicaciones.

Última versión: 1.4.2 (4 de Octubre de 2008)

Página oficial: http://porticus.alittledrop.com/index.html

Porticus

Movist

Movist Logoweb oficial en Google Code dejó mucho que desear por lo simple y que apenas dice nada (como muchas otras de Google Code) y de que su blog oficial está en Japonés, pero una vez que lo pruebas ya no quieres saber de ningún otro reproductor de video en tu MAC.

Lo que me gusta de este reproductor de video es que con una sola aplicación puedo ver videos que antes necesitaba otro reproductor a parte de VLC, como por ejemplo para per QuickTime (.mov) o Windows Media Player (.wmv) ahora con Movist puedo ver todos esos formatos.

  • Tiene muchas opciones que apenas he probado, pero puedo destacar por ejemplo:
  • menús flotantes con interfaz HUD
  • soporte de Apple Remote (para el que lo tenga)
  • Estupenda gestión de subtítulos
  • Ventana flotante en pantalla completa

Forzar la lóngitud mínima de una contraseña en el IOS

Por defecto podemos poner cualquier contraseña en nuestro router incluso de un solo caracter o no poner nada, lo cual es un riesgo de seguridad el cual debemos evitar al máximo especialmente en entornos multiusuarios donde en un mismo router entran varios administradores.

Aunque lo recomendable es usar un sistema de autenticación remoto como puede ser Radius o Tacacs, siempre debemos tener al menos un usuario local y este debe tener una contraseña mínimamente segura y de una longitud también mínimo.

El IOS desde la verisón 12.3(1) incluye un comando que permite configurar la lógitud mínima de una contraseña. Este comando es: security passwords min-length. El único parámetro es la longitud mínima (de 0 a 16) de la contraseña:

Router(config)#security passwords min-length ?
  <0-16>  Minimum length of all user/enable passwords

Una vez configurada esta opción cuando intentamos introducir una contraseña que es inferior a lo configurado nos sale in aviso:

Router(config)#security passwords min-length 10
Router(config)#enable password cisco
% Password too short - must be at least 10 characters. Password configuration failed

Es una opción muy simple y que no nos asegura contraseñas complejas pero si al menos de una longitud mínima lo cual ya asegura un poco más nuestro router.

Juegos en perspectiva Isométrica

Este artículo quiero ir recopilando información sobre juegos en Perspectiva isométrica que tanto me gusta. Iré añadiendo juegos según vaya encontrandolos y haré artículos separados por cada uno de los juegos que lo merezcan (siempre a mi “buen” juicio). Por lo tanto este artículo no es más que un listado de nombres de juegos y enlaces relativos al mismo.

No tenía muy claro en que orden poner el listado, si por fecha o por interés mio, así que he decidido hacerlo por fecha y los que no sepa al final (agradeceré cualquier corrección de datos erróneos o ampliación de los mismos).

Otros listados:

  • Listado de Juegos en perspectiva isométrica en la Wikipedia (enlace).
  • Listado de Juegos en perspectiva isométrica en World Of Spectrum (enlace).
  • Listado de Juegos en perspectiva isométrica (enlace).
  • Isomot, librería libre enlace).
  • Como hacer juegos en perspectiva isométrica en Python (enlace).
  • IsoEngine, librería comercial (windows) (enlace).

NOTA: sé que la lista está incompleta, la iré completando poco a poco.

Head Over Heels para OSX

Caratula Head Over HeelsHoy vuelvo a otro fantástico remake de un legendario juego de Spectrum Head Over Heels publicado por Ocean y programado por Jon Ritman y Bernie Drummond en el año 1987, el mismo autor que hiciera Batman también isométrico y que ya hablñe. Fué una gran revolución en la técnica filmation ya que en los reducidos 48 KB del Spectrum el juego dispone de unas 302 pantallas unos increíbles gráficos y una adicción terrible. Otra de sus novedades es que manejamos a 2 personajes que por separado tienen unas habilidades independientes y juntos otras.

El remake es excelente incluso diría yo (si se me permite) mejor que el original y hay versiones para OSX, Linux, BeOS y Windows aunque NO hay código fuente una pena porque seguro que muchos aprenderíamos bastante.

Aquí os dejos enlaces interesantes como siempre:

  • La página de WikiPedia (enlace)
  • La página de World Of Spectrum (enlace), donde podemos descargar el juego original y demás información.
  • La página del remake (enlace)
  • Otro remake hecho por españoles (enlace) y usando la librería Isomot.
  • Jugar online a la versión de Spectrum original, emulación java (enlace).
  • Screenshots del remake (enlace)

Head Over Heels

Head Over Heels

Head Over Heels

Alien 8 para OSX

Caratula de Alien 8Alien 8, para los que lo conozcáis no puedo decir nada que no sepais, para los que no pues deciros que es uno de los juegos de Spectrum más famosos y de más éxito. Fué lanzado allá por 1985 (nada menos que 23 años) por la empresa Ultimate Play The Game de los hermanos Stamper.

Es el segundo juego en perspectiva isométrica realizado para Spectrum cuya técnica causó furor en la época por ser la primera en hacer un 3D muy bueno (tengo que recordar a Ant Attack que es anterior).

La versión de Spectrum no está libremente disponible porque le empresa sigue vendiendo el juego y se reserva su derecho y ha prohibido explicitamente publicar el juego (o cualquiera de sus juegos) en ninguna web (aunque seguro que lo podéis consegui de algún sitio).
Pantalla de carga de Alien 8
Aunque el motivo de este artículo es el remake de este juego y más concretamente la versión para OSX, especialmente comentando que está disponible el código fuente para aquellos que quieran ver como está hecho y/o quieran aprender.

El remake está realizado por Ignacio Perez Gil (un saludo para Ignacio) usando la librería Isomot (librería de la que volveré a hablar en futuros artículos) desarrollada por él mismo.

El remake os lo podéis descargar de aquí en versiones OSX y Windows así como el código fuente.

Os dejo unos enlaces de interés:

  • Información de World of Spectrum (enlace)
  • Mapa de Alien 8 publicado en la revista Microhobby (enlace)
  • Mapa de Alien 8 (enlace)
  • Mapa de Alien 8 a base de pantallas (enlace)
  • Mapa de Alien 8 en 2D y Blanco y negro (enlace)

Pantalla de Alien 8

Pantalla remake de Alien 8

Formato del nombre de los ficheros IOS

Los ficheros de IOS tienen un formato concreto donde indica plataforma, características, formato y si está o no comprimido. El formato del nombre es como esto:

xxxx-yyy-ww.aaa-bb.bin

1. xxxx es la platforma o hardware:

  • c1005 – Para Hardware 1005
  • c1600 – Para Hardware 1600
  • c1700 – Para Hardware 1700, 1720, y 1750
  • c2500 – Para Hardware 25xx, 3xxx, 5100, y AO (solo para 11.2 y posteriores)
  • c2600 – Para Hardware 2600
  • c2800 – Para Hardware Catalyst 2800
  • c2900 – Para Hardware 2910 y 2950
  • c3620 – Para Hardware 3620
  • c3640 – Para Hardware 3640
  • c4000 – Para Hardware 4000 (solo para 11.2 y posteriores)
  • c4500 – Para Hardware 4500 y 4700

2. yyy indica las características soportadas:

  • b - Para soporte de Apple talk
  • c - Para CommServer lite (CiscoPro)
  • g - Para subconjunto de ISDN (SNMP, IP, Bridging, ISDN, PPP, IPX, y AppleTalk)
  • i  - Para subconjunto de IP (SNMP, IP, Bridging, WAN, Remote Node y Terminal Services)
  • n  - Para soporte de IPX
  • q  - Para soporte asíncrono
  • t - Para soporte de Telco (12.0)
  • y - Para soporte reducido de IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, ISDN y PPP) (c1003 or c1004)
  • z - Para modems gestionados
  • 40 - Para cifrado de 40 bit
  • 50 - Para cifrado de 50 bit

3. ww indica el formato (donde ejecuta el router el fichero de IOS)

  • f - Para flash
  • m - Para RAM
  • r - Para ROM
  • l - La imagen será re ubicada en tiempo de ejecución

El fichero puede también estar comprimido. Las siguientes letras indican el tipo de compresión:

  • z  - Compresión zip
  • x - Compresión mzip
  • w  - Compresión “STAC”

aaa-bb representa la versión de la IOS:

  • se debe interpretar “Version aa.a(bb)”.

La última parte del fichero de la IOS puede contener letras como pueden ser:

  • T - que indica nueva característica en esta versión.
  • S - que indica número de verisón individual.
  • XR - Que indica paquetes modulares.

Obteniendo ayuda en JunOS

Seguimos con otro interesante post de Jeff Doyle sobre JunOS (ver original).

He hablado en el artículo anterior (original) cómo las configuraciones candidatas, aplicar los cambios de forma explícita, y rollbacks aumentan la fiabilidad de los cambios de configuración en JUNOS y reducen el riesgo de cometer errores de configuración. Si hay un error que se pueda hacer, es probable que se cometa (Murphy).

Otra característica interesante para los mecanógrafos klutzy (algo así como patanes) como yo es que en lugar de esperar hasta que se pulse Enter al final de una declaración de configuración para comprobar errores de sintaxis, JunOS comprueba la sintaxis palabra por palabra, es decir, cada vez que se teclea en una palabra en una línea y se pulsa la barra espaciadora, se comprueba la sintaxis.

También permite, como el IOS, escribir el número mínimo de letras de un comando que se identifican de forma única. Por ejemplo, si quieres ver en la tabla de enrutamiento unicast en IOS puedes escribir:

sh ip rou

IOS entenderá esto como:

show ip route

JunOS hace lo mismo, con excepción de que cada vez que se pulsa la barra espaciadora, además de comprobar de inmediato la sintaxis, completa el comando. Así por ejemplo, el comando equivalente de JunOS para mostrar la tabla de enrutamiento unicast es la siguiente:

show route

Puedo escribir sh, y tan pronto como pulso la barra espaciadora aparece show. Entonces tecleo rou, y cuando pulso la barra espaciadora muestra route.

En el siguiente ejemplo, estoy en modo configuración. Quiero hacer un cambio en la configuración del chasis, por lo que escribo:

[edit]

jeff@Juniper5# set cha

cuando pulso la barra espaciadora el comando se completa:

[edit]
jeff@Juniper5# set chassis

Si pulso enter en este punto, JunOS me dice que no tiene suficiente información:

[edit]
jeff@Juniper5# set chassis
                           ^
missing argument.

Esto es casi el mismo comportamiento que IOS muestra cuando la línea de comandos está incompleta. Y como con IOS, el signo de interrogación (?) en JunOS es su principal herramienta de referencia:

[edit]
jeff@Juniper5# set chassis ?
Possible completions:
> alarm               Global alarm settings
+ apply-groups        Groups from which to inherit configuration data
+ apply-groups-except Don't inherit configuration data from these groups
> config-button       Config button behavior settings
  craft-lockout       Disable craft interface input
> fpc                 Flexible PIC Concentrator parameters
> routing-engine      Routing Engine settings
[edit]
jeff@Juniper5# set chassis

Tener en cuenta que al final de los posibles parametros, la línea de comando que estaba escrita se teclea de nuevo, lista para elegir la siguiente palabra en la línea. Añado “c” como una abreviatura de la siguiente palabra, pero JunOS se queja cuando pulso la barra espaciadora, porque “c” podría representar varias palabras; JunOS no sabe lo que quiero, y me dice que posibles palabras son las siguientes:

[edit]
jeff@Juniper5# set chassis c
                            ^
'c' is ambiguous.
Possible completions:
> config-button        Config button behavior settings
  craft-lockout        Disable craft interface input
jeff@Juniper5# set chassis c

Bien, quiero el comando craft-lockout. pero lo tecleo mal:

jeff@Juniper5# set chassis crof
                           ^
syntax error.
jeff@Juniper5# set chassis crof

Pero ahora tengo un momento de duda. La breve lista de opciones dice que este comando deshabilita la interfaz de entrada de craft. ¿Qué significa eso? ¿Es eso lo que realmente quiero hacer? Necesito ayuda. Resulta que help es un comando muy útil.

Si yo tecleo help reference y especifico el comando que deseo utilizar, se muestra una breve referencia:

[edit]
jeff@Juniper5# help reference chassis craft-lockout
craft-lockout

Syntax

   craft-lockout;

Hierarchy Level

   [edit chassis]

Release Information

   Statement introduced in JUNOS Release 8.1.

Description

   Disable the physical operation of the craft interface front panel.

Usage Guidelines

   See "Disabling Physical Operation of the Craft Interface".

Required Privilege Level

   interface--To view this statement in the configuration.
   interface-control--To add this statement to the configuration.

[edit]
jeff@Juniper5#

Esto me dice sobre el uso, pero realmente quiero más de una explicación de lo que significa. Puedo conseguir más mediante el uso de help topic:

[edit]
jeff@Juniper5# help topic chassis craft-lockout
              Disabling Physical Operation of the Craft Interface

You can disable the physical operation of the craft interface front panel
on the routing platform. When you disable the operation of the craft
interface, the buttons on the front panel, such as the alarm cutoff
button, no longer function. To disable the craft interface operation,
include the craft-lockout statement at the [edit chassis] hierarchy level:
  [edit chassis]
      craft-lockout;
For more information about how to configure the craft interface, see
Configuring Conditions That Trigger Alarms.

[edit]
jeff@Juniper5#

Eso me dice todo lo que necesito saber acerca de la configuración de la función craft-lockout del chasis. Pero ¿ Si lo que quiero saber es algo más general sobre la palabra clave chasis ? Para esto, puedo utilizar help apropos, que me dice de todos los diferentes contextos en virtud de la cual puedo referirme a chasis:

[edit]
jeff@Juniper5# help apropos chassis
set system location lcc
    Line-card chassis location
set system processes chassis-control
  Chassis control process
set system processes chassis-control disable
  Disable chassis control process
set system processes chassis-control failover
  How to handle failure of chassis control process
set chassis
  Chassis configuration
set chassis fpc  pic  shdsl
  SHDSL chassis configuration
set chassis disable-power-management
  Disable Power Management in this chassis
set chassis network-services
  Chassis network services configuration
set chassis lcc
  Line-card chassis configuration
set chassis lcc  fpc  pic  shdsl
  SHDSL chassis configuration
set snmp trap-group  categories chassis
  Chassis or environment notifications
set class-of-service interfaces  scheduler-map-chassis
  Scheduler map applied to chassis queues (not PIC queues)
set class-of-service traceoptions flag hardware-database
  Trace chassis hardware database related processing

[edit]
jeff@Juniper5#

El comando help apropos sólo muestra los contextos que son relevantes para el nivel de la jerarquía de configuración en que te encuentras actualmente. Si tecleara help apropos interfaz en la parte superior [top], vería una lista muy larga de cada contexto en el que puedo establecer una opción de interfaz. En el siguiente ejemplo, paso al nivel de configuración en la que puedo configurar el área 0 de OSPF. Tecleando help apropos interfaz a ese nivel sólo muestra los contextos en los que puedo configurar una interfaz para el área 0 de OSPF:

[edit]
jeff@Juniper5# edit protocols ospf area 0 

[edit protocols ospf area 0.0.0.0]
jeff@Juniper5# help apropos interface
set virtual-link neighbor-id  transit-area
 demand-circuit
 Interface functions as a demand circuit
set sham-link-remote
demand-circuit Interface functions as a demand circuit set interface Include an interface in this area set interface Interface name set interface disable Disable OSPF on this interface set interface interface-type Type of interface set interface metric Interface metric set interface demand-circuit Interface functions as a demand circuit set interface dynamic-neighbors Learn neighbors dynamically on a p2mp interface set interface poll-interval Poll interval for NBMA interfaces set label-switched-path metric Interface metric set peer-interface Configuration for peer interface set peer-interface Name of peer interface set peer-interface demand-circuit Interface functions as a demand circuit [edit protocols ospf area 0.0.0.0] jeff@Juniper5#

Si tengo al menos una idea general de lo que quiero lograr, puedo usar el signo de interrogación (?) y el comando help para hacer cambios en la configuración del JunOS, sin tener que ir a los manuales - un conjunto abreviado de los manuales están disponibles para el CLI .