Memorias de un desarrollador

Utiliza LetsEncript para añadir HTTPS gratuito a tu sitio

Hace algún tiempo quería comenzar a usar letsencrypt. Pero me daba un poco de pereza ponerme manos a la obra y siempre lo estaba postergando un poco. Finalmente esta mañana me puse con ello, a continuación un resumen de como se hace.

Regresando a la vida

Hace más de un año que no escribo nada en el blog. No es que normalmente escribiera mucho, pero tener un blog sin añadir una sola entrada en todo este tiempo es tontería.

Quiero utilizar esta entrada para presentar el nuevo diseño del blog y sobre todo para hacer un "status" de cómo van las cosas.

¿Que le regalo a mi mujer? Sistemas de recomendación en php

¿Como filtrar información para obtener elementos que pueden ser interesantes para un usuario en particular? Los sistemas de recomendación asignan una puntuación a cada elemento de un conjunto tratando de predecir cuales serán más afines a un usuario. Veremos algunos de los algoritmos existentes, y cuales son las ventajas e inconvenientes de cada uno.

A continuación mi presentación en el PHPMad de Enero de 2015

Comparando el rendimiento de file_get_contents, curl, guzzle y buzz

Para un proyecto que vamos a comenzar dentro de la compañía, y para el cual el rendimiento es muy importante, hemos realizado una comparación entre diferentes clientes que pueden realizar una petición http.

Nuestra idea original era usar guzzle, pero como digo, el rendimiento es importante, por lo que antes de usarlo, decidimos realizar algunos test de rendimiento.

Las pruebas están realizadas contra un servidor local, el código para las pruebas es similar a este.

El script realizará 10,000 peticiones con cada uno de los métodos, sucesivamente, repitiendo la operación 5 veces, es decir 10,000 * 5 * 5 = 250,000 peticiones.

Mi fichero de configuración de nginx (compatible con ImagineBundle)

Hace unos días salio esté artículo en el que se detalla una configuración de nginx, compatible con ImagineBundle. Precisamente hace un par de semanas que también active ImagineBundle para este y otrossitios que tengo, asi que creo que puede ser interesante tambien compartir como lo resolví yo, además de detallar, el resto de la configuración.

Advanced Php Programming de George Schlossnagle

Este libro cubre diversos temas de desarrollo avanzado con PHP5. Concretamente yo sólo he leido el bloque V, que trata sobre "Extensibility", es decir sobre como crear extensiones para PHP.

Assetic Cache Busting o como generar paths únicos para los assets con assetic

Un problema que puede dar lugar el uso de assetic es invalidar la cache, es decir que los recursos que se generaron en un deploy y que en mi caso están cacheados tanto en el cliente ( http cache ) como en el servidor ( varnish ) y ahora es necesario que el navegador use las nuevas versiones.

La solución es sencilla cambiar los nombres de dichos recursos.

El sistema de afiliación de amazon ... un fiasco

Durante una semana, he probado a utilizar un 50% de la publicidad de amazon y un 50% de adsense.

No se puede decir que ninguno de ellos vaya a quitarme de trabajar, pero el resultado, han sido unos 6E por adsense vs 0E por amazon.

Amazon ofrece comisiones sobre las ventas de productos, entre un 4 y un 10% dependiendo del producto. En el caso concreto de los banner genéricos que yo estaba usando, para que yo cobre la comisión ...

Jugando con marketing de afiliación de amazón.

Durante los últimos 6-8 meses he estado trabajando en planetubuntu.es.

He tenido la suerte de poder experimentar con algunas cosas, con las que no es sencillo experimentar, si no tienes un sitio web con un tráfico medio/alto.

Aún queda bastante trabajo por hacer, varios bug detectados y muchas mejoras, en total tengo 28 issues pendientes, algunas de las cuales, requieren de bastante trabajo.

Mi idea, era que cuando el sitio estuviera más o menos estable,  algún proveedor de hosting se hiciera cargo de los costes del servidor, pero tras algunos intentos de contactar con alguno, ha sido totalmente infructuoso.

Mi fichero de configuración de varnish

Configurar Varnish, no es una tarea sencilla, en mi caso, fueron un monton de conceptos nuevos, y un montón de ejemplos, algunos de los cuales no funcionaban del todo, por lo que quiero publicar mi versión, para quien le pueda servir, y por si alguien quiere dejar alguna sugerencia.

A continuación el detalle de mi fichero de configuración de varnish, tened en cuenta, de que estoy utilizando la versión 3.0.x