Destacado

VSCode & WSL en Win10

Por motivos del azar he tenido que trabajar con archivos de texto plano de varios MB de tamaño y ni Notepad++ ni nuestro abandonware favorito Sublime han podido dar la talla, y decidí probar VSCode. TL;DR funciona espectacular para cualquier cosa que se os ocurra, y cuando sea mayor y un poco menos terrible con la gestión de mi tiempo libre estudiaré sus virtudes y sus grandezas y las pondré por aquí.

Hoy voy a hablar de un caso muy bonito: el poder tener en la terminal de VSCode una sesión de WSL para que podamos ahí hacer nuestros CMakes y nuestras cosas chulis de Bash pero en el entorno de Windows 10.

Esto que voy a contar viene perfectamente explicado en la siguiente página pero para los no excesivamente dichos en inglés aquí os va un resumen corto:

  1. Tened WSL descargado y configurado (duh). Tened cuidado si tenéis varias distros, ya que se usará la predeterminada.
  2. Os hace falta también VSCode Insiders, la versión beta de VSCode pero no os preocupéis que trabaja en paralelo a VSCode, con distintas extensiones y configuración así que vuestras cosas de VSCode se quedan sin tocar. (añadid Insiders al PATH durante la instalación que después se hace más sencillo todo)
  3. Instalad la extensión Remote Development en Insiders (tened cuidado que el navegador os va a abrir solo seguramente VSCode normal, y que esta extensión solo funciona en Insiders)
  4. Abrid VSCode Insiders, váis al terminal y al workspace que queráis usar. Ahí introducís wsl para que se ejecute el subsistema y ya en él ponéis code-insiders .(importante el punto del final, indica que se abra en ese working directory). Si todo va bien os va a ejecutar una nueva ventana donde tendréis en remoto el sistema WSL en el workspace que habéis mandao, y tenéis todo listo para rockear. Si code-insiders no os funciona en el Terminal, es que no me habéis hecho caso e Insiders no está en el PATH. Lo podéis arreglar invocando con F1 al buscador y abriendo una nueva ventana de Remote-WSL, pero es mucho menos estiloso. Os dejo un GIF muy riquín donde podéis ver este paso.

¡Y ya estaría! Tenéis todas las características de VSCode en Win 10 pero en un entorno de desarollo local de Linux, ¡qué más se le puede pedir a la vida!

Hay algunos ligeros issues puestos en la página de WSL con ciertas aplicaciones (Git de vez en cuando se marea, Node.js + Firebase le cuesta arrancar, etc) pero para el 97% de los casos debería iros perfecto. Para más detalle mirad la documentación oficial. Para volver de la sesión en remoto, solamente teneís que abrir una nueva ventana de Insiders (CTRL+Shift+N de toda la vida) y ya estáis fuera de WSL, aunque me imagino que si no usabais Insiders antes simplemente abriréis Code normal. Además, como en Code cuando abráis Insiders de nuevo abre la última ventana que habéis cerrado, así que suele cargar vuestra sesión de WSL en remoto para que sea totalmente seamless la experiencia. ¡GUD!

Esto es todo por hoy!

EDIT: para mi yo futuro, en WSL la ruta de acceso a los archivos de Windows está en $/mnt. You’re welcome.

Anuncios

Shared Folders & Hyper-V: howto

¡Hola! Después de 2398 años sin subir artículo, hoy toca hablar un poco de cómo conseguir un folder compartido entre tu host de máquinas virtuales Hyper-V y tus máquinas cliente.

Ya hablaré en otro momento de porqué estoy usando Hyper-V o porqué me es tan conveniente, pero por hoy vamos a intentar solucionar este problema que tenemos.

Tal como viene predeterminado, el adaptador de red ya hace un buen trabajo metiéndote tanto dentro del dominio local como a la red propia del host, por lo que no hace falta tocar nada. El comienzo es crear en donde queramos una carpeta que se va a compartir en el host, y darle permisos de sharing:

Así, damos a un usuario permisos compartidos. Ahora, dentro de la máquina cliente, vamos a crear una nueva ubicación de red que apunte a la carpeta que acabamos de crear. Nota: para conocer cómo acceder a esta carpeta podemos acceder a sus propiedades y en “Compartir” ver la dirección:

Mirar aquí qué dirección hay que poner

Aquí necesitaréis iniciar sesión con el usuario y contraseña de la cuenta host. Nota: recalco contraseña, me daba problemas para conectar a mi cuenta host si ésta no tenía contraseña predeterminada, por lo que yo de vosotros pondría una contraseña a vuestra cuenta.

Y con esto, ¡ya tenéis una carpeta compartida! (Se puede cambiar el nombre antes de confirmar)

Con este pequeño pero espero que útil artículo, espero que os vaya bien a la hora de añadir carpetas compartidas en vuestras soluciones Hyper-V :^)

Windows 10 y entrada por pen: cómo no morir

Recordatorio rápido: en el caso de que estemos usando un tablet con Windows 10 y entrada manuscrita (ej. Surface) recordad que hay una opción muy conveniente de deshabilitar: que no acepte entrada táctil si hay entrada de pen en ese mismo momento para que no te pille la palma de la mano de la que escribes.

Se encuentra buscando Windows Ink o Configuración del Lápiz, y es una de las opciones. Aparte podeis elegir si sois zurdos o diestros y otros detalles útiles.

Programación en C  | Tamaños de arrays y sizeof()

¿Nunca te has preguntado porqué main está definido como “int main(int argc, char** argv)” ? Es decir, si nos dan directamente un array con los valores de los argumentos, ¿no es más sencillo correr un bucle y usar un sizeof como delimitador?

¡Pues resulta que no! Al parecer sizeof solo funciona para encontrar la longitud del array si lo aplicas al array original, pero sin embargo si intentamos hacer el sizeof de un puntero, sizeof devolverá el tamaño del puntero y no del array. Por lo tanto, ¡cuando pedimos la longitud del array como argumento (argc) es necesario y no redundante!

Sin embargo, ya que argv termina convenientemente en un puntero a NULL se puede jugar un poco alrededor de esto, pero de todas maneras no es buena praxis, siendo lo estándar llevar en otra variable o en una estructura una indicación del tamaño de un array decaido a puntero.

¿Dónde está /root en el subsistema de Linux de Windows 10?

Siguiendo con el repost que os puse el otro día sobre instalar Ubuntu en Windows 10, hoy os traigo un truco bastante sencillo para ubicarse y navegar con el explorador de Windows: saber donde está root!

Según este rico y nutritivo artículo de askubuntu, se ve que root se encuentra en

C:\Users\Username\AppData\Local\Lxss\rootfs

cambiando “Username” por vuestro usuario obviamente.

Así podéis mover carpetas y archivos como si estuviérais en el Windows clásico y después interactuar con ello dentro de Bash.

Saludos!

Teleco Toolbox | Unidades logarítmicas

¡Hola! Aquí traigo algunas herramientas fundamentales para sobrevivir a una carrera de teleco. Intentaré hacer las explicaciones lo más interesantes y entendibles posible, para alguien con -3 neuronas como un servidor. ¡Que aproveche!

Ok. Unidades logarítmicas. Me voy a explayar un poco en explicarlo, por lo que quiera revisar las fórmulas dejaré lo fundamental como chuletario al final.

Seguir leyendo “Teleco Toolbox | Unidades logarítmicas”