06 diciembre 2010

Nuevo celular Google Nexus S con Android 2.3

Google presentó para Estados Unidos e Inglaterra su nuevo celular Nexus S de Samsung, con el sistema operativo Android 2.3 "Gingerbread". A fin de mes estaría llegando a esos países, aunque todavía no hay fecha para el resto del mundo. Les dejo el video de la presentación:


Algunas características del teléfono son:
  • Pantalla táctil de 4″ WVGA (800 x 480) "Contour Display"
  • Procesador 1GHz Cortex A8 (Hummingbird)
  • Cámara de 5 mepagíxeles, y frontal para video conferencias
  • 16GB de memoria interna,y 512MB de memoria RAM
  • GSM: 850, 900, 1800, 1900, HSPA: 900, 2100, 1700 HSDPA (7.2Mbps) HSUPA (5.76Mbps)
  • WiFi 802.11 b/g/n
Hasta la próxima!

02 noviembre 2010

Revisando la seguridad de OpenX

OpenX es un software servidor de publicidad open source muy popular, que brinda una interfaz para la gestión de banners y un sistema de "tracking" para la confección de estadísticas. El producto es muy versátil y permite armar campañas y mostrar tanto banners propios así como de terceros; como por ejemplo Google AdSense o su sistema propio, OpenX Market.
La wikipedia señala que el sistema cuenta con más de 50,000 usuarios que entregan más de 300 mil millones de avisos por mes; así como también que el sistema es usado por el 5% de los top 10,000 sitios con más tráfico del mundo.

Pero así como es un producto excelente, también es blanco de ataques frecuentes, por lo tanto no esta mal hacer una rápido chequeo para verificar la seguridad de nuestra sistema. En una de las instalaciones que mantengo, hoy hice lo siguiente:
  1. Revisé la estructura de archivos y directorios y verificar los permisos sobre los mismos.
  2. Me logueé en el phpMyAdmin y ejecuté un par de consultas para ver si estaba todo en orden:

    SELECT bannerid, append, prepend FROM banners WHERE append != '' OR prepend != '';

    
SELECT zoneid, append, prepend FROM zones WHERE append != '' OR prepend != '';


    SELECT u.user_id, u.contact_name, u.email_address, u.username FROM users AS u, account_user_assoc AS aua WHERE u.user_id=aua.user_id AND aua.account_id = (SELECT value FROM application_variable WHERE name='admin_account_id');

    Las dos primeras sirven para buscar si fue insertado código malicioso en las tablas que almacenan los banners y las zonas donde se muestran estos. La última sirve para buscar cuáles son los usuarios que tienen permisos de administrador.
  3. Por último, es conveniente revisar los archivos .php en búsqueda de expresiones "eval" y el uso de base64_decode, que generalmente son los mecanismos que se utilizan para realizar ataques a estos sistemas; especialmente en las carpetas de plugins e imágenes.
Este resumen no resuelve ningún problema, pero identifica probables ataques, en cuyo caso habrá que tomar medidas al respecto. Hasta la próxima!

11 agosto 2010

15 datos interesantes acerca de la Wikipedia

Dando vueltas por la red encontré esta imagen con 15 datos interesantes acerca de la wikipedia. La que más me gustó? Que el mal tiempo lleve a generar más artículos dentro de la enciclopedia!

18 julio 2010

David Pogue es un genio

El columnista de tecnología del New York Times y ganador del premio Emmy para CBS News David Pogue es realmente brillante. La capacidad que tiene para transmitir su mensaje a través del buen humor y su voz mientras toca el piano y canta hacen que los veinte minutos que dura el video de "La Simplicidad Vende" grabado en el año 2006 se pasen volando. Y lo mejor de todo es que, casi cinco años después, el mensaje sigue tan vigente como el día en que se grabó.
Gracias a la gente de TED podemos tener el video disponible en internet para que todos lo veamos, y hasta subtitulado en castellano. Así que no hay más excusas para no invertir los próximos veinte minutos en verlo. Les garantizo que después los dejará mucho tiempo más pensando y será una buena inversión.




Hasta la próxima!

30 junio 2010

WordPress database error Got error 134

