Probando Bat en Ubuntu: una versión “vitaminada” de Cat

Hoy vamos a hablar de Bat, un clon “vitaminado” del comando Cat de Linux.

¿Por qué usar Bat teniendo ya Cat?

Pues porque, como ya he dicho arriba, se trata de un clon “vitaminado¿Qué quiere decir esto? Que aunque funciona igual presenta una serie de añadidos que lo hacen más atractivo o funcional:

  • Tiene resaltado de sintaxis para varios lenguajes de programación.
  • Puedes elegir varios temas de colores para dicho resaltado.
  • Incluye integración con Git para ver los cambios en el fichero.
  • Hace el paginado de forma automática.
  • Permite añadir nuevos temas y sintaxis para otros lenguajes no incluidos.

Aquí puedes ver una captura de cómo va lo del resaltado de sintaxis:

Bat sintaxis

Y aquí podéis ver parte de la lista de temas disponibles:

Listado de temas

Para elegir el lenguaje de programación que queremos resaltar basta con invocar el comando seguido de la opción -l y el nombre del lenguaje:

bat -l Python ejemploPython.py

También tenemos la opción de elegir que en lugar de mostrarnos todo el fichero nos muestre solo un rango de líneas:

bat –line-range 5:53 bin/scripts/isaiah/stryper.sh

¿Cómo instalo Bat?

El código está disponible en GitHub, así que tienes la opción de descargarlo desde la página del proyecto. También puedes ejecutar el comando wget desde la consola en Ubuntu:

wget https://github.com/sharkdp/bat/releases/download/v0.8.0/bat_0.8.0_amd64.deb

sudo dpkg -i bat_0.8.0_amd64.deb

O descargarlo desde los repositorios oficiales en Arch-Linux.

sudo pacman -S bat
Anuncios

Cinco jugadores a seguir en la NBA 2018-2019

