29 jun 2014

Ubicando y Matando Procesos en SQL Server

Una consulta para saber los procesos que están ejecutando ejecutando en nuestra base de datos:


DECLARE @BaseDeDatos Varchar(30) = 'Nombredenuestrabasededatos'
SELECT spid, kpid, blocked,status, db_name(dbid) AS DatabaseName, 
	loginame, hostname, program_name, cmd, waittime
FROM sys.sysprocesses
WHERE db_name(dbid) = @BaseDeDatos
ORDER BY hostname
LA información que nos da son el id de la sesión de SQL Server, el id del hilo de ejecución de windows, id de la sesión que esta bloqueando la consulta, el estado actual de nuestra consulta, el nombre de la base de datos sobre la que opera nuestra consulta, el usuario(el login de base de datos) que ejecuta la consulta, el nombre de la máquina desde donde se realiza la consulta, programa o servicio desde de donde se realizó la consulta, tipo de consulta o comando que se esta ejecutando (AWAITING COMMAND significa que no esta ejecutando ninguna consulta) y el tiempo que lleva la instrucción en ejecutándose o esperando ejecutarse (en milisegundos) Una vez identificado el id de la session que esta bloqueando los demás se puede eliminar (matar) el proceso mediante el comando Kill y el numero de sesión por ejemplo:
Kill 66
Muy útil cuando alguna transacción queda abierta y nuestra base de datos que bloqueada.

8 jun 2014

PDFs y Kindle

Hace muy poco adquirí una Kindle Paperwhite. Cuento con una pequeña colección de ebooks que deseaba leer de forma más cómoda. Sin embargo mis ebooks se encuentran en formato pdf.

Supuse, en primera instancia, que sería tan simple como conectar la kindle a la pc, pasar los pdf y recostarme cómodamente a leerlos. Estaba algo errado, no es tan simple. La kindle pierde gran parte de sus atractivas funcionalidades al utilizarse con pdfs, el cambio de tamaño de la fuente, la búsqueda de palabras, etc... básicamente trata cada página del archivo como si fuese una imagen, Esto no es del todo malo, en algunos casos incluso puede ser conveniente, sobretodo cuando se incluye imágenes o gráficas de algún tipo, pero cuando se trata de únicamente texto es muy poco cómodo.

Mi segunda aproximación, luego de una breve investigación en la red, fue con Calibre, Este software se encarga de manejar nuestros ebooks y la conversión entre distintos formatos e incluso el pasarlos a la kindle, todo de manera muy intuitiva y cómoda.

Sin embargo, luego de algunas pruebas noté que los renglones o los párrafos se partían, saltando a la siguiente línea, no se acomodaban de forma correcta. No impide la lectura, pero definitivamente incomoda bastante, por lo que aun quedaba margen para mejorar el resultado final.

Fue aquí donde entró en escena mi muy apreciado compañero de trabajo y (ex)amigo Norbert. Él, dueño de una kindle de la generación anterior, ya había superado estos inconvenientes por medio de un procedimiento con más pasos, ninguno complicado, pero cuyo resultado es altamente satisfactorio.

A continuación procedo a replicarlos:

Paso 1: Abrir el archivo pdf en Word.
Localizamos el archivo y hacemos clic derecho sobre el mismo, "Open with" y elegimos "Word (desktop)". Estoy utilizando Office 2013.


 Word procederá informarnos que tratará de mantener, en la medida de lo posible, el "como se ve" el pdf.


Paso 2: Edición en Word
Word nos abrirá el archivo y procederemos a ponerlo en modo edición:

Aquí realizamos cualquier ajuste que queramos realizar y que nos lo permita la herramienta: corrección ortográfica, acomodo de espaciado, saltos de página entre capítulos, etc, A Norbert y a mi, particularmente nos gusta añadir una tabla de contenidos, si es que no existe, basado en los headings que igualmente añado o formateo si no lo estuviesen.


Paso 3: Guardar como Web Page Filtered
Una vez finalizados los cambios que queremos,  podemos salvar el documento como un archivo docx por si luego queremos realizar algún ajuste, Pero para lograr mejores resultados los salvamos como Web page Filtered.


Paso 4 Usando Calibre
Lo siguiente es que utilizamos calibre para abrir el archivo que recién hemos creado. Hacemos clic en el icono de Add Books y seleccionamos nuestro archivo:

Paso 5 Editando la Metadata
Una vez con nuestro archivo cargado en Calibre damos clic derecho sobre el mismo y elegimos Edit Metadata -> Edit Metadata Individually

Por medio de esta pantalla podemos corregir el título y autor de nuestro libro, así como buscarle una portada adecuada y, si nos apetece, cambiar alguna otras cosas. Por medio del botón Download metadata nos conectamos a algunas fuentes de Internet de la cual bajar la metadata de nuestro ebook

Paso 6 Convertir en Formato MOBI
Ya con nuestra metadata actualizada y con una bonita portada, procedemos a hacer clic derecho: Convert books -> Convert individually para convertirlo a formato MOBI que es el formato que mejor me ha funcionado en la kindle paperwhite,

Normalmente no realizo cambio alguno en la configuración, pero se puede navegar por las opciones que son bastante amplias y hacer algunas pruebas para ver las diferentes efectos sobre el el ebook.

Paso 7 Pasar el ebook a la Kindle
Finalmente llegamos al paso último. Conectamos nuestra Kindle y a continuación Calibre la reconocerá de forma automática apareciéndonos un icono más llamado Device. Cuando esto se de, damos clic derecho sobre nuestro libro y elegimos Send to device y Send to main memory

Desconectamos nuestra kindle  y ¡listo! podemos comenzar a disfrutar nuestro ebook

Agradecimientos a Norbert, una vez más, por proporcionarme este procedimiento especialmente útil cuando el pdf que queremos ver en nuestra kindle no tiene muchas gráficas o es únicamente texto. Finalmente recordar que solo se debe realizar sobre libros cuyos derechos hayan caducado o sean de libre reproducción.