<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alejandro Amaral</title>
    <description>The latest articles on DEV Community by Alejandro Amaral (@janoamaral).</description>
    <link>https://dev.to/janoamaral</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F104769%2Ffb77b3e3-3bb8-405f-ac88-72b001a0c451.jpeg</url>
      <title>DEV Community: Alejandro Amaral</title>
      <link>https://dev.to/janoamaral</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/janoamaral"/>
    <language>en</language>
    <item>
      <title>Compilar Ghostty en Debian</title>
      <dc:creator>Alejandro Amaral</dc:creator>
      <pubDate>Mon, 30 Dec 2024 01:23:00 +0000</pubDate>
      <link>https://dev.to/janoamaral/compilar-ghostty-en-debian-d1c</link>
      <guid>https://dev.to/janoamaral/compilar-ghostty-en-debian-d1c</guid>
      <description>&lt;h2&gt;
  
  
  ¿Que es Ghostty?
&lt;/h2&gt;

&lt;p&gt;Ghostty es un terminal emulator creado por Mitchell Hashimoto (tal vez lo&lt;br&gt;
conozcan por HashiCorp) cómo proyecto personal. Los puntos más importantes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Es nativo&lt;/strong&gt;: está diseñado para que sea buildeado nativamente para cada
plataforma, usando Swift y AppKit para macOS y Zig con GTK4 para Linux. Esto
permite que se integre naturalmente con las funcionalidades del propio sistema
operativo, incluyendo atajos de teclado, UI y caracteristicas específicas del
OS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funcionalidades&lt;/strong&gt;: ofrece features tanto a nivel de terminal (como el protocolo
gráfico Kitty, notificaciones, hyperlinks, etc) cómo a nivel de aplicación:
pestañas nativas, split screen y drop-down terminal tipo Quake, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rápido&lt;/strong&gt;: Busca estar al nivel de terminales ultra rápidas cómo Alacritty, para
esto se vale de renderizado en la GPU y el lenguaje de programación Zig.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fjanoamaral.github.io%2Fassets%2Fimages%2Fblog%2F24-12-27%2Fslide-7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fjanoamaral.github.io%2Fassets%2Fimages%2Fblog%2F24-12-27%2Fslide-7.webp" alt="ghostty slide" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Prerrequisitos
&lt;/h2&gt;

&lt;p&gt;Ghostty al estar programado en Zig necesita que si o si tengas su compilador instalado en tu máquina. En el sitio oficial recomiendan utilizar &lt;code&gt;Nix&lt;/code&gt; cómo ambiente de desarrollo/build oficial, pero la verdad que instalar Zig es muy fácil y, además, ya que está, queda disponible por si tenemos ganas de trastear con el lenguaje más adelante.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Warning "Zig 0.13"&lt;br&gt;
Hay que usar la versión exacta 0.13 de Zig porque de lo contrario va a fallar&lt;br&gt;
la compilación. Intenté con la versión más nueva y falló...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Puedes usar este link para ir la página de descarga de &lt;a href="https://ziglang.org/download/" rel="noopener noreferrer"&gt;Zig&lt;br&gt;
0.13&lt;/a&gt; o correr este comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-O&lt;/span&gt; &lt;span class="s1"&gt;'https://ziglang.org/builds/zig-linux-x86_64-0.14.0-dev.2571+01081cc8e.tar.xz'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una vez descargado hay que extraer el archivo &lt;code&gt;tar&lt;/code&gt; y poner el binario en un directorio que esté dentro del &lt;code&gt;$PATH&lt;/code&gt; de tu sistema. En mi caso en particular tengo a &lt;code&gt;~/.local/bin/&lt;/code&gt; en mi &lt;code&gt;$PATH&lt;/code&gt;, entonces voy a usar ese directorio. Si lo quieres tener disponible para todos los usuarios puedes hacer el link simbólico&lt;br&gt;
a &lt;code&gt;/usr/bin/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;En cuanto al directorio donde muevo el binario es porque tengo un &lt;a href="https://github.com/janoamaral/jsr" rel="noopener noreferrer"&gt;repositorio de código fuente&lt;/a&gt;&lt;br&gt;
inspirado en &lt;a href="https://cgit.freebsd.org/src/about/" rel="noopener noreferrer"&gt;FreeBSD src tree&lt;/a&gt; donde tengo scripts para mantener y buildear software desde el código fuente. Es un tema para otro post, pero es importante saber para despejar dudas. En tu caso puedes mover los directorios a donde más te guste.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Extraer archivos&lt;/span&gt;
&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvf&lt;/span&gt; zig-linux-x86_64-0.14.0-dev.2569+30169d1d2.tar.xz