Si el otro día, para celebrar el arranque de la temporada NBA, lanzaba 15 preguntas que me hacía para el comienzo del curso baloncestístico, ahora vamos con otra entrada: cinco jugadores a seguir y monitorizar esta temporada. ¿Qué cinco historias pienso perseguir este año?

  • DeMarcus Cousins: Cuando el año pasado se rompió el talón de Aquiles Cousins era el jugador con mayor impacto estadístico en la NBA. Un jugador con su tamaño, sus fundamentos y su muñeca era el claro candidato a firmar un máximo este verano que quedaba como agente libre, parecía claro que los Pelicans apostarían por dejarse un pastón en renovarle e intentar que su dupla con Davis fuese la mejor pareja interior de la NBA. Pero la gravedad de su lesión puso muchas nubes en su horizonte y, al no recibir las ofertas que el creía que merecía, decidió firmar con los Warriors por una mid-level exception. ¿Nadie le ofrecía a Cousins un contrato más lucrativo? Seguramente sí, pero parece que él cree en si mismo y ha pensado que mejor jugar un año por 5 millones, recuperarse y firmar un máximo en verano de 2019, puede que incluso con un anillo ya en su mano si la temporada va bien. Que puede ser que no se recupere bien y que entonces lamente no haber aceptado las ofertas de 60 millones millones en tres años que recibió esta temporada. Por eso es una de las historias que voy a seguir.

  • Mo Bamba: Mide 2.13, tiene una envergadura de 2.36, unas condiciones atléticas de ciencia ficción y dicen que también el tiro y la coordinación de un alero mucho más bajo. Dicen que todavía está “por hacer“, que es un diamante en bruto con el que hay que trabajar, pero muchos de los que le han seguido durante su año en la universidad de Texas piensan que este neoyorkino hijo de inmigrantes marfileños puede ser el gran rival de Anthony Davis y Joel Embiid a la hora de dominar las zonas de la NBA en los próximos años. Dicen que sus condiciones son las óptimas para ser un jugador total, con impacto a ambos lados de la pista: puede cerrar el aro o moverse a defender a hombres de perímetro atrás, mientras que en ataque juega tanto de espaldas como de frente y tiene rango de tiro hasta en el triple. ¿Es tan bueno Mo Bamba? ¿Es un Embiid en potencia o es un Thon Maker que promete pero que parece que puede tardar en explotar? Solo el tiempo nos lo aclarará.

  • Jabari Parker: Cuando jugaba en Duke se decía que era como Grant Hill pero con tiro en suspensión. Tras dos lesiones de extrema gravedad en su rodilla hay quien teme que la comparativa con Grant Hill en su etapa universitaria fuera una premonición de una carrera plagada de lesiones. Jabari tiene instinto asesino, es un jugador nacido para finalizar, no le tiembla la muñeca. Apuntaba a novato del año cuando se lesionó tras solo 25 partidos. Tras su regreso dejó pinceladas de jugador con futuro de sempiterno all-star, pareciendo ya recuperado, pero otra lesión le devolvió a la desesperación. Sus problemas con el impresentable Jaso Kidd, de quien se dice que le hizo la vida imposible para intentar que rescindiera su contrato, no ayudaron a que su carrera continuase en Milwaukee. Ahora ha regresado a su Chicago natal donde formará parte de unos jóvenes Bulls en proceso de reconstrucción: junto a un Dunn que parece ir apuntando a ser el jugador que prometía en la universidad, junto a un LaVine que también viene de una grave lesión, junto al sorprendente Markkanen y junto a un Wendell Carter Jr que está muy verde pero que también fue un exitoso producto de Duke ¿Volverá el Jabari que parecía que sería un fijo en los partidos de las estrellas? Realmente lo deseo más de lo que lo creo, pero es un jugador que se merece algo de suerte.

  • Jayson Tatum: No estaba llamado a ser un jugador importante en los Celtics del año pasado. Era el número 3 del draft (y en cierto modo el número 1, ya que habían intercambiado esa elección con los Sixers tras haberle probado), pero llegaba a una plantilla creada para competir en la que se esperaba que tuviese un primer año con poco peso para ir adaptándose a la NBA y cogiendo experiencia, un poco como habían hecho el año anterior con otro número 3 como había sido Jaylen Brown. Pero en el primer partido de la temporada la grave lesión de Hayward trastocó todos los planes de los Celtics. Tras esto Tatum veía como su peso en la plantilla crecía, como de repente tenía que jugar más de lo esperado, con más responsabilidad. En liga regular fue uno de los novatos más destacados, junto a Donovan Mitchell, Ben Simmons o Markannen, y fue cuando llegaron los play-off con Irving lesionado que Tatum se mostró como una potencial futura estrella, liderando a su equipo en anotación noche tras noche. Si sigue progresando tendremos jugón para años.

  • Markelle Fultz: Los Sixers le elegían con el número uno del draft conseguido en un traspaso con los Celtics ¿Tatum les había convencido tanto en los entrenamientos, vieron algo raro en Fultz al trabajar con él o hubo un poco de ambas cosas? Porque su primer año parece dar la razón a Ainge en su movimiento: mientras Tatum se destapó como una estrella los problemas físicos ahogaban la primera temporada de Fultz en los Sixers. Tras haber destacado como una máquina anotadora en el instituto y en la universidad este producto de los Huskies de Washington parecía incapaz de meter un tiro: una extraña lesión afectaba a sus capacidades motoras y degradaba su habilidad para tirar. Cundía el pánico, había quien afirmaba hasta que padecía un Parkinson precoz. Finalmente pudo jugar algunos de los últimos partidos de la temporada, y hasta logró un triple-doble con el que quitaba a Lonzo Ball el récord de haber sido el más joven en firmar uno. Tras un verano de trabajo parece que todavía no está al 100% el tiro de Fultz, pero que ha mejorado y que puede que este año logre recuperarse de todo ¿Veremos al jugador que se ganó el número 1 del draft o se quedará en el cajón de los juguetes rotos? Lo comprobaremos.

Powershell: arrancar o parar el servidor web IIS.

¿Cómo arrancamos, paramos o reiniciamos el servidor web IIS desde comandos con Powershell?

Reiniciar: IISReset /RESTART
Parar: IISReset /STOP
Arrancar: IISReset /START

Esto para y arranca todo el servidor web. ¿Y si queremos arrancar o parar un sitio web concreto? Tenemos dos comandos que lo hacen por el nombre de sitio, que varían según la versión de nuestro sistema operativo:

Arrancar (Windows 8 o Windows server 2012): Start-WebSite -Name “Nombre de Nuestra Web”
Arrancar (Windows 10 o Windows server 2016): Start-IISSite -Name “Nombre de Nuestra Web”

Parar (Windows 8 o Windows server 2012): Stop-WebSite -Name “Nombre de Nuestra Web”
Parar (Windows 10 o Windows server 2016): Stop-IISSite -Name “Nombre de Nuestra Web”

Esta es la sintaxis básica, pero tanto Start-WebSite como Stop-WebSite tienen una serie de parámetros extra que puedes revisar en la web de Microsoft en los enlaces anteriores.

Numerar de forma automática los títulos en Libre Office Writer

Seguimos con las entradas sobre ofimática, que es uno de los temas que van a tener una ampliación en el blog en los próximos meses. ¿Cómo podemos numerar de forma automática los títulos en Libre Office Writer?

