Ivan Capdeville
Unix
geektool – llenando de datos el escritorio
12 ene
Los que me conocen saben muy bien que odio tener archivos en el escritorio de la mac (otra cosa es escritorio fisico que ahi si soy un desma).
Eso de tener 30 archivos de texto, 50 carpetas en el Escritorio es como desesperante (y hago mas corajes con los que usan Windows y tienen 40 accesos directos al escritorio, guaj)
Ayer descubrí un programa llamado geektool el cual nos permite desplegar en el escritorio un sin fin de información, todo depende de nosotros y que tan frikis nos dejemos ver.
El truco esta en escribir shell scripts como si estuvieramos trabajando en Terminal, pero en vez de ser un resultado en la ventana de Terminal, nos la muestra directo en el escritorio; tambien podemos usar scripts escritos en Applescript, poner imagenes o archivos.
Asi que manos a la obra, vamos a personalizar mi escritorio para mostrar información util para mi (quiza para unos resulte poco interesante y prefieran un programa especializado o consultar sus miles de gadgets para tal cosa)
Yo vivo en la baba y nunca recuerdo en que dia estoy asi que un letrerito (o letrerote en mi caso) que me diga que dia de la semana es hoy, es genial.
solo hay que crear un geeklet nuevo y decirle que ejecute este comando de shell
date +%A
nos aparece en la pantalla el resultado del comando, asi que solo basta personalizarlo, con tipo de letra, color, tamaño, posicion y opacidad (en mi caso indispensable para el estilo de mi escritorio)
el dia del mes, asi en grande para no perderse (el icono de iCal es util, pero a mi me gusta que el Dock se oculte siempre, asi que rara vez veo el icono de iCal)
date +%B
Hablando de ical, con el comando shell cal podemos ver un calendario del mes (o de lo que queramos), asi para ir no tener que abrir iCal solo para buscar en que dia cae el 15
Lo del clima; bueno eso esta un poco mas complicado y escribire al respecto en otra ocasion
La hora, es algo divertido, siempre me ha gustado la forma en que los tapatios dicen la hora (cuando faltan 15 o 5 mas que nada) asi que manipulando unos scripts logré que saliera como yo quiero.

