domingo, 16 de octubre de 2011

snipMate

Uso vim desde que tengo memoria. En uno de mis post sobre la pasada DrupalCamp 2011 en Sevilla comentaba que una de las charlas, a mi entender, más interesantes fue la del compañerlo @patxangas "Drupal & VIM (Los hackers eligen VIM)".

Este post viene a cuento por un paseillo por github esta tarde que me llevó a snipMate para Vim. No voy a comentar nada más. Os dejo un vídeo:

snipMate.vim Introductory Screencast from Michael Sanders on Vimeo.

Si queréis más información sobre snipMate visitad la web del script en en vim.org.


viernes, 7 de octubre de 2011

Notas DrupalCampSpain 2011 - Parte 2



Intentaré en estas líneas hacer un breve resumen de la DrupalCampSpain2011 celebrada los días 1 y 2 de Octubre de 2011 en Sevilla.

Recinto:
Facultad de Informática Universidad de Sevilla. Al estar alojados en un hotel muy próximo al lugar del evento, la verdad es que fue muy cómodo moverse desde/hacia el hotel. La E.T.S.I es similar a muchos recintos universitarios, así que poco os puedo contar que no imaginéis ya. Eché en falta una cafetería abierta. Salir a tomar un café a los bares cercano, entre el calor y el partido "der Betí" fue una pesadilla.
Nota 8/10

Ponencias:
Sin ánimo de ofender, y siempre desde el respeto a los ponentes, me parecieron bastante flojas. Por dos motivos:
1.- Muchas se centraban en meros aspectos descriptivos, es decir, esto es el A.P.I de Drupal y podemos hacer, esto, esto y esto. Entiendo que 45 minutos no dan para más, pero muchos de los asistentes ya sabíamos de que iba eso de Drupal y cómo funcionaba.
2.- Me ha dado la impresión de que son muchas charlas. Es decir, en mi opinión reducir el número de intervenciones y realizar un filtro más duro, ayudaría mucho al evento: podría aumentar la calidad de las ponencias, y ayudaría un poco a la imagen.Por ejemplo en la charla de Nginx, para mí de las mejores de la Camp, calculo que como máximo seríamos unos 20. Las que más me han gustado han sido:
Nota 7/10

Comunidad: Lo mejor de lo mejor. "Hacer comunidad", prefiero este término a llamarlo "networking", pero es indiferente. He disfrutado mucho con @perusio charlando sobre oportunidades de negocio con Nginx y Drupal. Con @jcartelle drupaleando todo el fin de semana. Menudas aCAMPadas en el hall de Hotel, creo que algunos fliparon un poco, pues fue llegar de la Camp y continuar Drupaleando hasta altas horas.
Me ha hecho especial ilusión desvirtualizar a @patxangas y a @josereyero, pues para mí son un referente es este campo. Que gente más maja.
Sólo una pega: Muy pocas o nulas referencias al software libre. Eso me entristece mucho, más incluso que ver la charla de Brutus Theme en PowerPoint!
Nota 9/10 : Resto 1 por la cantidad de software privativo que pululaba en el ambiente.


Organización: Si bien el catering y la coordinación técnica se puede mejorar, uno que se ha metido en mil "fregados" como este, sabe y aprecia el esfuerzo de gente, que desinteresadamente organiza eventos tan buenos como DrupalCampSpain2011. Enhorabuena cracks!
Nota 8/10


Nota final: 8. O lo que es lo mismo, el próximo año repito fijo.




martes, 4 de octubre de 2011

tmpfs , Nginx y GNU/Linux

Hablando con @perusio en la pasada DrupalCampSpain2011 de Sevilla acerca del rendimiento de Nginx como servidor web, comentaba que el uso de sistemas de ficheros en RAM para caché en Nginx aumentaba considerablemente el rendimiento del sitio.

He revisado unas notas en relación a este particular, son las siguientes.

1.- Crear el directorio, en mi caso /var/tmpfs.
mkdir /var/tmpfs
2.- Montar el directorio.
mount -t tmpfs -o size=4096K,mode=700 tmpfs /var/tmpfs
3.- Aumentar el tamaño "on fire".
mount -o remount -o size=8192k /var/tmpfs

He visto en este sitio web el uso práctico de esta configuración en Nginx y su configuración para /etc/fstab:

tmpfs /var/lib/nginx tmpfs size=8M,uid=33 0 0



sábado, 1 de octubre de 2011

Notas DrupalCampSpain 2011 - Parte 1

He escrito unas notas en gedit que me gustaría compartir.

Título charla: "Desarrolladores: Bienvenidos a Drupal 7"
Ponente: @pcambra 01/10/11 11:00 horas

Notas
Entidades -> suple en cierta medida a los nodos en D6
En la actualidad todo es una entidad -> incluso los nodos.
A todo lo que sea una entidad podemos añadirle campos.
Drupal Commerce - Organic Group - Casos de estudio de código.

#2 EntityFieldQuery
#3 Entity API
#EntityMetadataWrapper
#EntityProperties

D7 "mata" casi totalmente el módulo CCK. En la actualidad usamos Field API.
Field API, hooks recomendados
.- hook_field_attach_*
.- hook_field_storage_*
.- hook_field_extra_fields_*
Cambios en Form API
.- Incorporaciones de AJAX
.- #states, #ajax, hook_form_alter desde plantilla
.- #limit_validation_errors
.- Elementos HTML5 a través de módulo
Proyecto DBTNG ha reformado la capa de abstracción de Drupal para acercala a un modelo OOP. "Olvídense de db_query" El módulo devel permite "debugear" la query.

Render arrays
Cache -> Cambios en la cache. drupal_static reemplaza a 'static'. Se integra con render array.

Novedades JS:
.- drupal_add_js() permite cambiar el peso de los elementos.
.- Jquery 1.4.4. y Jquery UI 1.8
.- Mejoras en los behaviors

File API
.- Son entidades.
.- Nuevo interfaz de fichero en D7
.- Introducción de streams : public:// private:// temporary://
.- file_unmanaged_*(copy,move, delete).

Code registry
.- Registro de código: para inventariar los ficheros y clases que se deben cargar en cada momento.
.- El único fichero que se carga automáticamente es el .module, el resto de ficheros, plugins, includes, tests...deben declararse en el array files []

Info Files
.- Soporta versiones en las dependencias
.- Configure : ruedecilla de administración
.- Required: fuerza que un módulo o theme sea obligatorio y no pueda deshabilitarlo.

Queue API
.- Nueva API para gestionar la cola de objetos
.- Varios componentes del core como Aggregator, Bach API o Cron ya la implementan de base.
.- Permite guardar elementos en memoria o bbdd y es totalmente configurable según el caso.

Cambios en Schema
.- En D7 declarar hook_schema en el fichero .install es suficiente

Simpletest en Core
.- D7 incorpora el módulo SimpleTest en su núcleo y tiene su unite testing e integration testing en todos los componentes por defecto
.- Tener los elementos verificados proporciona seguridad y calidad.

Plugin: selenium para Firefox.