ShareThis

Mostrando entradas con la etiqueta codigo abierto. Mostrar todas las entradas
Mostrando entradas con la etiqueta codigo abierto. Mostrar todas las entradas

jueves, 16 de agosto de 2012

ThinkUp herramienta para monitorear Redes Sociales

Estoy empezando a utilizar una herramienta de monitoreo de Redes Sociales denominada ThinkUp que brinda una serie de indicadores de como se estan comportando estas. Tiene conectores que extraen datos de Google+, Facebook y Twitter almacenando la información extraida en un repositorio local que usted puede controlar y administrar pudiendo posteriormente hacer las búsquedas y análisis que desee. Una vez el repositorio cuenta con datos se pueden visualizar y analizar los datos extraidos. Lo que más me gusta es que es una aplicación Web, gratuita y Open Source. Para el caso de Twitter lleva estadísticas de seguidores e interacciones. Tiene una opción que clasifica a los seguidores en Mas populares para poder hacer un seguimiento especial de estos. Tambien dado su registro interno puede construir gráficas que evidencian el crecimiento de seguidores en diferentes periodos de tiempo (dia, semana, mes) Para el caso de Facebook se puede tomar datos de las paginas a las cuales ha dado "Me gusta" Esta herramienta es desarrollada por Expert Labs, una organización sin ánimo de lucro que ayuda a los gobiernos a explotar el poder de las redes sociales.

martes, 22 de junio de 2010

PHP Fatal error Allowed memory size xxx exhausted ¿como resolverlo?

Este mensaje de error puede presentarse cuando un los requerimientos de memoria de un script PHP exceden el limite por defecto establecido.

Para resolverlo, hay dos opciones:

Cambiar el limite de memoria de un script específico incluyendo la siguiente linea:

ini_set("memory_limit","12M");

Para el ejemplo anterior el limite se establece en 12 Megabytes.

Este cambio tambien se puede hacer de manera global (aplica para todos los scripts). Para ello es necesario modificar el archivo php.ini (normalmente ubicado en la ruta /etc)

memory_limit = 12M

Tenga cuidado de utilizar este comando pues es poco frecuente que un script requiera estos niveles de memoria para su ejecución. Excepciones frecuentes para esto son operaciones como importar y procesar archivos batch de gran tamaño.

Leer CSV con PHP

Comparto este fragmento de código muy sencillo, útil para procesar archivos CSV con el lenguaje PHP:


$archivo = fopen("archivo.csv");
while($linea = fgetcsv($archivo,0,",")){
$columna1 = $linea[0];
$columna2 = $linea[1];
$columna3 = $linea[2];
$columna4 = $linea[3];
}
fclose($archivo);

Importar SQL en MySQL

En ocasiones cuando se trabaja con archivos grandes de bases de datos MySQL, no es factible hacer un import de una BD usando la herramienta PHPMyAdmin. Para esto se sugiere el siguiente procedimiento:


Para Importar
#crear la base de datos
mysql> create database nombre_base_de_datos;

#Proceso inverso al mysqldump
mysql -u root -p nombre_base_de_datos < ruta_base_de_datos.sql



Para Exportar
#Visualizar las bases de datos
mysql > show database;

#Exportar una base de datos en particular
mysqldump -u usuario -p nombre_base_de_datos > archivo.sql

miércoles, 2 de septiembre de 2009

Una solución para repositorios institucionales: DSpace

DSpace es un software de código abierto que provee herramientas para la administración de colecciones digitales, y comunmente es usada como solución de repositorio institucional. Soporta una gran variedad de datos, incluyendo libros, tesis, fotografias, video, datos de investigación y otras formas de contenido. Actualmente se encuentra en la versión 1.6.2. El código fuente puede obtenerse del sitio web del proyecto en SourceForge.

Los datos son organizados como items que pertenecen a una colección; cada colección pertenece a una estructura jerárquica de comunidades y subcomunidades. Se trata de una aplicación web, por tanto la mayor parte de la interacción puede llevarse a cabo a través de un navegador y puede ser personalizada para instituciones y departamentos particulares.

Es liberado en el 2002, como producto de una alianza de HP y el MIT, bajo una licencia BSD y totalmente compatible con el protocolo OAI-PMH. Puede correr sobre Base de Datos Postgres u Oracle.

