Cosas que instalar cuando reinstalas Ubuntu Linux

Como os comenté en el anterior post sobre mi actual stack tecnológico, en mi entorno laboral donde me dedico a la ingeniería de software, estoy trabajando con la distibución de Linux Ubuntu Destkop. Al recibir mi ordenador nuevo tuve que instalarle tanto dicho sistema operativo (pues venía con Windows de serie) como toda la retahíla de software y herramientas varias para dejarlo funcional.

Pues bien, en este post os voy a hablar de lo que para mí es imprescindible en términos de aplicaciones y herramientas para trabajar en mi día a día y que me servirá (y espero que también a vosotros) de checklist sobre qué hacer cuando reinstalemos todo el software en nuestra máquinas bien por un formateo, upgrade a una nueva versión o la circunstancia que sea.

Una cosa muy importante antes que nada es restaurar el directorio ~/.ssh donde se almacenan todas las credenciales para acceder a los diferentes servidores que nos evitarán tener que regenerarlas de nuevo y volverlas a copiar una a una en nuestra máquina local para disponer de los pertinentes accesos.

Sistema Operativo
Internet

Aquí os dejo unos viejos conocidos que no necesitan presentación. Siempre está bien tener un par de navegadores para poder testear cosas sobre todo relativas al frontend.

Video
  • SimpleScreenRecorder: Herramienta imprescindible para grabar nuestra pantalla y poder disponer o compartir vídeos relativos a tutoriales, demos o issues que puedas encontrarte y necesite compartir de forma visual.
  • Peek: Es similar pero más simplón, no te graba el audio del ordenador al menos en esta versión de Ubuntu, pero si quieres algo rápido y grabar solo parte de tu pantalla generando un gif, es la tool que buscas.
Comunicaciones
  • Teams: No me gusta, pero es la herramienta corporativa así que mejor tirar del cliente nativo para integrar bien las notificaciones con el OS.
  • Zoom: Para las videoconferencias funciona muy bien y tiene funcionalidades interesantes, ahora, los recursos que se come… poca broma.
IDE / Editores
  • IntelliJ IDEA Ultimate Edition: Me parece el editor definitivo, al menos si trabajas con lenguajes de la JVM. Es, con diferencia, lo que me ha hecho más productivo en mi día a día cuando estoy escribiendo código.
  • Sublime Text: Como editor auxiliar es el que más me gusta, super fácil manipular grandes ficheros y textos para mi gusto con la multitud de shortcuts útiles que tiene parecidos a IntelliJ.
Desarrollo
  • Terminator: Es la terminal por excelencia, te permite grupos de terminales, broadcasting de órdenes y un sin fin de configuraciones.
  • zsh: Shell alterativa que te permite instalar oh-my-zsh para darle coolismo a tu terminal.
  • oh-my-zsh: Un framework con una gran comunidad detrás que permite configurar y dar un aire fresco a tu terminal. Como reza su lema: Oh My Zsh will not make you a 10x developer…but you may feel like one. Prometo post exclusivo de mi configuración.
  • CopyQ: Un must en toda regla, desde el momento en que la instales ya no podrás vivir sin ella. Portapapeles múltiple que te facilitará la vida permitiéndote realizar rápidas búsquedas de tus copia-pega y te dará una velocidad brutal a la hora de reutilizar texto para cualquier motivo.
  • cheat.sh: Hoja de trucos para el terminal que además se puede integrar con varios IDEs, mucha magia.
  • httpie: Cliente HTTP moderlo y amigable, una buena alternativa a curl con soporte para JSON, resaltado de sintaxis, descargas tipo wget, extensiones, etc.
  • ngrok o localtunnel: Exponen tu localhost hacia internet para facilitar el testing o compartir tus cosas.
  • doctoc: Genera índices para ficheros markdown. Muy útil en los típicos README.md muy largos.
  • sdkman: Herramienta ideal para gestionar SDKs en entornos Unix. Puedes por ejemplo descargar y cambiar de versión de Java con un simple comando.
  • homebrew: Gestor de paquetes muy extendido en mac OS que también tiene su versión en Linux. No lo uso todo lo que lo exprimo en el SO de Apple pero tengo algunos bundles.
DevOps
  • docker: Poco que decir si eres desarrollador y trabajas con contenedores, a standardized unit of software.
  • docker-compose: Sirve para correr aplicaciones docker multi-contenedor.
  • lazydocker: Para gestionar los dos anteriores con una cómoda UI no dejes de usar esta herramienta.
  • k9s: Si trabajas con clusters de kubernetes (k8s), esta herramienta no puede faltar en tu terminal. Potensia.
  • kompose: Pasa de tus docker-compose a ficheros de k8s.
  • kubectl: El cliente oficial de línea de comandos para ejecutar acciones en el cluster de kubernetes.
  • kubeval: valida tus ficheros de configuración de kubernetes.

Este post es susceptible de actualizarse si descubro nuevas herramientas que me faciliten la vida en mi día a día. ¡Espero que os sean útiles!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.