martes, 22 de noviembre de 2011

Argentina: Encuentro Hackatón intentará desarrollar aplicación para medir la edad de un contenido web

Argentina: Encuentro Hackatón intentará desarrollar aplicación para medir la edad de un contenido web:

600_47695481

El original encuentro de un grupo de periodistas, programadores y desarrolladores bajo el nombre de Hack/Hackers Buenos Aires tendrá un nuevo desafío. En esta ocasión, la iniciativa presentada por uno de sus integrantes propone crear un estándar para catalogar la antigüedad del contenido de páginas web.

Durante dos jornadas de trabajo, el encuentro colaborativo buscará resolver el problema con el que se encuentran los usuarios de internet cuando no encuentran referencias sólidas relacionadas con la antigüedad de los contenidos de un sitio, ya que en general los buscadores suelen catalogar la información por relevancia y originalidad más que por su fecha de publicación.

De la mano del programador Felipe Lerena, la idea consiste en desarrollar un software que indique de forma visual y simple la fecha del contenido encontrado, trabajando sobre  “Universal freshnes (C14pp)” una propuesta de standard para catalogar la antigüedad del contenido de las página web. Lerena trabajó sobre esta idea luego de encontrarse con un artículo periodístico que pensó que era actual pero tenía seis años de haber sido publicado.

Dentro del taller de trabajo propuesto, además de desarrollar el estándar, se trabajará sobre las librerías de soporte, el software necesario tanto para la implementación como la integración con navegadores y los servicios web que soportarán su funcionamiento.

El evento es libre y gratuito y no hace falta tener conocimientos para participar y colaborar. Para los profesionales o autodidactas los objetivos estarán delimitados por su campo de acción. Los periodistas deberán anallizar el problema de la pérdida de noción de la edad de un sitio web y proponer casos de uso. Los diseñadores, expertos en usabilidad e iconografía o señalizaciones trabajarán sobre una interfaz simple e intuitiva y los programadores Python y Javascript implementarán las biblioteca y la extensión de Firefox, con Jetpack.

La cita es el sábado 26 de noviembre a partir de las 12 horas en Lambaré 873, Radio FM La Tribu de la Ciudad de Buenos Aires. El evento se podrá seguir desde el blog oficial o a través de Twitter siguiendo la cuenta @HacksHackersBA.

Este grupo es un espacio de intercambio que busca innovar en el uso y desarrollo de herramientas para los medios de comunicación del futuro. Originalmente la iniciativa nació en San Francisco a fines de 2009 por  Burt Herman (Storify.com) y Aron Pilhofer de The New York Times, y ahora está integrada por miles de miembros alrededor del mundo.

Link: Hackaton en Fábrica de Fallas: las edades de la web (meetup)





martes, 6 de septiembre de 2011

Nos mudamos de Blogger!

Despues de varios años en blogger, decidimos mudarnos a un dominio propio sobre Wordpress ya que esta herramienta nos quedó chica y cada vez era mas complicado escribir aquí.
La nueva dirección es http://pablo.sarubbi.com.ar , por supuesto que migramos todos los post y comentarios para que no se pierda nada.


Los espero ahí.
Saludos!


Pablo

miércoles, 31 de agosto de 2011

Imprimir la cantidad de fans de una pagina de Facebook con PHP

Este pequeño código PHP imprime la cantidad de Fans de una pagina de Facebook. Solo hay que reemplazar 54353453453453 por id de la página de Facebook (esta se imprime en la URL cuando la accedemos).

<?php
$page_id = "54353453453453";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");
$fans = $xml->page->fan_count;
echo $fans;
?>

Imprimir la cantidad de seguidores de una cuenta de Twitter con PHP


Este pequeño código PHP imprime la cantidad de seguidores de Twitter que tiene una cuenta. Solo hay que reemplazar TuUsuarioTwitter por el usuario de Twitter.