El otro día revisando los archivos de una instalación de WordPress me encontré con que el error_log de este servidor había crecido muchísimo, entonces me puse a leerlo a ver que encontraba y la mayoría de los errores eran "WordPress database error Got error 134".
Me puse a investigar un poco y resulta que cuando se va actualizando un blog de WordPress con el tiempo o lleva mucho instalado puede ser necesaria una reparación de las tablas de MySQL.
Solucionarlo es muy sencillo:
  1. Logearse en el phpMyAdmin.
  2. Seleccionar la base de datos donde está instalado el WordPress.
  3. En el panel principal, seleccionar las tablas que necesitan repararse (son las que muestran algún valor en la columna "overhead" o "residuo a depurar"). Ejemplo:

  4. Ir hasta el menú desplegable situado abajo de las tablas llamado "with selected" o "para los elementos que están marcados" y seleccionar "repair" ("reparar la tabla").
  5. Si todo funciona bien, debería aparecer un mensaje donde indica un "OK" a continuación de los nombres de las tablas seleccionadas.
  6. Listo, cuando se vuelve a la base de datos del WordPress no aparecen nada más en la última columna, así:


Hasta la próxima!

PD: gracias a paulstamatiou.com por las imágenes ;)

21 junio 2010

Problemas instalando software en Ubuntu 9.10

Tratando de instalar Xdebug en mi ubuntu 9.10 hoy me apareció un error en la consola:

"Cambio de medio: Por favor, introduzca el disco etiquetado «Ubuntu 9.10 _Karmic Koala_ - Release i386 (20091027)» en la unidad '/cdrom/'
y presione [intro]."

