Cabeza de Ratón: versus el Amor Letal

CMS : Snews

Snews es un CMS ultra simple, pero muy potente, ideal para resolver las necesidades de blog pequeños.
Existen mods, addons y aplicaciones de terceros que amplían su funcionalidad, haciendo pequeñas modificaciones en el código. Como se imaginaran es necesario tener un mínimo conocimiento de php para utilizar esto, digamos que escapa la filosofía del clic de Wordpress. Esto depende de como se lo mire puede ser bueno o malo. En mi caso buenísimo por que te una flexibilidad difícil de encontrar en otros CMS más grandes, sin complicarse, claro.
La instalación es casi tan sencilla como descomprimir el contenido de zip en una carpeta, no encontré las instrucciones en castellano para linkear así que les dejo un detalle de las cosas a tener en cuenta:

  1. Bajar el zip de la última versión
  2. Descomprimir en el servidor
  3. Con tu administrador de mysql favorito crear la base de datos e importar el sql que se encuentra en la carpeta /sql/ del proyecto.
  4. Configurar la conexión de la base de datos en las primeras líneas del archivo snews.php:
    // MySQL host
    'dbhost' => 'localhost',
    // Database name
    'dbname' => 'snews17',
    // Database Username
    'dbuname' => 'root',
    // Database password
    'dbpass' => 'root',

Pantallazo-sNews 1.7
Y listo!, claro, siempre y cuando se cumplan ciertos requisitos:

  • Tener el Apache instalado con el mod_rewrite habilitado, para que funcionen las url amigables
  • MySQL
  • PHP versión 4.3.x o superior
  • .htaccess (con permisos de edición)

Haciendo click en login ingresan a la administración, el usuario y contraseña por defecto es test. Ahí van a ver las múltiples opciones que tiene.

Sugerencias:

  • Cambiar el prefijo de las tablas, es una medida de seguridad que no esta demás. Esto se hace modificando el archivo sql antes de importarlo. Luego indicar en el snews.php el prefijo usado:

    // Table prefix for multiple sNews systems on one database
    // if you don't need it just leave it blank
    'prefix' => ' '

  • Pueden bajar el archivo de idiomas, bajarlo en la carpeta /lang/ y setear en la configuración el idioma deseado. Yo tomé el archivo EN.php de esa carpeta y creé mi traducción propia: ES.php, la pueden bajar a su riesgo por que puede que tenga muchos errores.

We are under attack!

Si alguien intento entrar a blog este fin de semana (ordas de visitas truncas!), habrán notado que habíamos sido sido raptados por un “pirata” de la web. En fin, cosas que pasan. A favor nuestro estamos alojados en un servidor bien serio que nos recuperó la cuenta rápidamente y nos recomendó asegurar nuestro WordPress para evitar nuevos ataques.
Entonces, gentileza obliga, vamos listar las medidas a tener en cuenta a la hora de mejorar la seguridad de nuestro querido WordPress:

  1. Mantener la versión de WordPress actualizada, siempre, evitemos que nos ataquen por bugs conocidos y resueltos.
  2. Lo mismo corre para los plugins y para los themes. Además tratar de que sean de fuentes confiables. Creo que a partir de la versión 2.7 WP te avisa siempre que haya actualizaciones disponibles.
  3. Siempre, siempre hacer backups de todo (esto es para mi).
  4. instalar el plugin WP Security Scan que sugiere varias modificaciones, entre ellas:
    • Cambiar el prefijo por defecto de las tablas. Esto es una medida que se puede tomar a la hora de la instalación, o bien modificarlas en uno ya instalado. A mi la herramienta que trae el plugin no me funcionó, pero pude hacer manualmente haciendo un backup del sql de la base de datos y remplazando el wp_ por una cadena nueva del tipo gql257s_ por ejemplo, subir de nuevo la base de datos con este sql. Luego reemplazar en el wp-config.php la cadena $table_prefix = ‘wp_’; por $table_prefix = ‘gql257s_ ‘;. Como precauciones, no hay que estar logueado en el panel de administración al momento de hacerlo y se deben desactivar todos los Plugins, una vez restaurada la base de datos se activan nuevamente. No hacer esto puede generar el maldito error “No tienes autorización para acceder a esta página” (que no supe solucionar) al loguearte.
    • Eliminar el usuario admin que crea por defecto, para no ser tan obvios.
    • Crear el archivo .htaccess para nuestro wp-admin. Yo lo hice siguiendo este instructivo de paso creé el del wp-content también.
    • También hace un chequeo de los permisos que deberias tener en cada una de las carpetas de tu blog, y te sugiere los cambios necesarios.
    • Otras recomendaciones que en las últimas versiones de WP vienen por defecto o en el theme que uso viene por defecto, como ocultar la versión de WP, apagar los errores de de la base de datos, etc.