Una guia de inicio para académicos principiantes en DSpace interesados en preservar su investigación en repositorios digitales esta disponible en http://www.dspace.org/introducing/dspace-video.html. Tambien puede ser de utilidad este comparativo de soluciones de repositorios institucionales que analiza a DSpace frente a otras soluciones existentes como EPrints, Fedora y Zentity.

Si necesita más información contacte a

Ejemplos de queries y consultas sofisticadas sobre MySQL

Para aquellos que requieran trabajar con consultas sofisticadas sobre MySQL, en el siguiente enlace podrán encontrar como ejecutar consultas avanzadas como funciones de agregación, estadísticas, comparación de datos, operaciones con horas y fechas, DDL, Joins, operaciones con cadenas, procedimientos almacenados entre otros.

viernes, 5 de junio de 2009

Liferay una alternativa a Oracle Portal

Liferay Portal es un software para el diseño de portales empresariales. Su mayor ventaja es la usabilidad, que permite a los usuarios trabajar sin necesidad de tener que recurrir a costosas capacitaciones ni hacer uso de extensos manuales. Es por tanto una alternativa a considerar a soluciones propietarias como Oracle Portal

Tiene varios beneficios, entre los cuales se cuenta que puede lograrse rápidamente la integración con otros sub-sistemas (viene precargado con portlets JSR 168). Liferay también incluye su propio CMS (sistema de administración de contenido) llamado Journal. Journal provee excelente separación de contenido y layout, facilitando de este modo que cualquiera pueda escribir y contribuir con nuevo contenido.

Por encima de todo esto, las funcionalidades de Liferay incluyen soporte para administración de usuarios LDAP (Active Directory), integración con documentos de Office, flujo de trabajo y Single-Sign On. Tiene soporte para wikis, foros, blogs y calendarios compartidos entre otros.

domingo, 1 de febrero de 2009

Soluciones para Conferencias y Congresos

Recientemente recibí un requerimiento relativo a una solución para albergar un Congreso. Despues de una exploración en internet entre las cuales están las siguientes (cuadro comparativo):

Openconf


OpenConf is a peer-review / conference management system, under active development, that facilitates the electronic submission, review, advocacy, and acceptance of papers, along with management of the whole process by a Program Chair or Editor. Although targeted towards events such as conferences, workshops, and symposia, OpenConf has also been adapted for use by journals, grants, and books.

Licencia: Openconf License
Tecnología: PHP4 / MySQL
URL: www.openconf.org/
Desarrollo desde 2004
Contacto: Zakon Group LLC info@zakongroup.com


IAPR COMMENCE


The IAPR COMMENCE System is a web application, written in PHP, used for managing Technical Conferences. It provides electronic submission of technical papers or other documents, reviewer assignment, peer reviewing, emailing of letters of acceptance and rejection, and organisation of the proceedings in a form suitable for web, CDROM, or print publication. It has now been used by dozens of international conferences and has been translated into many languages.

Licencia: Mozilla Public License 1.1 (MPL 1.1)
Tecnología: php, mysql, and apache
URL: http://iaprcommence.sourceforge.net/
Desarrollo desde 2003


CyberChair