<?php
$tw = get_option("twitterfollowerscount");
if ($tw['lastcheck'] < ( mktime() - 3600 ) ){
  $xml=file_get_contents('http://twitter.com/users/show.xml?screen_name=TuUsuarioTwitter');
  if (preg_match('/followers_count>(.*)
    $tw['count'] = $match[1];
  }
  $tw['lastcheck'] = mktime();
  update_option("twitterfollowerscount",$tw);
}
echo $tw['count'];
?>

viernes, 26 de agosto de 2011

Instalar un filtro de paginas web rápido y sencillo con OpenDNS

Hace tiempo que estaba buscando alguna forma para bloquear sitios web sin necesidad de instalar servidores extras (como proxys o firewalls) y de una manera tan sencilla como para que pueda implementarse en nuestras casas sin grandes inversiones de tiempo y dinero. La verdad es que configurar un filtro parental directamente en el browser (sea Internet Explorer, Firefox, Chome) no me dejaba del todo tranquilo, y además lo veía como una barrera débil y fácil de quebrar para cualquiera que se de un poquito de maña con la compu (el Firefox-portable existe hace años) . 




Es allí donde conocí algunas funcionalidades extras que ofrecía OpenDNS, un servidor de nombres mas que conocido pero que nunca había utilizado hasta ayer. Para hacer las cosas bien, tendría que comenzar explicando que es un DNS, pero como dije cuando empecé, esto apunta a bloquear de manera sencilla algunos sitios web, así que con saber que los servidores DNS  son los encargados de transformar un nombre fácil de recordar (como por ejemplo www.milmapas.com.ar) en una dirección IP (en este caso 207.58.171.80) nos alcanza y sobra. Dichos servidores son parte de la información que los proveedores de internet nos brindan cuando configuramos nuestra conexión. A continuación listamos los Servidores de DNS mas conocidos en nuestro pais:

  • Arnet: 200.45.191.35 / 200.45.191.40
  • Ciudad: 200.42.0.108 / 200.42.0.109
  • FiberTel: 200.49.156.3 / 200.49.159.69 / 200.49.156.8 / 200.49.156.7
  • Speedy: 200.51.212.7 / 200.51.211.7
  • IPlan: 200.69.193.1 / 200.69.193.2
  • Google: 8.8.8.8 / 8.8.4.4
  • OpenDNS: 208.67.222.222 / 208.67.220.220

Entonces, cuando configuramos nuestra PC o router para definir quien traduce los nombres de dominios que escribimos en nuestro browser, dependiendo quien es el que nos brinda el servicio, escribimos las direcciones IP de los servidores de DNS Primario y Secundario que nos fueron asignados. Pero dichos servidores en realidad forman parte de una red donde cualquiera puede "resolver" el nombre de cualquier máquina, o sea que si queremos usar los servidores de DNS de google, solo tenemos que cambiar la configuración de nuestra conexión con las IPs 8.8.8.8 y 8.8.4.4. 


Hasta acá todo bien, pero para darle un valor agregado a nuestros traductores de nombres a IPs, OpenDNS ofrece no solo traducir las direcciones que tecleemos en nuestra computadora, sino también nos dará una mano resolviendo errores de tipeo (si escribimos google.cm nos lleva a google.com) y agregando protección anti-phishing (ya que está conectado directamente a PhishTank.com). Además de estas ventajas, podemos agregar que su servicio es mas rápido, fiable que los de nuestro ISP, gratuito, y fácil de configurar (como ya mencionamos, solo hay que cambiar las IPs de nuestra configuración de internet).


Y si estas ventajas no eran suficientes, registrándose en www.opendns.com accedemos a un pequeño panel de control desde donde vincula nuestra red actual con un sistema de restricciones de tres niveles (alto, moderado y bajo) o bien seleccionar los temas a filtrar de manera personalizada. 






Puedes obtener información detallada para tu sistema operativo en esta dirección: 
https://www.opendns.com/start


Funciones suplementarias gratuitas están disponibles si uno se inscribe en su página web (la inscripción es gratuita).
    • Activación/desactivación de la corrección automática de direcciones.
    • Filtro de páginas web para adultos (varias categorías)
    • Filtro de web-proxy.
    • Bloqueo/desbloqueo fácil de dominios y sub-dominios (blacklist/whitelist)
    • Estadísticas detalladas (gráficos, tablas, descargables en CSV)
    • Opción de conservación de logs (Posibilidad de no conservar ningún log)
    • Personalización de páginas de error (logos, mensajes)
    • Creación de accesos directos (ccm → http://www.commentcamarche.net/)
    • Aplicable a una IP o varias IP
    • Funciona con IP estáticas y dinámicas.

Hasta acá tenemos un buen sistema de filtros donde solo cambiando las IPs de los servidores de DNS del  router o PC se pueden bloquear los accesos a dominios específicos o agrupados por temas.  Pero también sabemos que con solo modificar dichas IPs por las de cualquier proveedor quedaríamos nuevamente donde comenzamos. Es en este punto donde deberíamos evaluar si conviene combinar este método con alguna protección adicional, como por ejemplo agregar reglas en el firewall de router para que nos bloquee el acceso a consultas de DNS de otro proveedor que no sea OpenDNS.

Espero que les sirva tanto como a mi y obviamente cualquier duda o comentario no dejen de escribirlo.

martes, 2 de agosto de 2011

Creación de un sitio web con el CMS WordPress

Los requisitos necesarios son tener un servidor web con acceso ftp, Php5 y Mysql para poder instalar el manejador de contenidos.
Es necesario disponer de un usuario y password para poder crear la base de datos, en muchos de los servidores el acceso a la misma se realiza vía Phpmyadmin.  

Debemos descargar la última versión del Wordpress, en el momento de escribir este tutorial la 3.2.0, que no son mas de 3mb y se obtiene aquí
Al servidor, ya sea por ftp o ssh, debemos subir los archivos descomprimidos que componen el instalados de Wordpress y renombrar el archivo wp-config-sample.php eliminando la palabra "sample" y editando nombre de usuario de la base de datos, password y nombre de la base de datos creada.

Ahora debemos ingresar al administrador del WordPress que se encuentra en la url del sitio +  wp-admin, ( http://tudominio.com/wp-admin/) donde veras una pantalla de bienvenida y algunos pasos adicionales que te irán guiando en la instalación.

Si luego de la instalación existen actualizaciones tanto del WordPress como de alguno de sus componentes, lo veremos en la barra de notificaciones desde donde podemos descargar e instalar las nuevas versiones sin mas datos que usuario y password del acceso ftp.



El paquete de WordPress permite, entre otras cosas, instalar plugins adicionales para darle mas funcionalidades a nuestro sitio. La instalación se realiza desde el administrador, desde el menú "Plugins".



A continuación listo algunas de las mas utilizadas y la descripción de las mismas:
  • All in One Adsense and YPN: Agregar publicidad de Adsense en medio de los post o páginas.
  • Really simple Facebook Twitter share buttons: Agregar en cada post botones de compartir en Twitter, Facebook o Google+ 
  • Simple Google Analytics: Con solo agregar el código de Analytics, monitoreamos las visitas a nuestro sitio desde nuestra cuenta de Google. 
  • Wordbooker: Enviar cada nuevo post a Facebook
  • XML Sitemap Feed: Genera automáticamente el XML actualizado de nuestro sitemaps.
  • Count Per Day: Para monitorear la cantidad de  visitas, origen, y demás datos desde el panel de administración. 
  • WP to Twitter: Envía automáticamente cada nuevo post a nuestra cuenta de Twitter.


Felicitaciones, ya tenemos nuestro sistema manejador de contenidos WordPress instalado, actualizado y listo para empezar a cargar posts.

miércoles, 27 de julio de 2011

Migrar de Joomla 1.x a WordPress

Este tutorial describe como hacer para migrar un sitio que estaba armado con el manejador de contenidos Joomla (fué probado con 1.0 y 1.5) para terminar en la última versión de WordPress.

El método es extremadamente sencillo y no requiere mucho tiempo ni conversiones raras, lo único que magia no hace, por ende templates, modulos y sobre todo menus y categorias, olvidate de que sean transpasadas al nuevo CMS.

El primer paso es descargar la última versión del Wordpress, en el momento de escribir este tutorial la 3.2.0, que no son mas de 3mb y se obtiene aquí.

La instalación se realiza de manera normal, descomprimiendo el archivo en el servidor (yo lo hice en /wp para mantener el Joomla y el WP de manera conjunta) y renombrando el archivo wp-config-sample.php a wp-config.php completando el mismo con los datos de nuestra BD (nombre, usuario y password). Ingresamos al dominio/wp-admin/ para que se creen las tablas necesarias y la contraseña para el usuario admin.

Ya instalado el WordPress debemos asegurarnos que no existan entradas, posts, páginas ni categorias para poder hacer la migración del Joomla sobre un sistema limpio. 

En la barra izquierda del administrador del WP tenemos un acceso a la sección "Plugins" y desde el mismo se puede instalar el componente necesario para llevar a cabo la migración, el Joomla/Mambo to WP Migrator
que se puede descargar de aquí (actualmente la versión 1.5.4), o mucho mas fácil, instalarlo desde el administrador de plugins desde el mismo WordPress. 
Luego de instalado el plugin, se debe activar y configurar con los datos de la Base del Joomla (que puede o no ser la misma que la de la instalación del WordPress).




Antes que termine la importación se preguntará el lugar donde serán copiadas las imágenes de nuestro sitio y ahora sí, luego de estos sencillos pasos, solo resta acomodar las categorías para cada uno de los grupos de  entradas importadas y los menú del template que se esté utilizando.




martes, 26 de julio de 2011

Modulo dbase para PHP 5.3x

Hace unos días me encontré con el problema de que el módulo de acceso a bases dbase había perdido el soporte y la única opción era recompilar el PHP con --enable-dbase . Todas las opciones que se presentaron como alternativa en la web al parecer no funcionaban con versiones de PHP 5.3x, excepto la siguiente:

Antes que nada debemos asegurarnos que disponemos de los siguientes paquetes en nuestro linux:
  • subversion
  • autoconf: 2.13 (2.59+ para PHP 5.4+)
  • automake: 1.4+
  • libtool: 1.4.x+ (excepto 1.4.2)
  • bison: 1.28, 1.35, 1.75, 2.0 o superior
  • flex (PHP 5.2 y anteriores): 2.5.4 (no superior)
  • re2c: 0.13.4+
  • Si no tenemos alguno de ellos:
apt-get install subversion autoconf automake libtool bison flex re2c


Los pasos restantes son los siguientes:

mkdir /opt/php

cd /opt/php

apt-get source php5

cd /opt/php/php5-5.3.2/ext/

mkdir dbase

svn co http://svn.php.net/repository/pecl/dbase/trunk dbase

cd /opt/php/php5-5.3.2/ext/dbase

phpize

./configure

make

cp /opt/php/php5-5.3.2/ext/dbase/modules/dbase.so /usr/lib/php5/20090626+lfs/.


/etc/init.d/apache2 restart

Con php -m desde la línea de comando podemos verificar si ahora el módulo dbase se encuentra habilitado.


lunes, 25 de julio de 2011

Phishing en Facebook con videos de chicas y el cazabobos "Jaa"

Ya es la segunda vez que encuentro en mi muro algo que parece ser un video de chicas  y que te redireccionan a  otra página fuera de Facebook.


En cuanto hacen click en el link los dirije, en este caso al sitio locura-video.com


y como el mensaje nos pide que confirmemos nuestra edad haciendo click en Jaa (en realidad en Finlandés eso significa "compartir"),  no leemos y esto termina en nuestro muro.

Estemos mas atentos para no caer en trampas de donde puedan obtener algunos datos privados.

miércoles, 20 de julio de 2011

Extraer una imagen de otra con convert

Planteando el problema, tenia que eliminar el color magenta de casi 400 imagenes bmp y convertirlas a archivos png con transparencia. Claramente tenia que usar convert pero en el camino se interpusieron algunos obstáculos. 

-  =

De la siguiente manera podemos extraer cualquier imagen de otra, no solo un color.

convert imagen.bmp imagenMagenta.bmp -compose ChangeMask -composite imagen.png

Para seriar este procedimiento, probamos utilizar el comando for pero tenia problemas con los nombres de las imágenes con espacios en blanco en medio, así que el while anidado de un ls fué la solución.

ls *.bmp | while read i; do  convert "$i".bmp Transparente.bmp -compose ChangeMask -composite "$i".png; done

Aún quedaba quitar la extensión bmp de los nombres de los nuevos archivos, solucionado con una expresión regular:

ls *.bmp | sed -e 's/\.[a-zA-Z]*$//'

Finalmente, la linea completa:

ls *.bmp | sed -e 's/\.[a-zA-Z]*$//' | while read i; do  convert "$i".bmp Transparente.bmp -compose ChangeMask -composite "$i".png; done

martes, 10 de mayo de 2011

Solucion a problemas con WiFi Atheros en Ubuntu 11.04

Si como yo, estuviste experimentando velocidades extremadamente lentas luego de actualizar o instalar Ubuntu 11.04 Natty, acá te dejo la solución re en realidad no estaba vinculada a la versión de Ubuntu, sino  a un bug del kernel  que trae emparentado, el 2.6.38.

El problema básicamente hace que tu conexión wifi sea mas que lenta, por lo que terminábamos enchufándole el cable de ethernet para no seguir bajando a 200b/s.

Para solucionar este problema teniamos dos alternativas, cambiar de kernel (ya sea para una versión mas nueva pero inestable aún, o volver a la versión anterior del mismo), o reinstalar el driver.

Les dejo un instructivo de como actualizar el kernel aunque yo opté por el segundo método.

Reinstalando el Kernel:

  1. sudo add-apt-repository ppa_kernel-ppa/ppa
  2. sudo apt-get update
  3. sudo apt-get install linux-headers-2.6.39-0 linux-headers-2.6.39-0-generic linux-image-2.6.39-0-generic --fix-missing
  4. reboot
Reinstalando el driver:
Lo primero que debemos hacer es descargar este archivo de poco mas de tres megas (importante si bajas a 200b/s) y descomprimirlo en alguna carpeta.

Desde dentro, ejecutamos 
  1. ./scripts/driver-select ath9k 
  2. sudo make install
  3. reboot
Luego de reiniciar podemos verificar que la velocidad de la red volvió a su velocidad normal, para poder escribir este post en menos de 5 minutos.

Suerte!