jueves, 6 de abril de 2017

Revisar reinicios de windows

Algunas veces al revisar un servidor o computador es necesario ver rápidamente cuándo y quién realizó un reinicio de sistema. Esto es posible de ver directo desde el visor de eventos de windows sin tener que instalar o ejecutar un programa aparte. La forma de hacerlo:

Abrir eventvwr.msc
Ir a Windows Logs > System
Abrir "Filter Current Log..." (si no está el menú, se puede dar clic derecho sobre System)
Agregar número de ID a filtrar: 1074
Presionar ok y listo!

La explicación es más larga que los pocos clics que se deben hacer :P
Esto de paso nos da un indicador de la frecuencia (alta o baja) con la que se está reiniciando una máquina.

domingo, 10 de agosto de 2014

SSRS Listar valores de un Dataset en cuadro de texto

Acá otra entrada sobre SSRS, ya que en estos días estoy elaborando algunos reportes SSRS aprovecho y apunto los detalles de los que me ha costado encontrar información.
Para listar todos los valores de un campo en un cuadro de texto en una sola línea se debe utilizar el siguiente comando:

=Join(LookupSet(1,1, Fields!Campo1.Value, "Dataset1")," , ")

Con lo anterior, se mostrarán "todos" los valores del Campo1 en Dataset1 separados por el delimitador ",".

SSRS Suma condicional en cuadro de texto

Después de un buen rato de estar buscando información sobre mi error sumando valores de un campo y estar cambiando de formatos los números, encontré una solución que ayuda en la mayoría de los casos (hasta ahora en todos los que he probado), así que me animo a escribir por si alguien más está estancado con esto :)
Para simular un contador de las filas que cumplen una condición (nuestro filtro), valor que queremos en un cuadro de texto, la fórmula sería así:

=SUM( iif(Fields!Campo1.Value = "Algo", 1, 0), "Dataset1" )

Eso contará todas las filas de DataSet1 donde el campo llamado Campo1 es igual al texto "Algo". Fácil no? Y qué pasa si quiero sumar un valor de la misma fila? También se puede, sólo hay que indicar el campo a sumar:

=SUM( iif(Fields!Campo1.Value = "Algo", Fields!Campo2.Value, 0), "Dataset1" )

Donde Campo2 contiene números.
Pero acá es donde nos podemos topar con el error:

domingo, 20 de abril de 2014

Solydx: Problemas en la instalación

Estoy probando una nueva distro en mi antiguo netbook para revivirlo y aprovechar que existe :D, después de buscar algunas que fueran estables, no tan pequeñas, con buen rendimiento, bajo consumo de recursos, etc. Opté por probar "SolydX" que ya de plano me gustó que detectara de inmediato la tarjeta inalámbrica, lo que no me sucedió con otras opciones que probé.
Como la mayoría de las distro, SolydX tiene la versión live que puede ser instalada de forma rápida presionando el botón de "Install SolydX" que está en el escritorio. Y es aquí donde empieza el detalle que inspiró esta publicación :P
Ya que el netbook no tiene lector de CD/DVD, opté por usar mi pendrive que está configurado con varias distribuciones y herramientas booteables, si ya tengo eso qué mejor que agregar SolydX a la lista no? Teniendo lista la distro en el pendrive, manos a la obra!

- Encender, ejecutar SolydX, presionar "Install SolydX xx-bit" (en mi caso es 32 bit).
- Configurar idioma, teclado, particiones y a instalar se ha dicho.

Aquí el problema, luego de esperar algunas horas... sí, esperé horas creyendo que era un problema de rendimiento ^^U... la ventana de instalación se quedó congelada en la parte de "Calculating File Indexes". Después, creyendo que era un problema de hardware, revisé RAM, HD, etc. también revisé archivos de instalación y nada.
Para este caso, lo mejor es ejecutar el instalador desde consola:

gksudo live-installer

Con eso se puede ir viendo qué está haciendo el instalador y cuál es realmente el problema.
Cuál no sería mi sorpresa al encontrar que el problema parecía ser algún archivo faltante:

[...]
-- Installation started
Base filesystem does not exist! Critical error (exiting)

domingo, 30 de marzo de 2014

Java: Creando archivos .CSV para Excel