Vamos a empezar creando un documento sin trastear en los estilos, poniendo la lista de títulos como simples líneas. Después aplicaremos estilos para tener tres niveles:

Texto ejemplo

Si seleccionamos el título y pulsamos F11 abriremos el menú de Estilos y Formato.

Menú estilos

Tras eso seleccionamos el texto que queremos formatear para el primer nivel y le damos estilos.

Configurando estilos

El el botón de la derecha desplegamos el menú y elegimos Nuevo Estilo a Partir de Selección. Ahí crearemos el estilo para el Título A (le he puesto A ya que Título 1 es uno de los predeterminados por el sistema).

Nuevo eStilo
Pulsamos este botón situado a la derecha y elegimos Nuevo Estilo desde Selección

Repetimos esa operación para definir un estilo para los tres niveles de título que queremos (en tu caso tantos como quieras anidar, claro).

Títulos

Y finalmente aplicamos esos estilos al resto de líneas. Nos quedará en principio algo así.

Títulos formateados

El siguiente punto es crear un esquema de numeración. Nos vamos a Herramientas->Numeración de Capítulos y desde ahí vamos a la pestaña Numeración. Configuraremos así el primer nivel: En Estilo de párrafo seleccionamos el estilo de párrafo Título A, en Número ponemos el formato de numeración que queremos usar, en Estilo de Carácter lo he dejado en ninguno. Los campos Antes y Después nos permiten elegir un carácter que poner precediendo o antecediendo al número y finalmente tenemos Empezar En donde decidimos desde qué numero se empieza a contar.

Esquema Numeración

Aplicamos estilos a los tres niveles de título y, si queremos definir una sangría podemos hacerlo desde la pestaña Posición.

Una vez acabado y aceptado la numeración se aplicará directamente a los títulos que hemos configurado en el documento. El resultado final sería algo así:

Resultado final

Linux: conocer el modelo de tarjeta gráfica y el driver mediante una consulta por línea de comandos

Ayer veíamos la forma de hacerlo en Windows, hoy vamos en Linux ¿Cómo sacamos por línea de comandos el modelo de tarjeta gráfica y el driver? Aquí hay varias opciones:

Tenemos un comando que nos saca todos los dispositivos del sistema con datos del fabricante:

lspci -nn

Esto nos deja una salida muy sucia, demasiados datos, pero podemos filtrar con grep:

lspci -k | grep -EA3 'VGA|3D|Display'

Otra opción es instalar Inxi , un software específico para chequeo de hardware,y ejecutarlo:

#instalamos
sudo apt install inxi
#ejecutamos
inxi -Gx

Entonces ¿para el driver?

#Para ver el del kernel
find /dev -group video
#Paraver el que está en uso
glxinfo | grep -i vendor

Evitar el mensaje de error “No está permitido guardar cambios” cuando intenta modificar una tabla en SQL Server

A veces al realizar ciertas modificaciones sobre una tabla, como cambiar el tipo de datos o la precisión de una columna, el orden de la mismas o al agregar una nueva recibimos un mensaje de error de SQL-Server que nos dice que “No está permitido guardar cambios porque no se permiten cambios que obliguen a crear tablas de nuevo“. ¿Hay alguna forma de modificar esto y permitir el cambio? Sí, hay dos opciones.

La primera es no utilizar la interfaz gráfica para hacer la modificación sino usar instrucciones SQL. Si por ejemplo queremos cambiar la precisión y permitir valores nulos en una columna de la tabla podríamos hacerlo así:

alter table Clientes alter column ObservacionesCliente nvarchar(500) NULL

Otra solución es desactivar la opción de Impedir guardar cambios que requieren volver a crear tablas en el entorno gráfico. En el menú Herramientas, hacemos click en Opciones y, dentro de ese menú, vamos al submenú Diseñadores. Allí desactivamos la opción Impedir guardar cambios que requieren volver a crear tablas y, a continuación, hacemos click en Aceptar para guardar los datos. Os dejo una captura de dicho menú:

SQL-Server Opciones Diseñadores

Expresiones regulares en Javascript para validar fecha u hora.

Vamos con una entrada rápida en Javascript. Ya hace años que revisamos el tema de las expresiones regulares, pero hoy vamos a ver un ejemplo concreto ¿Cómo hago una expresión regular que me valide un formato de fecha dd/mm/aaaa?

Pues sería esta:
/^\d{1,2}\/\d{1,2}\/\d{2,4}$/

Ok ¿Y como valido un formato de hora tipo hh:mm:ss? Pues con esta:
/^(0[1-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$/