Howdy WordPress

Como es costumbre, he cambiado de nuevo (1, 2, 3) el software de este blog.

He regresado a WordPress, ¿por qué? bueno, cuando inicié mi blog era una mezcla de scripts en PHP que me permitían crear posts desde mi Palm IIIxe, luego instalé WordPress y durante varios años fue mi software para blogs favorito. Después hice el cambio de dominio de teporocho.net a changoleon.net y fue ahí donde ya no tenia mucho tiempo para manejar las actualizaciones y cambiar los “temas” del blog como a mi me gustaba y opté por utilizar Tumblr. Luego inició la moda de los blogs estáticos y utilicé Jekyll, luego me cambié a Tumblr de nuevo. Cuando anunciaron Ghost me llamó la atención por que utiliza node y luego de dos años regreso a PHP con WordPress.

WordPress ha cambiado mucho desde la última vez que lo utilicé para mi blog, uno de los beneficios es que ahora que solo tengo un servidor para mis aplicaciones he podido reducir el consumo de memoria y seguir con todas las aplicaciones instaladas y funcionando correctamente. Hace unos meses quite uno de los dos servidores que uso, para no tener que estar dándoles mantenimiento a dos si todo lo puedo hacer desde uno solo.

ghost2wp

Otro de los beneficios y el más importante es que hice el cambio de un subdominio a un directorio dentro de mi dominio principal, que en un principio no era posible con Ghost, pero luego agregaron esa opción. Esto permite tener una conexión segura aprovechando el certificado de seguridad que tengo para mi dominio y agrega un extra a la seguridad de mi blog y de los lectores.

Luego voy a escribir un post sobre el proceso de migración que fue todo un caos y problemático, ya que no existen herramientas para hacer la migración de Ghost a WordPress, lo cual es una buena idea para desarrollar.

Una disculpa a los que estan suscritos por RSS por el “flood” de “posts” que esos cambios les ocasionan.

WordPress Coding Standards

Por causa del destino tuve un proyecto en el cual necesitaba seguir los estándares de WordPress para el código que estaba generando, la verdad no estoy muy familiarizado con él, por lo que puede ser que mi código no estuviera 100% apegado a estos estándares. Así que tuve que buscar ayuda.

PHP Code Sniffer es un analizador de código para encontrar errores de sintaxis y de estilo. Utilizando una serie de reglas predefinidas, como en el caso de WordPress se puede analizar el estilo del código y encontrar las partes que no se apegan a este.

La instalación es sencilla, primero se instala Composer en caso de no tenerlo instalado, es el administrador de paquetes de PHP. En mi caso fue sencillo con brew, requiere tener instalado PHP por medio de brew.

$ brew install composer

Luego se instala PHP Code Sniffer.

$ composer global require "squizlabs/php_codesniffer=*"

Después se clona el repositorio de las reglas de WordPress para PHP Code Sniffer.

$ git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs

Y se agregan las reglas a PHP Code Sniffer.

$ phpcs --config-set installed_paths /path/to/wpcs

Con esto, ya se puede utilizar phpcs para revisar el código. Para usar las reglas de WordPress se hace de la siguiente forma:

$ phpcs --standard=WordPress our-file.php

Para revisar el código escrito en JavaScript, también existe una serie de reglas y un analizador de código.

JSCS hace lo mismo que PHP Code Sniffer pero con código en JavaScript, este es más fácil de instalar con npm (requiere tener instalador node/iojs).

$ npm install jscs -g

Para analizar el código se utiliza de la siguiente manera.

$ jscs --preset wordpress our-file.js

Y estas herramientas ayudan a verificar si el código escrito se apega al estilo de WordPress y tiene más oportunidad de ser agregado al “Core” de WordPress.

Escritorio de Pie

Este es mi tercer intento por tener un escritorio de pie.

La primera vez, junté una cajas y las acomode en la barra de la cocina, pero no funcionó por más de un día.

El segundo intento fue con un escritorio más pequeño que lo levanté con un par de tablas y con unos libros levante la laptop, esto funcionó por una semana.

Esta vez, tardé más tiempo en crear mi “setup”, fuí buscando las piezas adecuadas. Todo empezó con una mesa de madera que mi esposa ya no quería tener en la sala, la guardé durante un mes mientras conseguía las “L”s que le acoplé en las patas, luego busqué el soporte para la laptop que es un aditamento que venden en el área de cocina para colocar dentro de los anaqueles para tener un “segundo piso” y poder acomodar latas u otras cosas debajo para aumentar la capacidad de almacenamiento de alimentos dentro de los anaqueles de la cocina. La última pieza era la repisa que estoy utilizando para colocar el teclado y el “trackpad” a nivel, sostenido por las “L”s que estan en las patas.