&lt;span class="c"&gt;# [Opcional] Mover los archivos extraídos&lt;/span&gt;
&lt;span class="nb"&gt;mv &lt;/span&gt;zig-linux-x86_64-0.14.0-dev.2569+30169d1d2.tar.xz ~/jsr/zig/src

&lt;span class="c"&gt;# Hacer un link simbólico del binario&lt;/span&gt;
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/jsr/zig/src/zig"&lt;/span&gt; ~/.local/bin/zig
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Info "Links simbólicos"&lt;br&gt;
En esta guía utilizo mucho los links simbólicos porque vamos a tener la&lt;br&gt;
ventaja que una vez que esté todo instalado, para actualizar Ghostty sólo va a&lt;br&gt;
ser cuestión de hacer un &lt;code&gt;pull&lt;/code&gt; del repositorio y volver a compilar para que&lt;br&gt;
todo se actualice al mismo tiempo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Realmente no necesita muchos más requisitos instalados. En el caso que estés usando otra distro puedes ver más &lt;a href="https://ghostty.org/docs/install/build#linux-installation-tips" rel="noopener noreferrer"&gt;requisitos en la página oficial&lt;/a&gt;. Para Debian con sólo correr el siguiente comando es suficiente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;libgtk-4-dev libadwaita-1-dev git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora sólo queda descargar el repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/ghostty-org/ghostty.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Compilación
&lt;/h2&gt;

&lt;p&gt;Llegado a este punto debería ser bastante sencillo compilar Ghostty. Sólo hay&lt;br&gt;
que moverse al directorio del código y buildear&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Moverse al directorio con el código&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;ghostty

&lt;span class="c"&gt;# Buildear&lt;/span&gt;
zig build &lt;span class="nt"&gt;-Doptimize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ReleaseFast
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Según las características de tu máquina (CPU, RAM, etc) puede tardar unos segundos o varios minutos. Una vez finalizado el proceso, vamos a encontrar los binarios en el directorio &lt;code&gt;zig-out/bin/ghostty&lt;/code&gt;. También es necesario saber que hay un directorio&lt;br&gt;
llamado &lt;code&gt;dist&lt;/code&gt; que va a ser importante en el siguiente paso. Por lo pronto la estructura quedaría así:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ghostty
├── dist
│  ├── linux
│  ├── macos
│  └── windows
…
└── zig-out
   ├── bin
   └── share
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Instalación
&lt;/h2&gt;

