miércoles, 23 de noviembre de 2016

Scholarometer parece no funcionar o funcionando a medias

Scholarometer es una herramienta social para facilitar el análisis de citas y ayudar a evaluar el impacto de las publicaciones de un autor. Fue desarrollada en la Universidad de Indiana y lanzada en Noviembre de 2009, con el doble objetivo de explorar el enfoque crowdsourcing para anotaciones disciplinarias y métricas de impacto interdisciplinarias.

Esta herramienta utiliza como fuente de datos Google Scholar. Scholarometer, ofrece un conjunto de visualizaciones para explorar los resultados obtenidos. La primera de ellas es el Author Network (o red/grafo de autor). Es una visualización en forma de grafo en la que se ve la red de colaboración de los autores relacionados al autor objeto de la búsqueda como se observa en la Figura siguiente:



Al posar el mouse sobre un nodo se ve el detalle de los indicadores y de los campos del conocimiento involucrados.

La siguiente visualización es Discipline Network, la cual es un grafo donde se encuentran todas las disciplinas posibles de los campos indicados en el criterio de búsqueda. Se representan las distintas relaciones entre una y otra, y además se pueden filtrar por el nombre de algún campo, al hacer esto en el grafo aparecen los nodos resaltados que coinciden con el nombre o parte del nombre del criterio ingresado como se observa en la Figura siguiente:



Estas visualizaciones se encuentran disponible desde el sitio web de Scholarometer. Son visualizaciones realizadas con el plugin Adobe Flash Player, habiendo aclarado esto, las conclusiones parecen ser obvias, no todos los navegadores ni todos los sistemas operativos son capaces de reproducir este tipo de representaciones gráficas. Es más, se comprobó en este trabajo que la visualización Author Network no funciona en navegadores actualizados (Google Chrome  54.0.2840.99 m y FireFox 47.0.2), el filtro por autor "`no logra filtrar" los autores visualizados ni permite filtrar por autores distintos a los mostrados. No solo eso, Scholarometer no posee una interfaz web de consulta sino que lo hace a través de extensiones del navegador para Chrome y Firefox, una vez instalada la extensión, el navegador puede ejecutar consultas al motor de esta herramienta. Sin embargo, se sospecha que esta herramienta no está preparada para versiones nuevas de navegadores, ya que la interfaz de consulta no funciona, como se observa en las Figuras siguientes: 

 Consulta por nombre en Mozilla FireFox 47.0.2

 Consulta por nombre en Google Chrome  54.0.2840.99 m

Por ello no se muestran gráficas de los resultados de esta herramienta por la imposibilidad de poder obtenerlos. De este modo se concluye que es una gran falencia de este tipo de herramientas académicas, el no contar con visualizaciones acordes y adaptables a los tiempos que corren.

jueves, 17 de noviembre de 2016

Bloqueo en tablas de SQL Server

La capacidad de detectar bloqueo en SQL Server y en cualquier motor de bases de datos es crucial al momento de realizar tareas, transaccione o procesamiento de datos. Algunas herramientas y programas internamente pueden bloquear (LOCK) una tabla mientras se está editando un registro, tal es el caso del demonio de Genexus, quien tiene una sed por bloquear cada objeto que toca.

Cuando una tabla posee un bloqueo, por ejemplo cuando un procesamiento de información es largo, las consultas de modificación de datos (DML), select, insert, update, no se llevan a cabo hasta tanto este proceso haya terminado, ahora bien, si por alguna casualidad este procesamiento nunca termina, por un bloqueo adicional, o una espera indefinida por obtener otros recursos o porque simplemente falló en la confirmación de la instrucción de finalización del ejectutable, las instrucciones que se realizan sobre la tabla bloqueda puede esperar indefinidamente.

Por estas razones poder detectar los bloqueos y fnalizar el proceso (a nivel del SQL Server) es muy importante para que las demás tareas se puedan ejecutar con normalidad.

Una de las tantas formas de hacerlo es tener una tabla auxiliar, llamada por ejemplo TempLock, dentro de la base de datos que se intenta controlar, aquí el script:

Una vez creada esta tabla, las instrucciones a ejecutar dentro de una ventana de consulta son las siguientes:



Los resultados indicarán todas las tablas bloqueadas, con el spid (identificador del proceso del SQL Server) que está bloqueando dicha tabla:


Una vez identificada la tabla bloqueda que se necesita liberar, lo único que resta es ejecutar la instrucción Kill(spid), donde spid es el número que se encuentra en la columna spid de los resultados anteriores, por ejemplo: Kill (581) "matará" el proceso 581 que se encuentra bloqueando la tabla que es necesario liberar.