Buscando un poco encontré un par de link interesantes en el blog de aNieto que vale la pena recorrerlos para estar mas seguros:
10 pasos para proteger tu panel de administrador y uno mas viejito:
Las páginas blancas de la seguridad WordPress

AutoCompletado con Symfony

Denominamos ‘Autocompletado’  al comportamiento que se produce en campos de texto especiales donde a medida que tipeamos este nos devuelve, generalmente en forma de lista, los resultados de una búsqueda en función del texto introducido.

Es muy útil cuando consideramos que la cantidad de opciones de un campo tipo select es muy grande; por ejemplo, un listado de países. More »

Contra la pared: documento e Internet Explorer requerido.

En la lista de correo de usuarios de Ubuntu de Argentina leo el emprendimiento de un muchacho al encarar un site donde se publiquen aquellas páginas webs que requieren internet explorer para su uso.

Internet Explorer requerido. Algo demasiado habitual.

Internet Explorer requerido. Algo demasiado habitual.

En un primer momento me llama la atención de manera poco agradable la cantidad de páginas del gobierno nacional que están bajo esta condición: FONCyt, SeSOP, AFIP, etc.

Con poco podría ser de otra manera, no ?; más si tenemos en cuenta que gracias a Dios Internet Explorer no monopoliza como lo hacía antes, y parece ser que la tendencia es aún más pesimista para uno de los peores navegadoras que he conocido.

Subir proyecto de Symfony a hosting

Hoy tuve que subir un proyecto de symfony a un hosting ‘normal’; o sea, sólo tenía acceso por ftp y un administrador simple de MySql, el tan conocido por todos PhpMyAdmin. Este artículo intentará ser una simple guía para poder realizar esta tarea que tantos dolores de cabeza les trae al grupo de aprendices de symfony; en los cuales estamos todos menos ese tal Fabien.

Aclaremos que lo hice usando Symfony 1.2, por lo que puede variar en algunos detalles cuando usemos otra versión. More »

JavaScripts dinámicos en Symfony.

Me he visto en la necesidad de cargar archivos javascript dinámicos en una aplicación desarrollada en Symfony. Aquí, mi solución.

Javascript Dinámico ?

Pues la verdad así entiendo a un archivo javascript que modifica su contenido en función de ciertos factores. Por ejemplo, generar una estructura de datos en notación JSON en base a datos producto de una consulta realizada en el modelo. More »

sfPropelMooDooPlugin – Algunas Capturas

Presento un par de capturas del resultado del generator. Estas son imágenes preliminares, queda mucho por corregir, refactorizar, etc.

Captura del producto del generador

Captura del producto del generador

Todavía no quiero mostrar un ejemplo funcionando porque algunas cosas me dan un poco de vergüenza. Están muy mal hechas y a conciencia.

Captura de sfPropelMooDooPlugin

sfPropelMooDooPlugin

Hace un buen tiempo que empecé a programar con Symfony y desde la salida de la versión 1.2 me he dedicado a crear un generador administrativo (admin-generator) para Propel. Una tarea más que laboriosa para quien no domina al 100% muchas cosas del framework, tiene ambiciones,  aires de grandeza y no tiene donde caerse muerto.

Estos últimos días he tomado la decisión de publicar el código no sin antes terminar al menos algunas puntos primordiales como documentación

Publicar en primera instancia me ayudará a ponerme metas y responsabilidades, y también aclarar mis ideas. Cuando uno escribe con la convicción de que hay personas que lo leen reafirma conceptos para poder transmitir de la mejor manera posible el mensaje al lector. Por lo menos, así lo veo yo.
Y en segunda instancia, algo no seguro, poder recibir críticas, correcciones y porque no participación de otras personas.

Esta publicación estará, sin lugar a dudas, llena de correcciones que inevitablemente surgirán.

Objetivos

Implementar un plugin para symfony que nos permita incorporar a nuestros proyectos un generador similar al generator de propel pero con algunas mejoras sustanciales:

  • Widgets de Formularios adaptados a las tecnologías usadas.
  • Uso de AJAX.
  • Implementación de una UI (Interface de Usuario).
  • JavaScript no intrusivo.

Tecnologías

Inevitablemente el plugin deberá tener un buen soporte del lado cliente. En este caso utilizaremos mooTools.

Metodología de funcionamiento

La idea global de la metodología de funcionamiento es implementar un pequeño motor en el cliente (JS) con la capacidad suficiente de ‘entendimiento’  con las convenciones de funcionamiento de los scripts generador por Propel en el servidor.

Esta historia recién empieza …

Me estaré volviendo viejo con mal gusto

