Semana de las Tecnologías de la Información BATEIL 2019

Semana de las Tecnologías de la Información en BATEIL
En vivo y en directo.

Es viernes, tempranito por la mañana y me encuentro en el Bachillerato Técnico Industrial de la Laguna dándole una plática a los alumnos sobre Linux y Software Libre.

De hecho este artículo es para hacerles una pequeña demostración de lo que es WordPress como manejador de contenido en sitios web.

Atendiendo dudas.

Durante la plática fueron surgiendo algunas dudas que espero aclarar.

¿Cómo instalar un servidor web?

Se me ocurre que pueden usar XAMPP, es un servidor web apache e incluye PHP, MariaDB y Perl, es excelente para practicar o desarrollar un prototipo antes de instalar un servidor web en forma. Además esta disponible para Windows, Linux y Mac.

Licencias libres en Android.

Como la plática es de software libre, encontré en mi teléfono la lista de programas con sus licencias de código abierto. Me fui a AjustesAcerca del teléfonoInformación LegalLicencias de código abierto y encontré esta información.

La llamada de Issabel.

Al momento de hacer la llamada de demostración de Issabel no se que pasó que el teléfono nunca sonó.

Las dos extensiones estaban conectadas al conmutador, pero nunca se realizó la llamada. No se si fue la red, la luna, el calor, no lo se, pero al momento de probar todo nuevamente (no me iba a quedar con la duda) todo funcionó correctamente.

https://linuxmanr4.com/wp-content/uploads/2019/08/issabel-llamada-a-extension.mp4
Lo que debió de haber pasado.

Python y KML.

¿Se acuerdan del último ejemplo de Pyhton? el que convertía las coordenadas de Mercator en un archivo KML que se puede abrir en Google Earth.

Bueno pues este es el resultado que no se pudo ver porque algo le pasó al internet:

Área Natural Protegida El Sarnoso.

Para los que quieran adentrarse un poco más en Python les recomiendo el libro Inventa tus propios juegos de computadora con Python, esta disponible en varios formatos y en español.

Si hay alguna duda pendiente, por favor dejen un comentario y se las responderé con mucho gusto.

¡Hasta la próxima!

Buscar y reemplazar un texto desde la terminal

Uno podría suponer que una tarea de buscar una cadena de texto y reemplazarla desde un programa editor sería una tarea trivial, pero hay veces que no.

El otro día tuve la necesidad de reemplazar una cadena por otra en un archivo de texto simple y llano, nada fuera de lo ordinario, para esto estaba utilizando el editor Atom y según la búsqueda de la cadena tenía un total de un poco más de mil coincidencias, pulsé el botón Replace All  y nada pasó !!!
Dejé pasar un poco de tiempo y nada, para colmo si intentaba “apresurar” el proceso recibía como respuesta un mesaje de Editor is not responding.

Al parece el editor estaba demasiado ocupado para atenderme.

Intenté bajar la apuesta usando un editor más simple, lo intenté con gedit y el resultado fue muy similar. Al menos Atom presentaba mejor el archivo y podía trabajar más a gusto con el archivo, pero al llegar al momento de buscar y reemplazar era jugar un albur. A veces lo lograba si presionaba el botón Keep Waiting , pero otras veces no.

Mi computadora tiene recursos más que suficientes para completar la tarea, me parecía imposible que una simple búsqueda y sustitución de una cadena de texto representara tal reto. Además si iba a hacer esto de manera rutinaria tenía que encontrar una solución más eficiente.

Domina la terminal, domina el mundo.

Al principio pensé en utilizar un editor más ligero pero no puede haber nada más ligero que la terminal y supuse que debería de existir algún comando que hiciera la tarea.

Para buscar y reemplazar un texto desde la terminal use el comando sed (stream editor for filtering and transforming text) que con una instrucción muy sencilla hizo el trabajo en menos de un segundo !!!

sed -i 's/original/nuevo/g' archivo.txt

Donde:

  • -i (in place) Es decir, el resultado lo guarda en el archivo original.
  • s (substitute) Busca una cadena y lo que encuentra lo reemplaza por otra.
  • original Es la cadena de texto que va a buscar
  • nuevo Es la cadena de texto que va a sustituir a original
  • g Quiere decir global, o sea que hará el cambio en todas las coincidencias que encuentre en el archivo
  • Y por último archivo.txt es el nombre del archivo sobre el cual va a trabajar.

O si lo prefiere, puede aplicar este mismo comando a todos los archivos txt usando comodines y créanme que esto puede ahorrar mucho tiempo.

sed -i 's/original/nuevo/g' *.txt

Y este es tan solo un ejemplo de lo que puede hacer sed, tiene una gran variedad de opciones incluyendo el uso de expresiones regulares y lo mejor es que si es necesario, se puede programar en bash para automatizar tareas que de otro modo se tardarían una eternidad.

Guardaré este comando en mi caja de herramientas linuxeras hasta que lo vuelva a necesitar, por el momento fue de gran ayuda.

El método vi (actualización)

Poco tiempo después de publicar este artículo el buen amigo Rodolfo Zola hizo un comentario en el que me recomienda el uso de vi que también es editor de textos de terminal. Curiosamente la instrucción es muy similar a la de sed.

Igual de rápido que el comando sed.

En el ejemplo pueden ver que sustituye la cadena em por am en un texto Lorem Ipsum de buen tamaño y lo hizo instantáneamente.

Copiar un ISO a una memoria USB con isousb

Para instalar Manjaro Linux es necesario copiar el archivo ISO a un CD o generar una memoria USB de arranque copiando el ISO al dispositivo.

Haciendo los preparativos para el último FLISOL me encontré con Isousb , una herramienta minimalista que se mete en muy pocos problemas al copiar un archivo ISO a un dispositivo USB.

Instalación

Isousb ya forma parte de los paquetes oficiales de Manjaro, supongo que también se podrá conseguir para otras distribuciones, para instalarlo solo es necesario.

sudo pacman -S isousb

Y eso es todo.

Tan fácil como la tabla del 1

Utilizar Isousb es una tarea de preescolar, al iniciar el programa lo primero que hace es preguntar la localización del archivo ISO y enseguida la elección del dispositivo USB que quieres como destino, más simple ¡Imposible!.

Seleccionar el dispositivo usb de destino.

Si quisiera ponerle un pero al programa es que me gustaría que advirtiera que el contenido de la memoria será destruido y una comprobación del tamaño del ISO vs la capacidad de la memoria. De esto último hay una advertencia en la pantalla, pero la comprobación se la deja al usuario.

Con la terminal

Claro que sigue siendo válido el método con la terminal usando el comando dd

dd bs=4M if=/ruta/a/manjaro.iso of=/dev/sd[letra de la unidad]

Los dos métodos son útiles al momento de generar una usb de arranque, solo que siento que por la facilidad de uso y su interfaz gráfica isousb será mi favorito al realizar esta tarea.