&lt;p&gt;Si todo funcionó correctamente ahora sólo queda la instalación, que es linkear el binario a un directorio dentro del &lt;code&gt;$PATH&lt;/code&gt; de tu sistema y mover los archivos &lt;code&gt;dist/linux/*.desktop&lt;/code&gt; para que puedas ver los íconos y aparezca en el launcher de tu distro.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Instalar Ghosty&lt;/span&gt;
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/jsr/ghosty/src/zig-out/bin/ghostty"&lt;/span&gt; ~/.local/bin

&lt;span class="c"&gt;# Instalar los archivos desktop&lt;/span&gt;
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/jsr/ghostty/src/dist/linux/ghostty.desktop"&lt;/span&gt; ~/.local/share/applications
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/jsr/ghostty/src/dist/linux/ghostty_dolphin.desktop"&lt;/span&gt; ~/.local/share/applications
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finalmente para configurar la terminal hay que crear el archivo de&lt;br&gt;
configuración, y es tan simple cómo ejecutar lo siguiente&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Crear el directorio si no existe&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.config/ghostty/

&lt;span class="c"&gt;# Crear el archivo de configuración si no existe&lt;/span&gt;
&lt;span class="nb"&gt;touch&lt;/span&gt; ~/.config/ghostty/config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una vez hecho eso, a configurar Ghostty a tu gusto. Aquí está la&lt;br&gt;
&lt;a href="https://ghostty.org/docs/config/reference" rel="noopener noreferrer"&gt;documentación&lt;/a&gt; con todas las opciones disponibles.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo y configuración
&lt;/h2&gt;

&lt;p&gt;Dejo algunos videos para ver de qué se trata esta nueva terminal y cómo configurarla. Y eso es todo, Happy hacking!&lt;/p&gt;





&lt;p&gt;Mi configuración&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;font-family = JetBrainsMono NF Medium&lt;/span&gt;
&lt;span class="s"&gt;font-family-italic = JetBrainsMono NF Medium Italic&lt;/span&gt;
&lt;span class="s"&gt;font-family-bold = JetBrainsMono NF Bold&lt;/span&gt;
&lt;span class="s"&gt;font-family-bold-italic = JetBrainsMono NF Bold Italic&lt;/span&gt;
&lt;span class="s"&gt;font-size = &lt;/span&gt;&lt;span class="m"&gt;10.2&lt;/span&gt;
&lt;span class="s"&gt;theme = tokyonight&lt;/span&gt;
&lt;span class="s"&gt;adjust-cell-height = &lt;/span&gt;&lt;span class="m"&gt;6&lt;/span&gt;
&lt;span class="s"&gt;window-padding-x = &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;span class="s"&gt;window-padding-y = &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;span class="s"&gt;window-decoration = &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="s"&gt;adjust-cursor-thickness = 2&lt;/span&gt; 
&lt;span class="s"&gt;adjust-cursor-height = 6&lt;/span&gt; 
&lt;span class="s"&gt;cursor-color =&lt;/span&gt; &lt;span class="c1"&gt;#00C2FF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v70bjtgc3qx0xyw7f5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v70bjtgc3qx0xyw7f5a.png" alt="ghostty config" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Data processing primero, shell después: Nushell</title>
      <dc:creator>Alejandro Amaral</dc:creator>
      <pubDate>Fri, 06 Dec 2024 22:47:24 +0000</pubDate>
      <link>https://dev.to/janoamaral/data-processing-primero-shell-despues-nushell-20kc</link>
      <guid>https://dev.to/janoamaral/data-processing-primero-shell-despues-nushell-20kc</guid>
      <description>&lt;h2&gt;
  
  
  Nushell no es Zsh
&lt;/h2&gt;

&lt;p&gt;Como desarrollador con años de experiencia trabajando en entornos de línea de&lt;br&gt;
comandos, siempre ando buscando maneras y herramientas para poder mejorar mi&lt;br&gt;
productividad. Es así que hace un par de años me encuentro con&lt;br&gt;
&lt;a href="https://nushell.sh" rel="noopener noreferrer"&gt;Nushell&lt;/a&gt;, una shell desarrollada en Rust, ultra rápida que&lt;br&gt;
tenía una linda sintaxis para manejar datos... Hype de por medio, procedo a&lt;br&gt;
compilarlo y a tratar de migrar mi configuración de Zsh.&lt;/p&gt;

&lt;p&gt;Primer error: &lt;strong&gt;Nushell no es POSIX&lt;/strong&gt;. Algunas funcionalidades y comportamientos &lt;br&gt;
de los comandos diferían de lo que estaba acostumbrado en Zsh. Tras varios&lt;br&gt;
intentos de adaptación, decidí volver a mi shell habitual. Hasta ayer.&lt;/p&gt;
&lt;h2&gt;
  
  
  Cambio de paradigma: procesamiento de datos primero
&lt;/h2&gt;

&lt;p&gt;Necesitaba procesar y cruzar datos de diferentes fuentes en archivos CSV y JSON.&lt;br&gt;
Mi primir instinto cuando se refieren a este tipo de tareas es agarrar y tratar&lt;br&gt;
de hacer un one-liner con Bash, si eso no funciona, script en Bash y finalmente&lt;br&gt;
hacer un script en Python y a otra cosa. Sin embargo, esta vez el one-liner lo&lt;br&gt;
hice en Nushell. ¡Vaya sorpresa que me lleve!&lt;/p&gt;

&lt;p&gt;Primero que nada, en lugar de manejar cadenas de texto cómo lo hacen los&lt;br&gt;
intérpretes de comandos convencionales, Nushell trabaja con tablas y objetos estructurados. Esto quiere&lt;br&gt;
decir que podés realizar operaciones complejas sobre cualquier tipo de dato&lt;br&gt;
estructurado cómo si fuese una base de datos. Pero desde la línea de comando.&lt;br&gt;
Una locura.&lt;/p&gt;

&lt;p&gt;Ahí tuve un momento de iluminación: no estás simplemente construyendo pipes de&lt;br&gt;
texto, estás manipulando estructuras de datos organizadas 🤯.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxd8rw5p60twm1ibqxjd5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxd8rw5p60twm1ibqxjd5.gif" alt="Neo sayung kung fu" width="400" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No sólo archivos estructurados también salidas &lt;em&gt;normales&lt;/em&gt; cómo &lt;code&gt;ls&lt;/code&gt; pueden ser&lt;br&gt;
tratadas cómo tablas. Por ejemplo en vez de ejecutar &lt;code&gt;ls -lh | awk '{print $9"\t"$5}'&lt;/code&gt;&lt;br&gt;
para tener una tabla de nombre de archivo y su correspondiente tamaño, en&lt;br&gt;
Nushell se traduce a &lt;code&gt;ls -la | select name size&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5iz0wj71iyfie6ccxssu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5iz0wj71iyfie6ccxssu.png" alt="Nushell terminal" width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Ventajas que marcan la diferencia
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Procesamiento de Datos Estructurados&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nushell maneja datos estructurados en forma de tablas y objetos JSON. Esto facilita tareas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filtrar datos de forma precisa.&lt;/li&gt;
&lt;li&gt;Convertir formatos (CSV, JSON, YAML, etc.) sin herramientas externas.&lt;/li&gt;
&lt;li&gt;Explorar y transformar datos tabulares con una sintaxis legible y concisa.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conexión natural con APIs y herramientas modernas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seguro que si estás leyendo esto es porque regularmente te toque trabajar con&lt;br&gt;
APIs REST y formatos cómo JSON. Nushell es un placer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;http get https://restcountries.com/v3.1/all?fields&lt;span class="o"&gt;=&lt;/span&gt;name | get name | &lt;span class="k"&gt;select &lt;/span&gt;common nativeName | &lt;span class="nb"&gt;sort&lt;/span&gt; | first 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No es necesario &lt;code&gt;cURL&lt;/code&gt; o &lt;code&gt;wget&lt;/code&gt; ni acordarse de la sintaxis de &lt;code&gt;jq&lt;/code&gt;, esta shell&lt;br&gt;
se encarga de todo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integración intuitiva con otras herramientas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nushell mantiene las funcionalidades básicas de un intérprete, como navegar por directorios, &lt;br&gt;
ejecutar comandos del sistema y manejar procesos. Sin embargo, extiende estas &lt;br&gt;
capacidades con comandos integrados que entienden el contexto de los datos, &lt;br&gt;
mejorando significativamente la experiencia. Así que no hay demasiado problema&lt;br&gt;
si querés usar &lt;code&gt;jq&lt;/code&gt; en vez de los comandos nativos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentación clara y comunidad activa&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Para los desarrolladores que buscamos eficiencia, Nushell ofrece documentación &lt;br&gt;
bien estructurada y una comunidad activa, lo que nos acelera la curva de aprendizaje &lt;br&gt;
y ayuda a la adopción.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Zsh o Nushell? Ambos
&lt;/h2&gt;

&lt;p&gt;Nushell es una herramienta para procesar datos primero y un shell después. Esto &lt;br&gt;
significa que podés usar Nushell para realizar tareas complejas de procesamiento &lt;br&gt;
de datos como: análisis, manipulación y visualización de datos.&lt;/p&gt;

&lt;p&gt;En mi caso en particular voy a continuar usando Zsh pero cada vez que tenga que&lt;br&gt;
procesar información voy a usar esta herramienta cómo primera opción. Y quien dice&lt;br&gt;
¿que tal que termine por adoptarla cómo shell principal? &lt;/p&gt;

&lt;p&gt;Si estás acostumbrado a usar intérpretes tradicionales como Bash o Zsh, es posible &lt;br&gt;
que necesites un poco de tiempo para adaptarte a Nushell. Sin embargo, &lt;br&gt;
una vez que te hayas acostumbrado, vas a encontrar que es una herramienta &lt;br&gt;
valiosa que podés usar para una variedad de tareas.&lt;/p&gt;

&lt;p&gt;Foto de &lt;a href="https://unsplash.com/es/@wesleyphotography?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Wesley Tingey&lt;/a&gt; en &lt;a href="https://unsplash.com/es/fotos/pila-de-libros-sobre-la-mesa-snNHKZ-mGfE?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
