eyeOS 1.6 Beta released

eyeOS ha lanzado la versión 1.6 que ofrece interesantes mejoras como:

  • Drag and Drop: modificando el API para añadir este efecto
  • EyeFeeds: lector de Feeds
  • miniActions widget: facilita acciones comunes dentro del sistema de forma sencilla e intuitiva
  • EyeNotes: un simple lector de textos que ahora se mejora con la integración de CodePress para soportar la edición y resaltado de código de muchos lenguajes de programación.
  • EyeCode: permite modificar todas las aplicaciones del sistema, bibliotecas, servicios y el núcleo desde el propio eyeOS, con lo que se facilita la creación de eyeApps.
  • integración de menús con el botón derecho del ratón, nuevo skin incluido en el paquete, mejoras en diseño, optimización de imágenes, cambio completo de la interfaz de la calculadora etc.

Y como bien me dijo Elías es bueno echarle un ojo al código porque seguro que podemos sacar cosas interesantes.

eyeOS

Vía / nativos2020

links for 2008-04-18

  • A conference attendance that tops 2000 suggests that a technology involves a certain number of subtle angles. MySQL became a hit because installing it and manipulating tables were so simple–and yet when you get serious, the simple things start growing h
    (tags: mysql)
  • Desde su lanzamiento a mediados de 2006, Twitter ha crecido muchísimo siendo el sitio de microblogging más popular. Mucha gente está desarrollando Aplicaciones y Mashups gracias a la API de Twittter, acá te damos una guía para que tú también puedas
    (tags: twitter api)

mytop: clon de top para MySQL

mytop es una aplicación para la línea de comandos que ofrece información de MySQL al estilo del comando top de Unix. La información que devuelve está dividida en dos partes, una primera que muestra la información del servidor y otra que mostraría la información que proporciona el ejecutar PROCESS LIST: id, usuario, query, tiempo, host y base de datos.
mytop.png
Funciona para las versiones de MySQL 3.22.x, 3.23.x, y 4.x (no sé si funciona para 5 porque la ultima versión es de febrero del 2007) y se necesita disponer de Perl 5.005, Getopt::Long, DBI y DBD::mysql, y Term::ReadKey para CPAN.
mytop

Facebook sliders mediante Mootools

Facebook pone a disposición de sus usuarios unos sliders para poder controlar el valor de ciertos elementos. Para aquellos que estén interesados en usarlos, podrán echar mano de este ejemplo realizado con Mootools, cuyo uso es muy sencillo.
facebook_sliders.png
Hay que tener en cuenta que no es un script accesible, porque no existe una alternativa estándar al control, ya que el slider es una capa y si no hay javascript o entorno gráfico, el valor no se podría cambiar. El script es bueno y añadirle la parte de accesibilidad no implica mucha complicación.
Facebook Sliders With Mootools and CSS
Vía / CSS Globe

ISPConfig: administracion de ISPs y hosting

ISPConfig es un software que permite fácilmente administrar servidores, espacio-web, revendedores y simples hosts virtuales. Consta de 3 niveles: para administradores de servidores, permite la administración de servidores, espacio-web, revendedores y clientes, para revendedores, permite la administración de espacio-web, clientes y virtual hosts (sitios), y para webmasters, permite la administración de sitios, subdominios y buzones de correo.

Administra los siguientes servicios:

  • Httpd (virtual hosts, dominios y basados en IP)
  • FTP
  • Bind (A, CNAME, MX y SPF Records)
  • POP3 Auto-Responder
  • MySQL
  • Webalizer (estadísticas)
  • Cuota de disco duro
  • Cuota de correo
  • Límites de tráfico
  • Direcciones IP
  • SSL
  • SSI
  • Acceso shell
  • Mailscanner (antivirus)
  • Firewall

ISPConfig

Nuevas funcionalidades para MySQL Enterprise