CyberChair fully supports all activities that come with the review process: the abstract and (camera-ready) paper submission, the reviewer assignment (based on the reviewers' preferences and expertise), the review submission process, the notifications of acceptance and rejection, the preparation of the proceedings (according to the Springer-Verlag procedure), and the abstracts for the conference website and program booklet.

Licencia: GPL
Tecnología: Python
URL: www.CyberChair.org
Desarrollo: 1996-2000
Contacto: Borbala Online Conference Services Attn: Richard van de StadtAddress: Grimberghoek 34 7546 HE Enschede The Netherlands


MyReview


MyReview is an open-source web application for managing the paper submission and paper review phases.

Licencia: GPL
Tecnología: PHP and MySQL
URL: http://myreview.lri.fr/
Desarrollo: desde 2003
Contacto: myreview@lri.frp


Otra opción encontrada fue START V2 ConferenceManager, una solución freeware basada en Perl y Ghostscript

Luego de evaluar de cerca algunas alternativas, la opción escogida fue Open Conference Systems (OCS) del proyecto Public Knowledge Project (PKP). PKP es una iniciativa de investigación y desarrollo que busca mejorar la calidad de la información académica disponible, mediante plataformas de publicación que facilitan el compartir el conocimiento; esta alineado con iniciativas de acceso abierto (Open Access). Si desea más información en español puede visitar la siguiente dirección http://pkp.sfu.ca/espanol

OCS es una solución altamente flexible basada en PHP / MySQL, de código abierto que se ajusta perfectamente a las necesidades de una conferencia o congreso para cualquier institución. Usted puede probar OCS directamente en una instalación demo que PKP ha destinado para tal fin. Esta instalación es regularmente reiniciada, así que se recomienda utilizarla solo para actividades de exploración y evaluación del software. El usuario es "admin" y la clave "testdrive".

La Pontificia Universidad Javeriana ha optado por utilizar esta herramienta en el X Congreso: La Investigación en la Pontificia Universidad Javeriana que se llevará a cabo en Septiembre de 2009. Se encuentra disponible tambien un listado de conferencias que se apoyan en la herramienta.

jueves, 1 de enero de 2009

Soluciones de Balanceo de Carga

Desde hace algún tiempo he tenido la posiblidad de trabajar con un excelente balanceador de carga: Un F5 BigIP 6400.

Un balanceador fundamentalmente es una caja que se pone al frente de un conjunto de servidores que atienden una aplicación y tal como su nombre lo indica asigna o balancea las solicitudes que llegan de los clientes a los servidores usando algún algoritmo (desde un simple Round Robin hasta algoritmos más sofisticados).

Una opción inicial en este sentido, es utilizar al DNS como un mecanismo para repartir carga entre diversos servidores, pero esta opción por lo que he podido observar no funciona para nada bien, pues los clientes que por alguna razon recibieron la IP de un servidor caido quedarán "pegados" a este.

Es aquí donde un balanceador de carga adquiera una plena justificación, al incorporar un mecanismo de revisión periódico de cada uno de los servidores, que permite excluir del pool de atención aquellos nodos que estan caídos de una manera totalmente transparente para el usuario.

Varias aplicaciones comerciales para internet son inherentemente lentas (¿le suenan familiares Oracle Portal, PeopleSoft, SharePoint, Outlook WEB, Blackboard?). En el caso de F5 a través de un módulo adicional denominado WebAccelerator se pueden conseguir mejoras sustanciales en los tiempos de respuesta percibidos por los usuarios (por el uso de compresión y otras técnicas), asi como un ahorro que puede llegar a ser considerable en cuanto a la utilización de ancho de banda en la organización. Asi mismo, la posibilidad de delegar el trabajo de cifrado SSL a la caja del balanceador (a través de hardware dedicado), puede liberar una carga de procesamiento importante a los nodos servidores.

Pero como usted ya lo sabe... todo tiene un precio, y las soluciones comerciales (en especial las de F5) tienden a ser costosas. Como un partidario de las soluciones de código abierto, creo que vale la pena tambien mencionar otras opciones que existen. HAProxy es una de las soluciones de balanceo de carga con una muy buena reputación que corre sobre Linux, Solaris, FreeBSD y OpenBSD, siendo la primera opción la preferida sobre hardware x86 o x86_64.

La definición del proyecto indica que “HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing. Supporting tens of thousands of connections is clearly realistic with todays hardware“ Cabe resaltar que existen soluciones "Out of the Box" como la de loadbalancer.org que utiliza HAProxy.

¿Ante este panorama cual puede ser una recomendación? creo que dependerá del presupuesto, el tipo de aplicación y de su criticidad para la organización.

  • En el caso de que se trate de una aplicación core de la organización, enfocada a un público en Internet que demande unos tiempos de respuesta muy rápidos, considere una solución como F5 que con WebAccelerator, tiene ya preconstruidas un conjunto de reglas que mejoraran de manera sustancial el desempeño de ciertas aplicaciones (puedo dar testimonio de la importante mejora de rendimiento con Oracle Portal).


  • Si se trata de otro tipo de aplicación, donde el componente de aceleración no es tan relevante y existe una restricción prespupuestal importante, considere una solución como HAProxy.

Algunos recursos que pueden ser interesantes son los siguientes: