Escrito por The Evangelist el 21 de Agosto de 2008 y etiquetado como: Aplicaciones, MacPorts, OSX
Depende 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

Escrito por The Evangelist el 11 de Enero de 2008 y etiquetado como: Dynamips, MacPorts, Networking, OSX
En este artículo voy a mostrar como compilar Dynamip para Mac (tanto intel como PowerPC, ambas requieren MacPorts instalado) y para Linux Debian, pero es bastante sencillo compilar para cualquier otra plataforma y hay mucha documentación en internet.
Compilar para Mac OSX (Vía MacPorts):
Es lo más sencillo y cómodo ya que todo lo han hecho ya los chicos de MacPorts (gracias):
sudo port install dynamips
Compilar para Mac OSX (Power PC):
Primero creamos un directorio temporal:
mkdir dynamips
cd dynamips
Instalamos las librerías necesarias:
sudo port install libpcap
sudo port install libelf
y descargamos el source de dynamips (en este ejemplo la versión 0.2.8-RC2) y lo descomprimimos:
wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2.tar.gz
tar xvfz dynamips-0.2.8-RC2.tar.gz
cd dynamips-0.2.8-RC2
Para poder compilar en PowerPC hay que realizar algunos cambios en el Makefile, aquí tenéis el patch:
--- dynamips-0.2.8-RC2/Makefile 2007-10-14 10:43:07.000000000 +0200
+++ Makefile 2008-01-11 01:03:01.000000000 +0100
@@ -3,7 +3,8 @@
# Replace x86 by amd64 for a build on x86_64.
# Use "nojit" for architectures that are not x86 or x86_64.
-DYNAMIPS_ARCH?=x86
+# DYNAMIPS_ARCH?=x86
+DYNAMIPS_ARCH?=nojit
# Change this to 0 if your system doesn't support RFC 2553 extensions
HAS_RFC2553?=1
@@ -62,8 +63,10 @@
DESTDIR=/usr
else
ifeq ($(shell uname -s), Darwin)
- CFLAGS+=-I/usr/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64
- LIBS=-L/usr/local/lib -L. -ldl -lelf -lpthread
+ LOCALBASE?=/opt/local
+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf \
+ -I/usr/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64
+ LIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L. -ldl -lelf -lpthread
else
ifeq ($(shell uname -s), SunOS)
CFLAGS+=-I/usr/local/include -DINADDR_NONE=0xFFFFFFFF \
Una vez aplicado el patch al Makefile (o si lo prefieres descargalo Makefile ) podemos proceder a compilar:
make
Saldrán muchos warnings que realmente no sé que significan ni si es correcto ignorarlos, pero a pesar de todo el programa funciona de forma correcta.
Ya solo queda pasarle el comando strip para reducir el tamaño del ejecutable y ponerle permisos de ejecución.
strip dynamips
chmod +x dynamips
Compilar para Linux (Debian):
Primero creamos un directorio temporal:
mkdir dynamips
cd dynamips
Instalamos las librerías necesarias:
apt-get install libpcap0.8 libpcap0.8-dev
apt-get install libelf1 libelf-dev
apt-get install debhelper
y descargamos el source de dynamips (en este ejemplo la versión 0.2.8-RC2) y lo descomprimimos:
wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2.tar.gz
tar xvfz dynamips-0.2.8-RC2.tar.gz
cd dynamips-0.2.8-RC2
Como dynamips viene preparado para construir un paquete .DEB, procedemos a realizar dicho paquete (a mi me hizo falta hace el chmod aunque no está de más hacerlo):
chmod +x debian/rules
dpkg-buildpackage
La versión que nos genera es la 0.2.8-RC2 pero como los fichero Debian no han sido modificados el fichero resultante tendrá como versión 0.2.6-RC2, es solo el nombre del fichero .DEB. También posiblemente nos dé algún warning, especialmente del fichero .DSC que podemos ignorar.
Para que el fichero nos indique la versión correcta debemos editar antes de compilar los 2 sigueintes fichero y poner la versión correcta:
vim debian/files
vim debian/changelog
Ya solo queda instalar (o actualizar) el paquete como otro cualquiera
cd ..
dpkg -i dynamips_0.2.8-RC2-1_i386.deb
Escrito por The Evangelist el 26 de Junio de 2008 y etiquetado como: Aplicaciones, Graficos, MacPorts, OSX
Los que no nos dedicamos a los gráficos algunas veces nos peleamos (por desconocimiento o porque lo usamos muy de vez en cuando) para poder extraer, convertir o hacer un icono ya sea para una web o para una aplicación o un directorio. A continuación voy a explicar algunos trucos para manejar iconos:
Extraer un icono (icns) de una aplicación o directorio:
La aplicación Iconverter a pesar de que su nombre nos indica que convierte también simplemente extrae iconos de cualquier aplicación, carpeta o fichero en OSX. Simplemente arrastramos encima de la aplicación y luego elegimos donde y con que formato queremos extraer el icono. Generalmente uso esta aplicación para extraer un icono de una aplicación o carpeta para luego usar el icns en otro sitio o para colocarlo en un artículo aunque para esto exporto en PNG.
Para descargar esta aplicación gratuita: http://www.students.niu.edu/~z110241/index.html