Podemos crear toda una serie de eventos relacionados, no solo usando shell scripts o comandos directamente en geektool, tambien podemos usar Automator, Acciones de Carpeta (herramientas del sistema en MacOSX)
Por ejemplo, el icono del clima que obtengo (via yahoo weather y es el clima de Xochimilco) viene a color, cosa que se ve genial, pero mi escritorio es totalmente blanco y negro, asi que para obtener un icono blanco y negro usé una accion de carpeta para que al recibir un archivo en cierta carpeta dispare un script de Automator, donde a su vez hace que Pixelmator desature la imagen y la guarde (todo esto sin abrir Pixelmator o programa alguno; es mas ni tengo que enterarme de esto, es totalmente automatico.
Tambien agregue un pequeño script para saber a que red inalambrica estoy conectado, quiza parezca inutil, pero algunas veces es muy importante esto para mi. Asi como saber las direcciones IP que estoy usando en ese momento. Algun script posterior sera para mostrar una lista de las redes disponibles, quiza resaltar las abiertas y omitir las cerradas, no se ya veré.
El uptime ultimamente es una obsesion, llegue a tener mi macbook prendida 48 dias (hasta que una falla en windows via maquina virtual me obligo a reiniciar)

Y asi es como se ve en este momento mi escritorio, quiza no cumpla con los lineamientos tecnicos del diseño, pero me vale, la cosa es que se ve cul y me muestra informacion util.

Tambien se puede agregar usando geektool, informacion de facebook, twitter y de servidores, pero no creo que en este momento lo intente; quiza despues y solo para saber que no hacer.
Truco del dia – Hacer permanente un PATH
13 dic
Hace tanto tiempo que no escribia consejos (mas bien auto notas) para usar el Mac OSX
Una de las maravillas de usar el Mac OSX es que contamos con un completo sistema Unix (Darwin) incluido (no confundir con Linux son cosas diferentes) asi que podemos instalar (mas bien compilar) programas especializados como podria ser un servidor MySQL (el Apache y PHP ya vienen incluido en cada Mac de fabrica) y asi tener un servidor web poderoso.
Con tanto programa que llamamos mediante comandos escritos (super geek) hay que recordar todas las rutas hacia los binarios de dichos programas, unas veces son /usr/bin otras /usrs/local/bin otras /opt/bin y asi, entonces hay una forma facil de solo llamar al programa desde cualquier sitio: las variables de entorno al usar el comando env vemos que rutas busca nuestro sistema al recibir un comando. Para agregar una ruta a nuestro entorno usamos el siguiente comando
export PATH=$PATH:ruta
Obvio sustituimos ruta por la ruta completa al binario de nuestro programa en mi caso /usr/local/bin
El problema es que esto en Darwin no es permanente, asi que cuando abramos otra vez terminal y busquemos nuestro programa no buscará en esta nueva ruta, la solucion depende de que gato usemos:
Tiger 10.4
Tenemos la opcion crear un archivo llamado .profile en nuestro home de Darwin (/users/~/) mediante nano (los mas geek usarian vi pero a mi me da floje), asi que hacemos esto en terminal, primero nos aseguramos que estemos en nuestro home tecleando cd y dando enter, eso nos llevara al home
nano .profile (es importante el punto antes de la p)
y copian estos comandos
echo $PATH | grep -q -s “/usr/local/bin”
if [ $? -eq 1 ] ; then
PATH=$PATH:/usr/local/bin
export PATH
fi
Se sustituye el /usr/local/bin por la ruta que necesiten, damos ctrl + o y despues ctrl + x y regresamos al prompt; para probarlo solo abrimos una nueva ventana de terminal y tecleamos nuestro comando
Leopard 10.5
Aqui es mas simple el asunto, solo vamos a crear un archivo dentro de un directorio especial; en terminal tecleamos
cd /etc/paths.d/
ahi vamos a crear un archivo con el nombre de nuestro programa
sudo nano mysql damos enter y nos pedira el pass de usuario, entramos a nano y ahi solo ponemos
export PATH=$PATH:/usr/local/bin (o la ruta que quieran)
guardamos (ctrl + o) y salimos (ctrl + x)
Todo esto ya lo probé y sale perfecto, es casi foolproof ya que no modificamos archivos, solo creamos y ningun archivo que sustituya algo vital, pero de nuevo, hagan esto bajo su propio riesgo, no me hago responsable de sistemas atorados, discos quemados, BSOD, BBOD o cualquier otra cosa catastrofica.
Software del Dia – SSH keychain
24 ago

El software de hoy es uno super geek, mega friki, pero muy util si usas SSH para conectarte de forma segura a servidores remotos y manejarlos via Terminal. Lo que hara este programa es manejar nuestros passwords en el keychain (llavero) del sistema (Aplicaciones/utilidades/) asi, cuando conectemos a algun servidor, no nos pedirá password, muy util (pero hay que tener cuidado a quien le dejamos nuestra mac).
Aparte para complicar mas el asunto, hay que configurar llaves privadas y publicas en nuestra mac, cosa sencilla si tienes algun conocimiento de comando Unix, cosa muy complicada si no.
Esto me recuerda el sentido original de este blog, tener un lugar donde guardar los procedimientos que seguia para instalar algun programa y tenerlo a la mano si lo borraba accidentalmente
Empecemos:
- Hay que descargar el dmg del software SSHKeychain
- Abrimos Terminal y tecleamos el comando > cd .ssh
- ssh-keygen -t dsa nos pedira un password, hay que poner uno bueno y recordarlo
- ssh-keygen -t rsa lo mismo, poniendo un password y enter
- Abrimos SSHKeychain y vamos a la seccion en Environment, palomeamos el Manage global
- En SSH Keys deben estar 3 lineas empezando con /Users/…/.ssh/id_ y en type DSA y RSA respectivamente
- si no, cerramos la sesion y volvemos a iniciar el SSHKeychain
- Abrimos Terminal y hacemos un ssh a nuestro servidor, nos pedira ambos passwords (DSA y RSA) hay que asegurarnos de palomear el add to keychain
- Y por ultimo, hay que copiar nuestra llave publica en el servidor mediante este comando ssh {username}@{host} -C “echo \”`cat ~/.ssh/*.pub`\” >> ~/.ssh/authorized_keys” claro sustituyendo el username y el host por nuestros datos, nos pedira el password (del servidor)
- Ahora tenemos que tener corriendo el programa SSHkeychain todo el tiempo, asi que es buena idea agregarlo a los items de inicio, en preferencias del sistema y en usuarios
Suena algo laborioso, pero es solo hacerlo una vez, todas las demas veces será solo hacer ssh al servidor y entrara automaticamente, gracias a nuestro buen amigo Keychain de Mac OSX, una herrmamienta super util para los passwords en internet, y demas cosas.
Problemas con WordPress 2.1
24 ene
Pues la tan anunciada versión de WordPress 2.1 tiene unos cuantos problemas que me han traido de cabeza varios dias.
Al actualizar todo esta bonito y facil como siempre, pero al querer escribir o consultar un post, aparece un error de que la tabla wp_categories esta mal, asi que a buscar info en internet. Varias personas se quejaban de lo mismo, unos culpando a los themes, otros al peje, otros a Bush, para variar todos tienen la culpa menos uno mismo.
Asi que si alguien tiene problemas con su WordPress 2.1 y tiene el suficiente valor para meterse a los comandos en Unix, aqui esta el comando que hay que meter en mysql>
Primero claro nos conectamos a la base de datos
$ mysql -u root -p -h localhost
aqui nos piden pass y ya estando dentro, solo hay que darle este pequeño comando
ALTER TABLE `base`.`wp_categories` ADD COLUMN `link_count` BIGINT(20) NOT NULL DEFAULT 0 AFTER `category_count`,
ADD COLUMN `posts_private` TINYINT(1) NOT NULL DEFAULT 0 AFTER `link_count`,
ADD COLUMN `links_private` TINYINT(1) NOT NULL DEFAULT 0 AFTER `posts_private`;
donde base es el nombre de nuestra base de datos donde esta instalado WordPress
Server malo…
24 ene
Pues hoy tuve un super problema con el servidor, perdàla base de datos y todos los posts que habia en varios blogs alojados en mi servidor; afortunadamente hago respaldos periodicos, asi que la perdida no fue tan grande, solo la informacion de enero (ja!)
Asi que mis posts de enero se han ido para siempre, ni me acuerdo que decian y tampoco los echaremos de menos, asi que sigamos.
Esta es una razón mas para coseguirme un servidor OSX, claro los errores humanos (ja) seguiran pasando, pero que bonito se ve el OSX server
Nuevo Proyecto: Hosting
31 mar

Como proyecto para la universidad, elegàdesarrollar un servicio web, en este caso un servicio de web hosting; rentar un espacio fÃÂsico en un servidor para crear una pagina de internet.
Si fuera un tipico administrador con infulas de emprendedor, empezarÃÂa a buscar un plus en el servicio, algo que los demás competidores no puedan ofrecer, algo que haga el servicio diferente e innovador.
Pero soy un simple contador, asi que mi filosofia será la de ofrecer el servicio más malo . Ofreciendo nada diferente a los demas, de hecho, ofrezco menos que cualquier empresa de hosting, mi servidor es el mas humilde que se pueda uno imaginar.
Asi que mi producto es: El hostingde mas bajo perfil en el mundo, nada diferente a los demas, con las prestaciones minimas para funcionar.
Que quiero demostrar? como dice la ley de morphy, las caracteristicas mas avanzadas en un equipo son las que nunca se usan. No se necesita tener el último servidor 64 bits y gigas de RAM, con un servidor de bajo presupuesto, se cubren necesidades mas que bien.
Ya hasta diseñe la imagen y todo aquello que le encanta a los administradores.
Bienvenidos a mi crappy servicio. Habrá algun valiente que se arriesgue a recibir lo mÃÂnimo?
Hablando de seguridad en Mac OS X
17 mar
Hace poco salieron muchas noticias (con letras enormes y todo el drama) diciendo que el Mac OS X era mas vulnerable que Windows, que un usuario ruso (disque hacker) logro obtener acceso al root en 30 minutos en una Mac. Todo mundo se escandalizó, como es posible, el segun operativo mas seguro ha sido vulnerado.
Cuando explicaron como estuvo el ataque, casi me caigo de la silla (pero de la risa); el supuesto hacker tenia acceso a la computadora con un usuario normal, le dieron acceso ssh, con ese acceso, 30 minutos es mucho tiempo.
Para explicar lo absurdo del asunto, usaré un ejemplo tonto
Tengo un carro con lo último en sistemas de seguridad, el mas moderno sistema de rastreo. Lo estaciono muy confiado en una colonia insegura y me la paso presumiendo todos sus beneficios, que es el mas caro y demas.
Pero resulta que olvide activar la alarma, deje pegada la llave en la cajuela y dentro de la cajuela esta la llave del carro y el control de la alarma.
Me roban el carro, encontraron la llave en la cajuela, la abrieron y ahi estaba el control de la alarma, la desactivaron y se llevaron el carro.
Que carro tan inseguro !!! tanto que pague por el y su sistema de seguridad y me lo robaron !!! como es posible !! mentirosos !!!! me engañaron y se robaron mi dinero !! truanes !!!
El primer problema de seguridad en cualquier equipo de cómputo, es el usuario mismo. Por si solo un Operativo puede ser seguro (mac osx es muy seguro) pero si dejamos las puertas abiertas, no esperemos que nadie entre.
Nota para los hackers: uso un Linux (no por gusto, es lo que hay) como servidor web, asi que no los estoy retando a que hacken mi server, no es mac osx, lo siento.
WordPress: Actualización
10 mar
Llego el tiempo de actualizar a la ultima versión del WordPress, pero cómo hacerlo? soy mas que novato administrando mi servidor, toda la información que encuentro en internet viene en ingles (en mala hora elegàitaliano en la escuela).
Para que no me pase como el burro que toco la flauta, documentaré el proceso de upgrade de un wordpress en español.
- Primero nos hacemos de la última version del WP: la forma mac fácil es usando wget desde nuestro shell $wget http://wordpress.org/latest.zip
- Descomprimimos el archivo .zip usando el comando unzip $unzip latest.zip esto crea un directorio llamado wordpress.
- Realizamos los respaldos (super necesario) de la base de datos MySQL y de los archivos de configuración del WP: $mysqldump -h host -u usuario -p basededatos > archivo.sql nos pedirá el password del usuario (que necesita tener permiso para esa base de datos).
Nos movemos al directorio del WP y creamos un directorio llamado backup $sudo mkdir backup
$cp .htaccess wp-config.php backup/
- Copiamos los archivos nuevos en el directorio de WP:
nos movemos al directorio wordpress que se creó con el comando unzip $cd /rutaaldirectorio
$cp -Rf wp-includes/* /rutaawordpress/wp-includes/
$cp -Rf wp-admin/* /rutaawordpress/wp-admin/
$cp -Rf wp-content/* /rutaawordpress/wp-content/
Nos movemos al directorio de WP y copiamos los archivos de configuración del directorio backup/
$cp backup/.htaccess index.php wp-config.php .
- Y ya casi terminamos, abrimos el navegador que usemos y solo hay que ir a la direccion de tu blog y ejecutar el script de actualización
http://direcciondelblog/wp-admin/upgrade.php
MySQL : Respaldar una Base de Datos
15 ene
Para hacer un respaldo de una base de datos en MySQL, tenemos que abrir una ventana de comandos (shell) y teclar el siguiente comando:
Password:
Esto nos da un archivo con extension sql el cual podemos comprimirlo y guardarlo en algun dispositivo y si se llega a necesitar recuperar la Base de Datos.
WordPress – Upgrade
12 ene
- mkdir backup
- cp wp-config.php .htaccess wp-layout.css index.php wp-comments.php wp-comments-popup.php backup
- cp -R wp-content backup
- rm wp*.php wp-layout.css .htaccess license.txt readme.html xmlrpc.php
- rm -rf wp-admin wp-includes
- cp backup/wp-config.php .