Todo esto me llevó meses, ya que no encontraba el tamaño adecuado o los precios eran altos, todo lo fui comprando lo más barato posible y con las medidas exactas. La ventaja de este “setup” es que todo es desmontable, quito la laptop del soporte, y quito la mesa del escritorio y puedo volver a sentarme, esto me permite estar intercambiando posiciones en caso de fatiga sin hacer cambios permanentes en mi escritorio.

La repisa tuvo un costo de $78 pesos en WalMart, las “L”s costaron $70 pesos en Home Depot y el soporte para la laptop costó $8 dólares pero trae 3, y la mesa que ya tenía, hizo que mi escritorio de pie cueste: $188 pesos.

La verdad tengo un día de pie y hasta ahora no he tenido problema, espero dentro de un mes poder volver a escribir mis comentarios sobre los cambios que puede tener este cambio de postura para trabajar.

Editores de Texto

La pieza de software más fundamental para cualquier programador es el editor de texto. Es la aplicación que utilizamos diario, hasta para el cambio más mínimo (algunos cambios se pueden hacer con aplicaciones desde la terminal, pero supongamos que no).

En 1998 tuve mi primer computadora y en 1999 empecé a programar, mi primer editor de texto fue Notepad (hasta 2004), luego de unos años cambié a Notepad2 (hasta 2007), hasta que salió a la venta E text-editor (hasta 2009) que era un clon de TextMate pero para Windows, luego que pasé a OS X empecé con TextMate luego TextMate 2, continuando con SublimeText 2, SublimeText 3 y el último que probé fue Atom, incluso escribí varias extensiones y mande varios PR a repositorios que son parte del “core” de Atom (link a mi cuenta de usuario Atom), me gustaba tanto la idea que hasta soy moderador de los foros de Atom.

Seguía utilizando SublimeText 3, estaba muy contento, pero el desarrollo de la tercer versión está un poco detenido y me he desanimado, por lo que con el lanzamiento de Atom 1.0 (un editor que he utilizado desde su primer versión pública) quise darle una oportunidad más para reemplazar SublimeText 3 pero me ha defraudado, la verdad quiero amar a Atom pero creo que todavía no es el momento para confiar 100% en este editor. Todavía las tecnologías web con las que fue creado no estan a su máximo y el desempeño deja mucho que desear.

Estando en la crisis existencial de no poder confiar en el futuro de SublimeText 3, aparte de que se empezaba a tardar a la hora de abrir directorios completos y sin poder confiar en Atom, he tenido que salirme de mi zona de confort de los editores de texto “modernos” y utilizar Vim. He intentado utilizar Vim desde hace mucho tiempo, antes de cambiar de editor de texto siempre le daba una oportunidad, pero la verdad estoy muy acostumbrado (aún) a las interfaces gráficas y tener todo disponible a un click y Vim tiene un enfoque diferente. No voy a entrar en la discusión del por que Vim y por que no Emacs, pero creo que ya era necesario hacer el cambio de una vez por todas. A pesar de ser un editor de texto más viejo que los anteriores que he utilizado, tiene mejor desempeño que todos ellos juntos y gran soporte de la comunidad. Es una pena que no exista ningún editor de texto que pueda destronar a Vim o Emacs con tecnologías modernas.

Para hacer el cambio lo más sencillo posible empecé con MacVim para seguir teniendo poco de lo que estoy acostumbrado, como soporte para las pestañas “tabs” y mouse, en lo que acostumbro mis dedos a los atajos y termino de configurar Vim a mi gusto.

Vim Screenshot

Dejo un enlace a mi archivo .vimrc donde voy a estar actualizando mis cambios conforme vaya utilizando más Vim y vayan saliendo todos los detalles que extraño o que estoy más acostumbrado a utilizar a la hora de editar texto.

Google Photos

El día de hoy, Google lanzó “Google Photos“. Es un servicio que ofrece el mitológico sistema que organiza las fotografías tomadas por el usuario.

Con la popularización de las cámaras en los teléfonos, los usuarios capturamos una cantidad estúpida de imágenes y luego se tiene el problema de la organización y almacenamiento.

Google+ ofrece desde hace bastante tiempo almacenamiento ilimitado de imágenes siempre y cuando sean menores a 2048×2048 píxeles, si la imagen excede este tamaño empieza a utilizar el espacio designado al usuario. Este espacio asignado se puede ampliar con un costo.

Google Photos ofrece este mismo espacio “ilimitado” siempre y cuando se acepte la reducción de tamaño de la imágen, esto quiere decir que para almacenar las imágenes en su tamaño original se tiene que utilizar el espacio del usuario.

Google Photos me parece una buena propuesta sobre los demás servicios, pero en lo personal estoy renuente a subir toda mi colección de fotografías personales a servicios en la “nube” y confiar en la seguridad de estos servicios.