El por en Sysadmin.

Tanto tiempo!

Si por ejemplo quieren redireccionar a alguien que ingrese desde Argentina O desde una red privada:

RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.[0-9]+$ [OR]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AR$
RewriteRule ^(.*)$ http://www.dominio.com.ar [R,L]

El por en Desarrollo.

Si suelen usar custom post types y deciden usar las categorías por defecto de WordPress les va a pasar que al intentar listar las categorias las personalizadas no se van a mostrar.

Una forma para mostrarlas implica agregar un argumento a la uri, por ejemplo: /categoria/x-categoria?post_type=mi_custom_post_type.

Pero si quieren que aparezcan los custom post type sin tener que agregar parametros en la uri van a tener que modificar el main query de WP para agregar el o los tipos de datos que deseen.

function query_category_set_post_type($query) {
    if( $query->is_main_query() && $query->is_category() ) {
        $post_type = get_query_var('post_type');
        if( !$post_type) { // Si el post type no esta definido dentro d
e los argumentos de la búsqueda.
            $query->set('post_type', array('mi_custom_post_type')); // Fuerzo
que la búsqueda general sea para noticias.
        }
        return $query;
    }
}
add_filter('pre_get_posts', 'query_category_set_post_type');

Esta función se va a ejecutar en el hook pre_get_posts y el objetivo principal es agregar al main query (el query asociado únicamente al loop principal, dejando el resto de los querys sin modificar) el argumento necesario para filtrar por post type.

Como validaciones adicionales el post_type solo se va a agregar si estamos en un query de categorias y si el post_type no esta definido en la uri.

El por en Desarrollo, Historias.

Despues de inspirarme en este post me decidi a revivir un Ipad 1 que tenia y transformarlo útil ya que ultimamente solo lo usaba para leer pavadas en instapaper.

Mi intención no es reemplazar a la laptop / pc de escritorio, sino simplemente tener una alternativa para no tener que transportar una. Muchas veces salgo a una reunion y me llevo la compu al pedo, solo por si las dudas, así que para evitar el peso y el riesgo de transportarla me parecio que divertido revivir el Ipad.

Además de lo indispensable (mail, web, chat) mis requisitos son bastante básicos, con tener acceso a una consola ssh me alcanza para salir de apuros. Sin embargo usar una consola ssh con el teclado del ipad es un castigo dificil de superar, por lo que antes de empezar me fui a comprar un teclado. Despues de leer un poco me decidí por el Apple Wirelless. Habia otras opciones pero quería un teclado que no solo sirviera para el Ipad (hace años cometi el error de comprar el teclado portatil para una palm y la verdad fue absolutamente inutil) y el tamaño es práctico. Así que fuí un domingo a comprarlo (había olvidado lo mucho que me molestan los shoppings), entre Ipoint y Compumundo había $60 de diferencia así que compre el mas barato. Luego me di cuenta que me lo dieron sin las pilas asi que como siempre lo barato sale caro…

Con el teclado cocinado (y con pilas) procedí a jailbrekear el Ipad (es un IOS 5.1.1) para instalarle openssh, python, screen y otras pavadas.

Instale (sanamente) Prompt e Issh y los configure para acceder localmente via ssh al ipad y desde ahí saltar a los equipos que necesito, lo cual me es útil ya que tengo todos los equipos a los que accedo configurados en el .ssh/config. Importe mi clave publica en ambos clientes sin problemas.

De las dos aplicaciones Issh es la mas completa (soporta tuneles de ssh!), pero con el jailbreak puedo usar directamente openssh en el ipad para los tuneles. Una de las ventajas de prompt es que permite copiar y pegar desde la terminal.

El post inspirador hablaba sobre Linode, yo he sido usuario de Linode durante 2 años, pero en febrero del 2013 me cambie a Digital Ocean,

En Linode tenia el servicio básico de 20 usd/mes, que hasta antes del upgrade que hicieron era similar al básico de Digital Ocean (512 ram, 20 Gb disco) pero significativamente más económico a tan solo 5 usd/mes.

Sin pensarlo mucho hice el cambio y hasta el momento muy que contento con el servicio, he reducido el costo mensual de hosting, las prestaciones son similares, la diferencia en los discos SSD realmente se nota y además cuento con backup de las VM’s (algo que en linode era pago).

En Digital Ocean tengo una VM debian con un MoinMoin wiki para manejar la documentación de clientes, un Request Tracker para gestionar los tickets y solicitudes, una instalación sencilla de Nagios. Y además configure mi entorno de desarrollo, nada complicado vim + mercurial + screen. Estoy probando Diet Coda pero hasta ahora nada le gana al Vi (bueno, quizás solo Sublime).

Veremos como siguen las pruebas, hasta ahora más que satisfecho.

El por en Historias.

Por día teníamos 3 horas de viaje para ir y volver del centro.

Ahora en llegar a la oficina tardamos entre 5 y 10 minutos en bici (dependiendo el tráfico y las piernas) y caminando podemos demorar hasta 25 minutos.

Desde febrero, Vero y yo, hemos recuperamos 10 días completos cada uno. Parecian destinados a perderse pero los retuvimos.

Desayunamos todos los días en casa, volvemos para almorzar y estar con las pechecas, trabajamos, cocinamos y aprendemos a vivir.

El por en Sysadmin.

Ya se, tiene un disco de mas de 1Tb y luego de haber instalado macosx con UniBeast no les bootea mas y se queda la pantalla con un error como este:

boot0

Esta es la guía oficial para resolver este problema, pero en mi caso tuve que modificar un detalle en el procedimiento para que me funcione.

En resumen los pasos serían

  1. Booteen desde el usb de instalación hecho con unibeast
  2. inicien una terminal
  3. Verifiquen el disco y particion donde tienen instalado osx usando diskutil list
  4. Ejecuten el dd agregando bs=4096:
  5. dd if=/Volumes/"Unibeast Volume Name"/usr/standalone/i386/boot1h of=/dev/disk0s2 bs=4096
  6. Booteen y listo

El por en Sysadmin.

Si alguna vez les aparece este error al intentar bootear un macos (Mountain Lion por ejemplo) “Still waiting for root device” revisen si no tienen conectado el pendrive a los puertos usb3, si es así quítenlo de ahí y vuelva a iniciar el equipo. Es muy probable que luego de eso el instalador pueda reconocerles el disco.

Además que el disco SATA tiene que estar en modo ahci en el mother.