Muchas veces es necesario exportar datos a un archivo para que sea manipulado en Excel por los usuarios. En esos casos, lo más rápido es exportar a archivos delimitados por coma (.CSV) ya que en realidad son simples archivos de texto con un delimitador (coma "," o punto-y-coma ";").
Cuando se trabaja con Java, una forma rápida de crear archivos cuando ya se tiene el texto en un String, es simplemente crear una variable FileWriter y escribir con el método "write" nuestro String, eureka! ya tenemos nuestro archivo.
Hasta ahí todo bien, pero el problema comienza cuando agregamos caracteres especiales, como por ejemplo letras con tildes (á, é, etc). Por defecto al escribir usando FileWriter la codificación utilizada es UTF-8, lo que está bien para agregar caracteres especiales, sin embargo, cuando el programa Excel abre uno de estos archivos no es capaz de reconocer la codificación correcta mostrando de forma errónea los caracteres especiales.
Para corregir esto, una forma fácil es agregar el caracter BOM al momento de comenzar escribir el archivo.
La forma de hacerlo:

FileWriter fwriter = new FileWriter(nombreArch); 
fwriter.write('\ufeff'); 
fwriter.write("El resto del texto"); 

Y taraaannn! ahora Excel reconoce de forma correcta la codificación del archivo y por ende muestra todos los caracteres como corresponde :D
En el caso de usar OutputFileStream, se recomienda utilizar el constructor donde se especifica la codificación a utilizar.

OutputStreamWriter(OutputStream out, Charset cs) 
InputStreamReader(InputStream in, Charset cs)

Eso es todo por ahora, más abajo dejo un ejemplo y algunas referencias.
No olviden comentar si tienen otras formas de corregir lo de la codificación ;)

miércoles, 16 de octubre de 2013

Cisco: secuencia de escape en línea de comandos

Esto será una entrada corta para comentar un punto que pareciera ser obvio, pero no lo es tanto para los que parten con esto, me refiero a la secuencia de escape en la interfaz de la línea de comandos de Cisco, también conocida como CLI por su sigla en inglés (Command Line Interface).
Cuando quieran detener un comando que les da esa opción deben presionar la combinación de teclas "ctrl + &" (sin comillas), o en otras palabras presionar la combinación "ctrl + shift + 6" (sin comillas).
Esto es útil cuando se está haciendo un seguimiento de rutas y no es necesario esperar hasta el final o cuando se hace una seguidilla de muchos pings y necesitan detenerlo.
También es posible cambiar esa combinación, pero eso lo dejo para otra entrada junto con otras útiles combinaciones de teclas ;)

domingo, 28 de julio de 2013

Ver videos 3D como 2D

Hace un tiempo atrás comenté que mi reproductor de videos favorito era el mplayer junto con la interfaz SMPlayer... hoy sigo diciendo lo mismo y de paso lo refuerzo ;)
Les ha pasado que tratan de ver una película en su computador, pero al abrirla la pantalla se ve duplicada o triplicada? Eso es porque la película está en formato 3D. Para poder ver estos tipos de videos he probado algunas formas, acá dos métodos y reproductores que han resultado: vlc y mplayer.


1) La forma utilizada con el reproductor VLC en realidad es aplicar un filtro que corta la porción del video que no queremos, hay que jugar con los pixeles que quieren ocultar hasta acertar, no es algo definitivo como tal, pero sirve. Sólo lo comento por si ya lo tienen instalado y no quieren instalar nada más :P


VLC > Menú Herramientas > Efectos y filtros > Efectos de video > Recortar


Ahí configuran lo que quieran recortar del video mientras se reproduce.

2) La forma utilizada con el mplayer es la de agregar el comando "-vo gl:stereo=3" y listo! Ya se ve como si fuera un video en 2D, es decir, como las películas de toda la vida :P. Si no están usando el mplayer desde una consola, sino que lo están usando con el reproductor SMPlayer es lo mismo. En ese caso, la forma de agregar el parámetro es la siguiente:


SMPlayer > Menú Opciones > Preferencias > Avanzado > Opciones para el MPlayer > Opciones > -vo gl:stereo=3


Aplicar cambios y listo :D


Como referencia, el número 3 correponde a una de las formas en que se le dice al reproductor cómo mostrar el video.


stereo=0 Video 2D normal
stereo=1 Conversión a full color + rojo y cian
stereo=2 Conversión a full color + verde y magenta
stereo=3 Conversión con buffer (superposición)
stereo=4 Conversión de mezcla pixel por pixel


Ahora, ya no tendrán problemas para reproducir todo tipo de videos ;)


Referencias:
http://blog.gauner.org/blog/2012/10/08/watching-3d-movies-in-2d-using-mplayer/

-