Parece que MySQL va a añadir nuevas funcionalidades en la versión 6.0 que solo van a estar disponibles para la versión Enterprise (de pago). Entre estas novedades habrá funcionalidades relacionadas con el backup online.
Esto supone un separación en dos ramas del desarrollo de MySQL, a parte de pensar en que la versión Enterprise tendrá funcionalidades que no estarán tan testeadas como si estuvieran en la versión Community, la cual está respaldada por una gran cantidad de usuarios.
Just announced: MySQL to launch new features only in MySQL Enterprise

Consejos para optimizar MySQL

Buenos consejos para optimizar MySQL, ordenados por distintas categorías.

Queries

  • Usa EXPLAIN para comprender la ejecución de la query
  • Usa Slow Query Log
  • No uses DISNTINCT cuando usas o puedes usar GROUP BY
  • Crea INSERT o REPLACE en procesos batch y usa LOAD DATA antes que INSERT
  • LIMIT m,n no es tan rápido como parece
  • No uses ORDER BY RAND() si tienes más de dos mil registros
  • Usa SQL_NO_CACHE cuando selecciones datos que se actualizan con frecuencia o son abundantes
  • Evita usar caracteres especiales en los LIKE
  • Evita usar subconsultas correlacionadas en el SELECT y el WHERE
  • No hagas comparaciones calculadas
  • ORDER BY y LIMIT funcionan mejor con
  • No pongas text/blobs en los resultados si no vas a necesitarlos
  • Subqueries en el FROM pueden ser útiles para recuperar BLOBs sin necesidad de ordenarlos. Si haces un join de una tabla consigo misma, puede ser bueno si en la primera obtienes el indice y en segunda obtienes el resto de los datos.
  • ALTER TABLE … ORDER BY puede tomar los datos ordenados cronologicamente y reordenarlos mediante un campo diferente, esto podría hacer que las consultas vayan más rapidas por ese campo, aunque quizás fuera necesario que estuviera en el índice.
  • Es bueno saber cuando dividir una query compleja en la unión de otras más pequeñas
  • Elimina pequeñas cuentas si puedes
  • Haz queries similares para que el cache las use
  • Usa estándares
  • No uses características deprecated
  • Cambia a OR en índices de múltiples campos para que la UNION mejore la velocidad (> mysql 5.0)
  • No uses COUNT (*) en tablas Innodb para cada búsqueda. Para ello deberías usar SQL_CALC_FOUND_ROWS y SELECT FOUND_ROWS()
  • Usa INSERT … ON DUPLICATE KEY update (INSERT IGNORE) para evitar el SELECT

Escalado

  • Usa benchmarking
  • Aisla las cargas de trabajo, no dejes que las tareas administrativas interfieran en el rendimiento (por ejemplo, backups)
  • Testea en vez de hacer debug
  • A la vez que los datos crecen los índices cambian. Haz tu esquema tan modular como tu código.

Rendimiento de red

  • Minimiza el tráfico recuperando solo lo que necesitas.
  • Accede directamente a la paginación con LIMIT no recuperando los anteriores.
  • No uses SELECT *
  • No uses muchas queries rápidas y una algo más compleja puede ser más eficiente.

Mejoras en el sistema operativo

  • Usa particiones en los datos
  • Manten el servidor tan limpio como sea posible
  • Crea un entorno de test

Servidor MySQL

  • innodb_flush_commit=0 puede ayidar en el retraso del slave
  • Optimiza los tipos de datos, se consistente. Usa PROCEDURE ANALYSE() para ayudarte a determinar el tamaño de los datos que necesitas.
  • Si puedes comprime text y blobs
  • Comprime datos estáticos
  • No hagas backup de datos estáticos con frecuencia
  • Activa e incrementa el cache de las queries y el budder si es apropiado
  • Comprueba SHOW STATUS y SHOW VARIABLES
  • Defragmenta tablas, reconstruye índices, haz mantenimiento
  • Aumenta myisam_sort_buffer_size para optimizar inserta largos

Estos son los que me han parecido más interesantes, el resto los podéis encontrar en:

Top 1000 SQL Performance Tips

Gracias David por el aviso