Convertir un ICNS en otro formato (por ejemplo PNG):
Aunque la aplicación anterior lo hace perfectamente simplemente arrastrando el ICNS y eligiendo el formato que queramos (PNG por ejemplo) hay una aplicaición de shell en OSX llamada SIPS que lo hace perfectamente y que a veces nos puede interesar para procesar varios ficheros o para hacerlo vía script. Un ejemplo para convertir un ICNS en PNG:
sips -s format png /camino/icono.icns --out /camino/imagen_convertida.png
Esta aplicación soporta diferentes formatos y opciones las cuales podemos consultar en su manual a través de: man sips, sips -h o sips -H.
Para convertir formatos gráficos a´si como escalar, rotar e infinidad de opciones más suelo usar la aplicación ImageMagick (se puede instalar usando MacPorts) pero ésta NO soporta ICNS una verdadera lástima.
Crear o editar iconos (diferentes formatos):
Una vez tengamos nuestro icono y queramos editarlo para modificarlo o simplemente queramos crear uno desde cero podemos usar esta aplicación muy simple (y ahora gratuita) llamada Iconographer. Con esta aplicación podemos editar tanto ICNS (OSX) como ICO (Windows, por ejemplo para crear el favicon.ico de las webs). Es un editor muy simple con algunas opciones y utilidades que hace su cometido, evidentemente no es Photoshop ni lo pretende.
Para descargar esta aplicación gratuita: http://www.mscape.com/

Escrito por The Evangelist el 29 de Junio de 2008 y etiquetado como: Aplicaciones, MacPorts, OSX, Shell
MacPorts es una iniciativo de la comunidad de código abierto para diseñar un sistema sencillo y simple de compilar, instalar y actualizar aplicación que no hay nativas para OSX pero si en código abierto. Hay miles (más de 4000) de aplicaciones portadas a OSX listas para compilar e instalar.
La página oficial: http://www.macports.org/
Escrito por The Evangelist el 1 de Julio de 2008 y etiquetado como: Aplicaciones, MacPorts, Networking, Shell
Calculadora de subredes que funciona en consola, NO tiene entorno gráfico. Calcula todo tipo de redes y da información detallada.
Podemos compilar el source o mejor aún podemos instalar el port de MacPorts, por tanto requiere tener instalado MacPorts para esta segunda opción.
Página oficial: http://www.routemeister.net/projects/sipcalc/
Para instalar la aplicación:
$ sudo port install sipcalc
Ejemplo:
$ sipcalc 10.20.30.33/26
-[ipv4 : 10.20.30.33/26] - 0
[CIDR]
Host address - 10.20.30.33
Host address (decimal) - 169090593
Host address (hex) - A141E21
Network address - 10.20.30.0
Network mask - 255.255.255.192
Network mask (bits) - 26
Network mask (hex) - FFFFFFC0
Broadcast address - 10.20.30.63
Cisco wildcard - 0.0.0.63
Addresses in network - 64
Network range - 10.20.30.0 - 10.20.30.63
Usable range - 10.20.30.1 - 10.20.30.62
-
Ayuda y parámetros:
Usage: sipcalc [OPTIONS]... <[ADDRESS]... [INTERFACE]... | [-]>
Global options:
-a, --all All possible information.
-d, --resolve Enable name resolution.
-h, --help Display this help.
-I, --addr-int=INT Added an interface.
-n, --subnets=NUM Display NUM extra subnets (starting from
the current subnet). Will display all subnets
in the current /24 if NUM is 0.
-u, --split-verbose Verbose split.
-v, --version Version information.
-4, --addr-ipv4=ADDR Add an ipv4 address.
-6, --addr-ipv6=ADDR Add an ipv6 address.
IPv4 options:
-b, --cidr-bitmap CIDR bitmap.
-c, --classfull-addr Classfull address information.
-i, --cidr-addr CIDR address information. (default)
-s, --v4split=MASK Split the current network into subnets
of MASK size.
-w, --wildcard Display information for a wildcard
(inverse mask).
-x, --classfull-bitmap Classfull bitmap.
IPv6 options:
-e, --v4inv6 IPv4 compatible IPv6 information.
-r, --v6rev IPv6 reverse DNS output.
-S, --v6split=MASK Split the current network into subnets
of MASK size.
-t, --v6-standard Standard IPv6. (default)
Address must be in the "standard" dotted quad format.
Netmask can be given in three different ways:
- Number of bits [/nn]
- Dotted quad [nnn.nnn.nnn.nnn]
- Hex [0xnnnnnnnn | nnnnnnnn]
Interface must be a valid network interface on the system.
If this options is used an attempt will be made to gain the address
and netmask from the specified interface.
Replacing address/interface with '-' will use stdin for reading further arguments.