Y por supuesto, en vez de leer el mensaje de error cancelé la operación y lo traté de hacer de nuevo. Así que cuando volvió a fallar y esta vez sí leí el mensaje, me di cuenta del error; había quedado una línea en el listado de repositorios del apt que no debería estar ahí de cuando actualicé el sistema la última vez, y por supuesto ya no tenía el cdrom conmigo.
Solucionarlo es muy sencillo:
  1. abrir una consola y escribir "sudo gedit /etc/apt/sources.list".
  2. buscar las líneas que mencionan la palabra "cdrom" y comentarlas (agregándoles un # al comienzo de la misma).
  3. guardar y cerrar el archivo.
  4. escribir en la consola "sudo apt-get update".
  5. y listo, ya se puede seguir con la instalación del software
Hasta la próxima!

18 junio 2010

WordPress 3.0 listo para descargar!

Finalmente Wordpress 3.0 "Thelonius", la flamante nueva versión del software para publicación de contenidos está disponible para descargar desde la página oficial. Yo esperaba con ansias la nueva versión, ya que además de cientos de bugfixes y mejoras, hay una extensa lista de nuevos features listos para usar ni bien se instala el software.

Algunos ejemplos son:
  • La integración (el "merge") de WordPress con WordPress MU para permitir manejar cualquier cantidad de sitios desde una sola instalación del software.
  • La nueva opción de manejar el menú desde el panel de administración. No más editar archivos a mano, ahora directamente se pueden incluir en los menúes posts, categorías, páginas, tags y links desde la interfaz de administración.
  • Ayuda contextual en cada pantalla de administración!
  • Y un nuevo tema por defecto "Twenty Ten" para aprovechar estas nuevas características!
Sin dudas hay que empezar a utilizar cuanto antes esta versión para aprovechar todas las nuevas posibilidades que ofrece la herramienta. Les dejo el link a la entrada del blog oficial con el anuncio y hasta la próxima!

08 junio 2010

Mejorando WordPress con YSlow!

Gracias a Vladimir Prelovac que publicó en su blog un artículo muy interesante, descubrí otra manera más de mejorar la performance de los sitios que usan WordPress como plataforma. El tema está como siempre en reducir el tiempo de carga de los sitios para mejorar el SEO y la satisfacción de los visitantes.
Este es un truco muy sencillo y que no lleva más de cinco minutos. Manos a la obra:
  1. Primero que nada hacer una copia de seguridad del archivo .htaccess ubicado en la raíz del WordPress.
  2. Añadir las siguientes líneas al archivo.
    <FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
      <IfModule mod_expires.c>
        ExpiresActive on
          ExpiresDefault "access plus 30 days"
            </IfModule>
              Header unset ETag
                FileETag None
                  </FilesMatch>
                    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript application/x-httpd-php application/rss+xml application/atom_xml text/javascript

                    La explicación de como funciona todo esto es sencilla. Lo primero que hace es agregar los "expire headers" que Yahoo! recomienda en su "reglas" sobre performance, remueve los ETags y comprime el contenido de los archivos de texto que se le envían al browser. Y con eso tendría que alcanzar para subir un par de puntos en la puntuación del Yslow!

                    Hasta la próxima.-

                    PD: Más información pueden encontrar acá, y también en la documentación oficial de Apache.

                    02 junio 2010

                    Novedades en WordPress 3.0

                    Dos posts interesantes que salieron en los últimos días fueron "Lucky Seven" referido al último cumpleaños del software; y el anuncio del WordPress 3.0 Release Candidate. Por un lado que Wordpress cumpla 7 años ya es todo un hito, pero además comparten con nosotros otros números asombrosos. Diez millones de downloads de themes, 60 millones de downloads de plugins y más de 1.500 usuarios del su sistema Trac lo convierten en un proyecto más que exitoso.
                    Por otro lado, también están cerrando los últimos detalles para la versión definitiva de WordPress 3.0, que incluye algunas cosas como:
                    • los custom menus (más información), sin dudas una de los features más esperados junto con...
                    • los custom types! (un artículo muy bueno sobre esto)
                    • el merge del código de WordPress con el de WPMU, convirtiéndolo en multi sitio sin necesidad de instalar ningún plugin adicional.
                    • mejoras estéticas, bugs corregidos, etc. etc. etc.
                    Como siempre, la última versión se puede bajar desde acá. Y a esperar nomas que salga la Stable! Hasta la próxima.-

                    19 febrero 2010

                    Agregando widgets en WordPress a otro lugar que no sea el sidebar

                    Se pueden agregar widgets en WordPress a otro lugar que no sea la sidebar?
                    Sí que se puede. Para hacerlo, hay que modificar el archivo "functions.php" del theme que estemos usando, y donde existe un código similar a éste:
                    register_sidebar(array(
                    'name' => 'Sidebar 1',
                    'before_widget' => '<div id="%1$s" class="widget %2$s">',
                    'after_widget' => '</div>',
                    'before_title' => '<h2>',
                    'after_title' => '</h2>',
                    ));

                    Agregamos un par de líneas para que quede así:

                    register_sidebar(array(
                    'name' => 'Sidebar 1',
                    'before_widget' => '<div id="%1$s" class="widget %2$s">',
                    'after_widget' => '</div>',
                    'before_title' => '<h2>',
                    'after_title' => '</h2>',
                    ));
                    //La home también va a tener widgets ahora...
                    register_sidebar(array(
                    'name'=> 'Homepage',
                    'id' => 'homepage',
                    'before_widget' => '<div class="widget_box">',
                    'after_widget' => '</div>',
                    'before_title' => '<h3>',
                    'after_title' => '</h3>',
                    ));

                    Luego, vamos al archivo "index.php" de nuestro template y donde queramos agregar los widgets ponemos

                    <?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('Homepage') ) :
                    endif; ?>

                    y listo! Con este ejemplo agregamos una nueva zona en la Home page de nuestro blog para poner widgets. Ahora solo queda ir a las opciones de Apariencia dentro del administrador y mover los widgets que queramos a su correspondiente zona. Hasta la próxima!

                    16 febrero 2010

                    Haciendo funcionar la propiedad CSS :hover en IE

                    Bueno, después de varias horas tratando de solucionar un problemita del trabajo con un sitio en WordPress, me enteré gracias a Bernie Zimmerman que para que el Internet Exporer (versiones IE7 e IE8) le agregue un :hover por CSS a otra cosa que no sea un enlace (un tag "a"), hay que agregarle un DOCTYPE especial. Resulta que el DOCTYPE de una página indica que tipo de soporte CSS brinda el navegador. Asi que si uno quiere agregarle :hover a cualquier elemento y no solamente a los enlaces, hay que agregarle un "strict DOCTYPE" a la página. Por ejemplo:

                    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"

                    Pero tampoco termina ahí! Porque lo que conviene es que esta línea sea la primera dentro del documento html, porque sino el IE tampoco la tiene en cuenta y sigue funcionando en el "quirks mode" en lugar del modo standard.

                    22 enero 2010

                    Bienvenida la WordPress Foundation

                    Hoy apareció la noticia en el blog oficial de WordPress que ya esta lista la WordPress Foundation, una organización sin fines de lucro destinada a "democratizar la publicación a través de software open source, GPL" (según mi modesta traducción).
                    Lo más importante para mí es, como figura en la página principal de la fundación, asegurar el acceso libre y perpetuo al código de los proyectos al que ellos dan soporte. Muchas veces cito, cuando conozco algún potencial cliente, que las herramientas que utilizamos para hacer nuestros proyectos son ampliamente utilizadas en el mundo, que son de código libre y que hay cientos o miles de personas que pueden ayudarlo en caso que en el futuro no hiciéramos negocios juntos. Y a los nuevos clientes esto les da una sensación de respaldo y seguridad que valoran mucho.
                    Que el software de la plataforma WordPress sea GPL me da la posibilidad de hacer estos comentarios. Y que la empresa detrás de éste se muestre tan comprometida con el desarrollo y promoción del software libre me da a mi también, tranquilidad y respaldo.

                    No se olviden de visitar el blog de la fundación. Hasta la próxima!!

                    PD: como nota curiosa, ya están usando la versión 3.0 del WP para publicar el blog... yo también quiero probar!