Engine MySQL para AWS S3

AWS S3 es un servicio de almacenamiento en red de Amazon que muchos lugares utilizan para ahorrar costes de disco duro. Para trabajar con este servicio existe una API que nos facilita la tarea, por lo que su uso no es complicado, aunque lógicamente lo es más que simplemente acceder de disco duro propio.
Para facilitar más las cosas, existe un motor para MySQL que permite transformar el protocolo de S3 en un modelo de datos para MySQL, pudiendo crear tablas y trabajar con ellas. La cuenta S3 viene a ser un comando CREATE SERVER, los buckets tablas, los items filas, las claves de los items serán claves primarias y el contenido de los items BLOB o VARCHAR.
A MySQL Storage Engine for AWS S3 (PDF)

Mootools FormCkeck: comprobación de formularios

Mootools FormCheck es un script que permite añadir comprobaciones a nuestros formularios y que muestre mensajes de error cuando alguna de esas comprobaciones falle.
formcheck.png
Se puede comprobar los errores cuando se realiza un submit o cuando se abandona el elemento HTML (blur). Los errores aparecen como un bocadillo emergente (con posibilidad de cerrar) y se puede especificar el tipo de dato que queremos comprobar: texto, numérico, alfanumérico…
El problema de estas librerías es que existen para un framework en particular, estaría bien que existiera (o crearlo nosotros) un grupo de trabajo que tradujera las librerías útiles a diferentes frameworks (mootools, jquery, yui, …), ya que cuando buscamos un módulo específico a veces lo encontramos para otro framework. ¿Alguien se apunta?.
Mootools FormCkeck
Vía / WebAppers

Nagios: aplicación para monitorizar servidores

Nagios es una aplicación web que nos permite monitorizar nuestros servidores y servicios.

nagios.png

Dispone de muchas características:

  • Monitorización de servicios de redes: SMTP, POP3, HTTP, NNTP, PING, …
  • Monitorización de recursos de lo servidores: carga de procesos, uso de disco y memoria, procesos ejecutándose, ficheros de logs, …
  • Monitorización de factores ambientales como la temperatura
  • Sistema para plugins que permite a los usuarios desarrollar sus propias comprobaciones.
  • Permite detectar y diferenciar los servidores que están caídos o no disponibles.
  • Mensajes de aviso
  • Crear controles para eventos que permitan solucionar problemas cuando se de una determinada circunstancia.
  • Y mucho más…

Nagios

Closures en PHP5.3

Closures son bloques de código que pueden ser pasados a una función y que pueden manejar variables que están definidas en el mismo ámbito. Algo que puede ser bastante útil cuando queremos repetir un código que solo se ejecutará en un lugar determinado y no queremos definir una función a nivel de clase para poder usarla.

Un vistazo a un ejemplo nos podrá ayudar de mejor manera:

function replace_in_array ($search, $replacement, $array) {
$map = function ($text) use ($search, $replacement) {
if (strpos ($text, $search) > 50) {
return str_replace ($search, $replacement, $text);
} else {
return $text;
}
};
return array_map ($map, $array);
}

Como se puede ver se trata de definir una función con una serie de parámetros, indicar qué variables del mismo ámbito puede usar y una vez definida, realizar la llamada a la función.

Closures en PHP5.3

Vía / Spinning de web

MySQLTuner: consejos para mejorar el rendimiento de MySQL

MySQLTuner es un script en Perl que realiza un SHOW STATUS y ofrece una serie de consejos fáciles de entender de cómo mejorar el rendimiento en nuestro servidor MySQL.
Este script no te soluciona nada, solo te ofrece consejos que se deberían implementar. Siempre es importante mejorar las queries que se ejecutan para que el rendimiento a nivel de servidor sea menos necesario.
MySQLTuner
Vía / The Pythian Group

ExtSQL: Extended Usage Statistics for SQL

ExtSQL es una serie de modificaciones y parches realizados sobre MySQL y PostgresSQL que permiten realizar monitorizaciones e informes sobre el estado de la base de datos, del servidor, la actividad de los usuarios. Las consultas se realizan mediante queries SQL, las cuales quieren que se añadan al estándar SQL. Actualmente, la mayor parte del trabajo se ha realizado en MySQL, ya que están a la espera de la respuesta de la comunidad de PostgreSQL.

Por ejemplo, para saber el número de selects e inserts realizados por todos los usuarios desde que el servidor arrancó, sería así:

SHOW STATISTICS Com_select, Com_insert, Questions FROM user;

Dando el siguiente resultado:

+----------+-------------+------------+------------+
| user     | Com_select  | Com_insert | Questions  |
+----------+-------------+------------+------------+
| bandala  | 8302675     | 95973      | 23153940   |
| sandymao | 1702812     | 6205       | 3829023    |
| ponnetli | 24909       | 4784       | 95646      |

ExtSQL

Vía / VivaLinux

Gracias David por el aviso

Eventum: gestor de tareas desarrollado por MySQL

Eventum es un sistema para la gestión de tareas y seguimiento de errores que ha desarrollado MySQL y que ellos mismos utilizan.
eventum.png
Posee las típicas características de aplicaciones parecidas como dotProject: creación de proyectos, tareas, administración, envío de emails, etc…
Eventum

xmpphp: libería Jabber para PHP

xmpphp es una librería que permite realizar acciones sobre el protocolo XMPP, en el cual está basado Jabber o GTalk.

Un ejemplo sencillo para mandar mensajes sería el siguiente:

<?php
include("xmpp.php");
$conn = new XMPP('talk.google.com', 5222, 'username', 'password', 'xmpphp', 'gmail.com', $printlog=False, $loglevel=LOGGING_INFO);
$conn->connect();
$conn->processUntil('session_start');
$conn->message('someguy@someserver.net', 'This is a test message!');
$conn->disconnect();
?>

Una clase que nos puede ayudar mucho en algunas tareas como en el envio de alertas o avisos.

xmpphp

Gracias David por el aviso

Time picker en jQuery

Curioso script en jQuery que permite transformar una caja de texto en un seleccionador de tiempo. Pinchando sobre ella nos saldrán las horas que podemos elegir, y al movernos sobre las horas, aparecerán los minutos y así con el resto de los datos.

timepicker.png

Su utilización es muy fácil, tan solo habrá que ejecutar lo siguiente:

$(function(){
$('#test-1').timepickr();
});

A parte se puede configurar indicando que horas, minutos, segundos y etiquetas (am/pm) se pueden elegir, los formatos o incluso que datos mostrar o no.

jquery.timepickr.js

Vía / WebAppers