Hace mucho tiempo que no escribo en mi querido blog. He pasado por diversas experiencias que me han alejado de tan agradable rutina. Igual, creo que pasa en primera instancia por la motivación; y luego otros factores secundarios pero no menos importantes, como la constancia, organización; cualidades que últimamente se han esfumado.

Hoy pienso que debería escribir sobre algo relevante; cosa que no estoy muy seguro que lo sea. En estos días me ha llamado la atención la facilidad con la que se puede adquirir material ‘prohibido’ en internet.

En realidad este no es el punto; todos sabemos que unos de los principales negocios desde los inicios de internet es la pornografía, por ejemplo. Pero hasta donde yo recordaba … todo se hacía desde el anonimato. Solía consumir material porno cuando buscaba cracks o serials para alguna aplicación pirata. Siempre sitios 100% desprolijos, armados con fotos berretas, gif animados, letras rojas y amarillas grandes, etc.

Al alejarme del soft privativo me alejé de los cracks y consecuentemente, en gran medida, de las chicas (y de los chicos por cierto). Mientras escribo esta entrada no dejo de escuchar a Mario Pergorini promocionar una y otra vez desde ‘cual es?’ su web de mierda www.cuales.fm.

cualesson

Y eso me llama la atención. Ya no son piratas anónimos, es el mismo pelotudo que tanto respeto se ha ganado con algunos programas televisivos, comentarios contestatarios, excelentes reportajes, etc.

Me da un poco de cosa como se va blanqueando el negocio y que no se entienda que internet es un medio tan o más influyente para el consumidor que la tele. Está flotando en el aire la idea que en la tele hay cosas que se pueden hacer y cosas que no (aunque es de terror) y el producto puede estar en tela de juicio del consumidor. Internet no. Es tierra de nadie.

control_de_edadNo estoy en contra de publicar este tipo de material, y uno es consciente que tampoco se puede controlar. Lo que me da por las pelotas es la grasa que chorrea este tipo de sitio, con nombre y apellido, que acuden a una gorda garchando (la escena es morbosamente asquerosa) para levantar las visitas y así promocionarlo con el único control que es casi tan berreta como el video mismo. Una verdadera porquería.

Todo bien, que cada quien haga de su culo un colectivo y deje subir a quien quiera.

No hay mejor momento para invocar una de las frases más repetidas entre personas entre 25 y 35 años: Me estaré volviendo viejo.

Aptana, una muy buena opción

El 27 de abril del 2007 pensaba que una buena opción alternativa a Dreamweaver era ZendStudio y no me importaba que este no fuera gratuito. Pensaba que aplicar un poco de astucia a una versión trial para que dejaba de serlo era divertido. Hoy pienso un tanto distinto. Los que utilizamos linux y herramientas libres en general, de a poco nos hacemos devotos de una ideología que en casos extremos puede ser causa de confrontación con el mundo exterior. Creemos que esa gente aún sigue viviendo en una matrix; y nosotros somos como parte de un ejército de Mesías.


notepad++

Al grano; hoy es muy poco probable que crackee aplicaciones. Esa es la respuesta que me han dado miles de personas que trabajan sin atacar el bolsillo del consumidor en forma directa. Yo les correspondo utilizándolas … y dando la espalda a demonios objetos extendidos de W95.

Uno de los problemas que tenía era no contar con un buen editor de código. De usar gEdit (editor nativo de gNome), pasé por BlueFish (también desarrollado con librerías GTK), hasta instalar el fantástico notepadd++ bajo wine. Una pena que no contemos con un paquete para linux. De todas formas; el rendimiento es muy bueno y el creador de la aplicación así lo recomienda.

AptanaStudio
Aptana Studio

Hace un tiempo comencé a usar Aptana Studio. Tiene todo lo que tiene que tener y mucho más. Buen entorno gráfico, amigable administración de ventanas, explorador de proyectos, editor de snippets, etc. Identifica código html, css y js. La herramienta de referencias nos ayuda en el auto completado de código. Costa de plugIns para RoR, PHP, iPhone y Aodbe AIR. O sea … muy completo. A Aptana no se lo conoce ni en una semana ni en un mes.

También cuenta con su propio framework Jaxer que nos facilita la programación con AJAX. El mismo editor cuenta con soporte de sincronización entre el cliente y el servidor. Digamos que es uno de los puntos más fuertes del editor. Yo prescindo de ello por utilizar otros frameworks. De todas formas, el módulo de Jaxer no es gratuito. :-(

Nada mejor que empezar a utilizarlo para disfrutarlo. Aptana es un plugIn de Eclipse; editor multilenguaje. Está programado en java lo que implica que la aplicación pueda ejecutarse en distintas plataformas. De pasar de linux a windows (cuando no queda otra …) y utilizar el entorno casi sin ninguna diferencia hace que el trastorno sea menos traumático.

Altamente recomendable. Productos de Aptana.