Magazine

  • Instalando Django 2.0 en Ubuntu Linux 16.04 LTS

    python

     

    El pasado 2 de Diciembre fue liberada la version 2.0 de Django, Framework para desarrollo web escrito en Python.

    Es por esto que en OpenSAI nos dimos a la tarea de hacer un pequeño resumen de como instalarlo de manera facil en nuestro Ubuntu Linux 16.04.

    Antes de instalar Django verificamos cumplir los requerimientos mínimos del sistema.

    Para la version 2.0 es nesario contar con Python 3.5 instalado.

    Luego Procedemos a instalar pip3

    1 - Como súper usuario ejecutamos:

     

    :~$ apt install python3-pip

     

    2 - Una vez instalado pip procedemos a actualizarlo a la ultima versión disponible

     

    $source djangoprojects/bin/activate

    :~$ pip3 install -U pip

     

    3 - Una vez actualizado pip procedemos a instalar como súper usuario el virtualenv para ejecutar las aplicaciones Django de forma independiente al python del sistema.

     

    :~$ pip3 install virtualenv

     

    4 - Una vez instalado correctamente el virtualenv procedemos a crear el directorio donde se alojara la instancia virtual de python.

     

    :~$virtualenv ENV

     

    5 - A continuación procedemos a activar el ambiente virtual de python con el siguiente comando

     

    :~$source djangoprojects/bin/activate

     

    6 - Sabremos que el entorno virtual esta activado cuando veamos que antes del nombre de nuestra terminal aparece el nombre de nuestro ambiente virtual entre paréntesis, ejem: (djangoprojects) usuario@maquina:~$

    7 - Para salir del entorno virtual simplemente ejecutamos el comando:

     

    :~$ deactivate

     

    8 - Finalmente procedemos a instalar Django en nuestro entorno virtual.

     

    :~$ pip3 install Django

     

    9 - Una vez instalado Django procedemos a comprobar que en efecto la instalación fue exitosa, ejecutando el siguiente script desde el interprete de python.

    :~$python3

     

    >>> import django

    >>> print(django.get_version())

     

    Finalemente al ejecutarlo deberemos de obtener el numero de la versión de Django que acabamos de instalar.

     

    TerminalDjgo

     

     

  • Instalar y configurar una solución de virtualización en Ubuntu 18.04 basándonos en KVM, Libvirt y Virtual Machine Manager

    kvm

    KVM (Kernel-based Virtual Machine) es un modulo de virtualización para el núcleo de Linux, que le permite a este hacer las veces de un hipervisor, permitiendo así virtualizar sistemas operativos variados como Linux, BSD, Solaris, Windows, Haiku, MacOS, entre muchos otros.

    Inicialmente creado para correr sobre arquitectura x86, ha sido portado para correr sobre arquitecturas adicionales como ARM, AI-64, PowerPC, etc.

    En la actualidad se consolida como una de las opciones de virtualización más destacadas del mercado, compitiendo fuertemente con alternativas como Xen o VirtualBox. (KVM vs VirtualBox)

    A continuación describiremos una forma sencilla de instalar y configurar nuestra solución de virtualización en Ubuntu 18.04 basándonos en KVM, Libvirt y Virtual Machine Manager

    Instalando KVM

    Para dar inicio con el proceso, lo primero que debemos hacer es verificar que nuestro procesador soporta las instrucciones necesarias para virtualizar con KVM. Para hacer esto ejecutamos el siguiente comando:

    egrep -c '(svm|vmx)' /proc/cpuinfo

    Si al ejecutar el anterior comando obtenemos un resultado igual o superior a 1, quiere decir que nuestro CPU es capaz de soportar las instrucciones y tecnología necesaria para virtualizar.

    Dado lo anterior procedemos a instalar los paquetes necesarios por medio del siguiente comando:

    sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager

    Una vez instalados los paquetes podemos verificar que el proceso de instalación ha sido exitoso de la siguiente manera:

    sudo kvm-ok

    Si el proceso se ha efectuado de manera correcta, deberíamos obtener la siguiente salida:

    INFO: /dev/kvm exists
    KVM acceleration can be used

    En lo personal, recomiendo en este punto reiniciar el sistema para asegurar que todos los demonios y subsistemas esten corriendo adecuadamente.

    A continuación creamos un usuario con los permisos necesarios para poder instalar y manipular maquinas virtuales en nuestro sistema. Para lograrlo simplemente ejecutamos el siguiente comando:

    sudo adduser [nombre de usuario] libvirt

    Ahora estamos listos para verificar la instalación, para hacerlo simplemente ejecutamos lo siguiente:

    virsh -c qemu:///system list

    Si todo ha salido bien, deberíamos obtener la siguiente salida:

    salida

    Una vez ejecutados los ateriores pasos, ya estamos listos para empezar a crear nuestras maquinas virtuales con KVM.

    En el siguiente video se muestra de manera basica, como crear una maquina virtual en QEMU/KVM de CentOS 7 sobre un host Ubuntu 18.04. 

    Miralo también en LBRYhttps://beta.lbry.tv/CentOSon-KVM/9

    ¡Comparte tu conocimiento!

  • La alfabetización tecnológica comienza sin tecnología

    alt

    Aunque puede parecer gracioso, la alfabetización tecnológica con lo último que tiene que ver es con tecnología.

    Es peligroso confundir un proceso de alfabetización tecnológica con un proceso de entrenamiento tecnológico. Si bien el segundo se puede integrar al primero, lo que realmente se debe buscar es el desarrollo interno del ser humano, su capacidad para aprender, desaprender, vencer el temor a lo complejo, lo desconocido, su capacidad para reaccionar resolviendo problemas con las herramientas que su entorno le ofrece.

    Si en un programa educativo se integra de una manera rigida un proceso de entrenamiento tecnológico, es posible que cuando dicho programa cumpla su ciclo normal, los participantes se encuentren totalmente desactualizados, así su certificado educativo diga lo contrario.

    Un proceso de esta naturaleza lo que busca es conducir a los usuarios, desde un estado de consumidores pasivos, a otro en el que vean a la tecnología como una herramienta para potenciar cada una de sus capacidades individuales, estando concientes del poder y la responsabilidad que dichas herramientas les otorgan, y del impacto que pueden tener al interior de sus comunidades.

    Tecnología no sólo es aquello que incluye dispositivos electrónicos, o software. Una cuchara es tecnología, un fosforo, una ruana. Si un niño tiene la experiencia de tejer su ropa, cultivar o criar su alimento, crear su propia música, su propio arte, es muy posible que en algún momento se sienta capaz de construir un cohete o de aprender a usar un paquete de software que nunca habia visto.

     El nucleo central de discusión se ha soportado en {http://www.allianceforchildhood.net/projects/spanish_pdf_files/spanish_fg4.pdf}

    La utilización de nuestra expresión despectiva -pinche- para referirse a la mochila, intenta resaltar el complejo de inferioridad que como “nación” tenemos totalmente incrustado en nuestro cerebro, no valoramos nuestra cultura hasta cuando después de extinta la vemos en un museo, o cuando aparece un extranjero “dizke culto” para decirnos que es maravillosa…¿cuantas veces asociamos elementos valiosos que nos podrían identificar como nación, a características por la que debemos avergonzarnos? y  adoptamos con orgullo la intoxicación de la cultura chatarra que nos inyectan por los poros… un ejemplo en ese mismo “sentido”…  para mi sigue siendo tecnológicamente más avanzada la envoltura de plátano de un tamal, que un empaque tetrapack, la hoja del tamal de principio a fin es mucho más maravillosa, culturalmente, ecológicamente, gastronómicamente…  pero a pocos se les ocurriría incluirlo en una “cena de gala” del parque de la 93 en Bogotá, a menos que le pongamos el nombre en francés.. ya lo dijo alguien -la morcilla en ingles les sabe más rico y se les cobra más caro…

  • La mejor web es la que se crea así misma...

    Es común que la ejecución de una estrategia de presencia virtual, involucre un equipo de trabajo coordinado de distintos roles (no todos de orden técnico), su articulación y financiamiento tiene un impacto directo sobre la calidad del proyecto. Sigue siendo normal en proyectos pequeños, que dichos roles sean asumidos por uno o dos freelances (en el mejor de los casos), con la consecuente nube gris en la pertinencia de su labor a nivel institucional.

    Como opinión personal, la figura de webmaster está mandada a recoger desde hace más o menos 10 años, y cuando aún se maneja, existe el riesgo de que sea un sintoma de inmadurez en el proceso de desarrollo.

    Como sea, nuestra web es esa esquina que proyecta nuestra realidad en el nuevo universo virtual. ¿Que tal si ese espacio, automáticamente, de manera inteligente se actualizara, liberándonos de ajustar su estética (fuentes, colores, diseños), que no tuviesemos que preocuparnos de su presentación en distintos dispositivos, y que integrara de manera inteligente todos "nuestros activos virtuales" desde redes sociales u otros espacios?, pues bien, a grosso modo esa es la propuesta del proyecto http://thegrid.io:

    {youtube}https://www.youtube.com/watch?v=OXA4-5x31V0{/youtube}

    Al visitar la web del proyecto, se ve algo interesante y es que su core de talento se presenta así mismo como expertos open source y la data de sus clientes no quedaría cerrada sino en un repositorio en github. También se observa una estrategia de crowdfounding: si usted se une en este momento no sería un simple usuario más del proyecto, sino un fundador del mismo. 

    La "mejor web" es la que no necesita "güevmaster"! 

  • La visión educativa de OpenSAI explicada por Isaac Asimov

    asimov glider

    Hace mucho tiempo OpenSAI - [Open Source Academic Initiative] arrancó como un proyecto de difusión de software libre y tecnologías abiertas. Decidimos utilizar un nombre en inglés por aquello de que el mundo conoce ese idioma y que en estas tierras nuestro complejo de inferioridad hace que la "morcilla en inglés (blackpouding) sepa más rico y se pueda vender más cara". Funcionó, durante un tiempo nos trataron como a embajadores de la India... mi barba roja cundiboyacense pasó por extranjera. Debido a ciertas características de nuestro entorno, esta primera etapa se detuvo en el momento en que se detectó cierta tendencia hacia prácticas cercanas a la "ganadería educativa" muy común en nuestra sociedad, lo último que queriamos era convertinos en un instituto de cursos técnicos de garaje, medio planeta ya hace eso, no queremos quitarles el pan de la boca. Se revisó la esencia del asunto, consultamos nuestras pasiones más oscuras, y después de varios TED's (tertulias etílicas digitales) visitamos otras dimensiones donde Bochica, totumux en mano (bebida enteógena open source), al mejor estilo Jedi, nos regala las siguientes perlas:

    • tan alumno el profesor es, como profesor el alumno
    • al andar el camino se hace, tu olfato mapa es
    • uno y otro compartir sus rutas deben, si mejorar sus caminos quieren

    Traduciendo, después de un rato se comprende que son afirmaciones obvias, sin embargo nuestro modelo educativo heredado de la era industrial no permite que sea tan obvio el asunto. Creo que se refería a un modelo de aprendizaje donde los maestros desaparecen, no existe un plan de estudios formal sino un flujo de conocimiento basado en rutas de aprendizaje compartidas, dirigido por pasiones internas que se descubren en la marcha, difícil obtener un título porque mientras estemos vivos seguiremos andando sin saber donde termina nuestro camino y no hay tutor que certifique lo aprendido. Aunque puede aparecer una jerarquía por millas acumuladas. Habría que revisar que tecnología sirve para eso, no creo que sea moodle, ni sakai, ni elgg, ni..., tampoco..., menos....Lo que si sabemos es que será libre/Open Source.

    Ahora, lo anterior se parece a ciertas palabras de Asimov, me da la impresión de que este parcero se la pasaba hablando también con Bochica:

    Creo que el "source" en OpenSAI puede convertirse en un lastre, podríamos evolucionar a Open Society Academic Initiative (si se confirmara que la frase es correcta) o también -OpenSAI Academic Initiative- al mejor estilo del acrónimo recursivo GNU... me gusta más el primero porque nos libera del nicho Geek, que respetamos mucho pero creemos puede ser limitante. Desde luego y como siempre, queremos ser un proyecto civil, de carácter social, no gubernamental y menos comercial (comprendiendo lo "comercial" como "ingeniería de catálogo", oficio muy rentable pero que ayuda a mantener nuestro país en el subdesarrollo), lo cual no tiene nada que ver con que los bitcoins no nos acompañen, los negocios nos gustan, tenemos talento para eso, está implicito en la naturaleza de OpenSAI.

  • Lista de algunas herramientas de diseño libres

    Complementando lo charlado el día sábado, con esta entrada quiera compartir un pequeño listado de aplicaciones para diseño gráfico y animación libres y sobre todo muy interesantes y potentes.

    Scribus:

    65px Scribus logo Link oficial - http://www.scribus.net/canvas/Scribus
    Wikipedia - https://es.wikipedia.org/wiki/Scribus

     Inkscape:

    Link oficial - http://inkscape.org/?lang=es
    Wikipedia - https://es.wikipedia.org/wiki/Inkscape

     MyPaint:

    Link oficial - http://mypaint.intilinux.com/
    Wikipedia - https://es.wikipedia.org/wiki/Mypaint

     Alchemy:

    Link oficial - http://al.chemy.org/
    wikipedia - https://en.wikipedia.org/wiki/Alchemy_%28Open_Drawing_Project%29

     Krita:

    Link oficial - http://krita.org/
    wikipedia - https://es.wikipedia.org/wiki/Krita

     Gimp:

    Link oficial - http://www.gimp.org/
    wikipedia - https://es.wikipedia.org/wiki/Gimp

     Blender:

    Link oficial - http://www.blender.org/
    wikipedia - https://es.wikipedia.org/wiki/Blender

    Pencil:

    Link oficial - http://www.pencil-animation.org/
    wikipedia - https://en.wikipedia.org/wiki/Pencil_%28software%29

    Synfig:

    Link oficial - http://www.synfig.org/cms/
    wikipedia - https://es.wikipedia.org/wiki/Synfig

  • Manual de instalación y configuración de OpenEDX

    logoopenedx

    Durante la ejecución de varios proyectos hemos tenido la oportunidad de trabajar con OpenEDX, esta poderosa herramienta nos permite administrar cursos en formato MOOC brindándonos una gran variedad de herramientas para la realización de evaluaciones y gestión de contenidos. debido a su robustez y gran actividad en su equipo de desarrollos decidimos compartir con ustedes este manual para todo aquellos que deseen probar esta magnifica plataforma.

     

    Manual_OpenEDX_OpenSAI.pdf

     

     

  • Mejorando la calidad de la captura de sonido/micrófono con PulseAudio

    Microphone

     

    Hoy en día es muy común desarrollar actividades que implican la captura de sonido por medio de un micrófono. Conversar con nuestro amigos por medio de alguna aplicación vía internet, grabar audio para una presentación o probar nuestras cualidades artísticas cantando nuestra canción favorita. Todas estas son situaciones cotidianas, pero para algunos usuarios de Linux pueden llegar a ser frustrantes debido a la calidad del sonido obtenido.

    Es muy cierto que la calidad del micrófono es un factor decisivo a la hora de grabar un buen audio y más si se desea obtener un nivel de calidad tipo estudio, aun así a continuación explicaremos algunos trucos que podrán ayudar a mejorar la calidad de tus grabaciones incluso si tu micrófono no es el mejor.

    Nota: Los comandos a continuación descritos se basan en Ubuntu Linux 16,04 LTS aunque deberían funcionar sin grades diferencias en la mayoría de distros.

    Cancelación de eco y reducción automática de ruido.

    Para empezar debemos hacer unos pequeños cambios en el archivo de configuración del servidor Pulse. Para entrar a editar este archivo simplemente deberemos ejecutar el siguiente comando con permisos de administrador:

     

    • sudo nano /etc/pulse/default.pa

     

    Ingresamos la contraseña de administrador y procedemos añadiendo las siguientes lineas al final del archivo:

     

    • load-module module-echo-cancel source_name=noechosource sink_name=noechosink

    • set-default-source noechosource

    • set-default-sink noechosink

     

    Finalizamos oprimiendo la combinación de teclas CTRL+X donde se nos preguntará sí deseamos guardar los cambios a lo que responderemos “Si”.

    Estando nuevamente en la consola reiniciaremos el servidor Pulse con el siguiente comando:

    • pulseaudio -k

    Una vez realizado este proceso podemos ir al panel de control de sonido de nuestra distro en la que veremos una nueva opción que nos indica que la configuración se ha efectuado adecuadamente.

     Pulseaudio

     

    Portada: “Microphone” by Grantis licensed under CC BY 2.0

     

  • MicroImpresionismo - Pintura al óleo sobre vidrio reciclado (Artes Digitales Alternativas: Gimp)

    El siguiente es un paisaje de la sábana de Bogotá, los cerros de Cota vistos hacia el norte desde una perspectiva de hierba. Está pintado con óleo sobre un espejo que alguna vez se recogió de la basura de una vidriería, tiene un tamaño de 5cm X 12cm:

     sabanaBogota 1024x490

    Utilizando Gimp podemos jugar con los colores un poco para obtener el mismo paisaje justo antes de llover:

    cerrosCotaParamoGuerrero2 1024x490

    Y desde Gimp, utilizando el filtro globo giratorio, redimensionando, agregando un fondo de estrellas, desenfoque, y efecto de viento se obtiene algo parecido a una foto de planeta de una película tipo años ochenta:

    planetaBacata2 1024x1024

  • Motores De Juego De Codigo Abierto

    Por estos días a nivel latinoamericano se ha lanzado un concurso de desarrollo de videojuegos impulsado por la icónica multinacional Square-Enix conocida por grandes sagas de videojuegos RPG como Final Fantasy, Dragon Quest, Star Oceans, entre muchas otras. Enlace del concurso: http://latam.square-enix.com/Home Lo anterior me ha motivado a publicar un primer listado de herramientas libres muy útiles a la hora de desarrollar un videojuego.

    Motores de juego 3D

    alt              Blender3D Link Oficial - http://www.blender.org/ Wikipedia - https://es.wikipedia.org/wiki/Blender
    alt   Panda3D Link Oficial - http://www.panda3d.org/ Wikipedia - https://es.wikipedia.org/wiki/Panda3D
    alt   Crystal Space Link Oficial - http://www.crystalspace3d.org Wikipedia - https://es.wikipedia.org/wiki/Crystal_Space
    alt   Cube2 Link Oficial - http://sauerbraten.org/ Wikipedia - http://goo.gl/W2atF
    alt   id Tech 4 Link Oficial - https://github.com/id-Software/DOOM-3 Wikipedia - https://es.wikipedia.org/wiki/Id_Tech_4
    alt   Irrlicht Link Ofical - http://irrlicht.sourceforge.net/ Wikipedia - https://es.wikipedia.org/wiki/Irrlicht
    alt   Jmonkey Engine 3.0 Link Oficial - http://jmonkeyengine.com/ Wikipedia - https://es.wikipedia.org/wiki/JMonkey_Engine
    alt   Maratis Link Oficial - http://www.maratis3d.org/

                                                                          

  • Nómadas Digitales: Termux ...varias sesiones en una misma terminal { Notas de Laboratorio }

    termuxNewSession

    Termux es uno de los mejores emuladores de terminal para android, por si mismo se merecería una serie completa de publicaciones.

    Con las resoluciones de pantalla, prestaciones y conectividad de los smartphones actuales, realmente permite llevar una estación de trabajo en el bolsillo...bueno, al menos para quienes se sienten cómodos trabajando desde consola y desde luego atendiendo temas que no requieran gran sofisticación (los clásicos incendios...mover palancas para que la cosa siga andando).

    Es un proyecto estable, muy bien documentado, pero es normal que aparezcan detalles que...de primera mano no son evidentes. Lo reconozco, el manual se lee al final, después de perder minutos valiosos, literalmente con el incendio en la mano (eso sí: ¡se puede acabar el mundo, pero la música de la primera sesión debe continuar!).

    Problema:

    • ¿Cómo se tienen varias sesiones abiertas en la misma terminal?

    Solución utilizada:

    • ...arrastre la pantalla de izquierda a derecha y escoja "NEW SESSION" 🙃🙃🙃

    No me siento orgulloso al reconocerlo, pero esa característica estaba documentada y perdí varios minutos valiosos detectando su uso.

    Pensándolo bien, evidencia que la aplicación esta muy bien lograda, ya que el manual sólo se lee cuando las cosas no son evidentes (al menos para un newbie).

    Me recuerda una historia que alguna vez escuche por ahi...alguien, tal vez no muy amable, o mejor, con la calidez humana tipo IT Crowd, le hizo un comentario, a una madre entusiasmada por las capacidades de expresión digital de su pequeño cuando este jugaba con una tablet:

    Señora, no es que su hijo sea un genio, lo que pasa es que los ingenieros hicieron tan bien su trabajo que cualquier imbécil puede usarla como un maestro.

     ...no quiero saber que les respondió la señora, lo que sí se, es que no fué un comentario mal intencionado. Traduciendo desde lenguaje nerd a-social antiguo: me alegra mucho que tu hijo disfrute la tablet, los ingenieros de esa marca son unos genios, ustedes hicieron una buena compra, ¡mire cómo su hijo sin ser un doctor en ciencias de la computación hace cosas tan sorprendentes! 😁.

     Creo que seguiremos hablando de truquitos usando Termux (al menos para que no se me olviden 😎).

  • Pipeline para la fabricación de contenido digital basado en Blender3D

    Simplemente como referencia compartimos un esquema básico de un pipeline industrial con software libre para la creación de contenidos 3d:

    pipeline

    Obviamente pueden incluirse modificaciones...

  • Pomodoro en Bash en menos de 100 líneas (newbies)

    Cuando se tienen muchas cosas que hacer, a veces no se sabe por donde empezar, se arma un interbloqueo y hasta aparece la procrastinación. Una técnica de trabajo que apoya esa situación es la del Pomodoro. Se fraccionan las tareas en ciclos de al menos 25 minutos (divide y vencerás), donde se ejecuta sólo una tarea, con toda la concentración del mundo (está demostrado que el multitasking en los seres humanos es puro cuento...bueno las mujeres pueden hacerlo, pero no es la norma 😜😇). Al finalizar el día si se hace responsablemente la labor, el nudo comenzará a simplificarse, desde luego conviene llevar un registro, lo que en sistemas de software sería un log.

    Hay una infinidad de aplicaciones para trabajar Pomodoro, sin embargo, por puro placer y como ejercicio práctico para el aprendizaje de Bash y conceptos básicos de programación, publicamos un Pomodoro en menos de 100 líneas de código en Bash. Quién aprenda a manejar realmente este sistema de scripting y una Terminal Linux, tendrá una ventaja competitiva en los sistema industriales de software actuales.

    ChontoRunning

    Todo arranca con un comando básico y sencillito:

    sleep 1

    El comando sleep es nativo de la consola de Linux que nos detiene la ejecución de un script, en este caso precisamente por un segundo. Si se puede hacer eso podemos organizar un loop (ciclo repetitivo) que nos cuente hasta un minuto:

    for (( SECSCount=1; SECSCount<=60; SECSCount++ ))
    do
      tput clear
      print_timer " $(($MINS-$MINSCount)) Minutes " "$((60-$SECSCount)) Seconds to rest... " "$(tput lines)" "$(tput cols)"
      sleep 1
    done

    Se tiene un ciclo para 60 segundos, en cada paso se limpia la pantalla, se imprimen los minutos, segundos, no hay que dejarse despistar por tput que es un comando que permite manejar los parámetros de comportamiento de la terminal:

    tput lines retorna el número de líneas disponiblesn en la terminal actual
    tput cols retorna el número de columnas disponibles en la terminal actual
    tput clear limpia la pantalla
    tput bold coloca los caracteres de la terminal en negrilla
    tput cut Y X posiciona el cursor de la pantalla en la coordenada X, Y (filas, columnas)
    tput setaf cambia color del fondo del texto
    tput rev invierte el coloreado de los caracteres (color en fondo y no en las letras)
    tput sgr0 reinicia los parámetros de la terminal (si no se usa al terminar la ejecución, la terminal queda con otros colores...)
    tput civis oculta el cursor de la terminal
    tput cnorm muestra de nuevo el cursor

    y print_timer es una función creada al inicio del script para imprimir el reloj (el letrero en pantalla con los minutos y segundos...después la miramos), esta función recibe como parámetros encerrados en comillas dobles, el contador de los minutos, el contador de los segundos, el tamaño en filas y en columnas de la terminal. El objetivo es que el reloj siempre se presente en el centro de la pantalla.

    Cómo estámos contando el tiempo en reversa (si tenemos 25 minutos para el pomodoro, vamos hacia atrás hasta llegar a cero...), a 60 le restamos los segundos del contador y a los minutos totales, le restamos los minutos del contador de minutos de nuestro script (...así se hace un ciclo repetitivo for en bash...¡vamos! quién sepa programar en Bash no estaría leyendo este contenido, por eso lo aclaramos).

    Bueno, pero un minuto tiene 60 segundos, luego el anterior ciclo debería estar en otro externo para contar minutos y segundos:

    for (( MINSCount=1; MINSCount<=$MINS; MINSCount++))
    do
      for (( SECSCount=1; SECSCount<=60; SECSCount++))
      do
       tput clear
       print_timer " $(($MINS-$MINSCount)) Minutes " "$((60-$SECSCount)) Seconds to rest... " "$(tput lines)" "$(tput cols)"
       sleep 1
      done
    done

    El ciclo externo cuenta los minutos, el interno los segundos. $MINS es una variable que guarda el primer parámetro recibido desde la consola de Linux por nuestro script. 

    Hay que aclarar que en la terminal del sistema, nuestro script se ejecuta asi:

    ./chontoBash.sh NumMinutesToWork "My Task to work in double quotes..."

    el ./ le indica al sistema Linux que ejecute el script chontoBash.sh del directorio actual, NumMinutesToWork...simplemente es un número de minutos a contar, "My Task to work in double quotes..." es la tarea que se registrará como ejecutada. Entonces se reciben dos parámetros, que dentro del script se validan asi: 

    if [[ $# != 2 ]]; then
     tput bold; echo Error in arguments...; tput sgr0;
      echo
      print_help
      exit 1
    fi

    if ! [[ $1 =~ ^[0-9]+$ ]]; then
      tput bold; echo...how many minutes do you like to work?; tput sgr0;
      echo
      print_help
      exit 1
    fi

    Tenemos dos comparaciones, el primer if valida que desde la terminal de linux nos entreguen (2) dos parámetros, el segundo if valida que el primer parámetro sea un número entero. Son validaciones básicas, obviamente se pueden mejorar. Si ocurre alguna de las dos exepciones el programa termina con exit 1 (programa o script aquí son sinónimos...ya ves tú, estás programando en Bash).

    Una función en Bash se crea así:

    print_help (){
      echo USAGE FROM TERMINAL:
      echo ./chontoBash.sh NumMinutesToWork \"My Task to work in double quotes...\"
      echo If not exist, chonto will create the log file log.chonto, csv file to make data analytics:
      echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)"
      echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)"
      echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)"
      echo .
      echo .
      echo .
    }

    La ventaja es que para imprimir en pantalla todas estas líneas con el comando echo, una vez creada la función, sólo tengo que llamarla: print_helpcuántas veces quiera (el nombre de la función tu te lo inventas), esto ahorra trabajo, y mejora la organización del script.

    Las otras funciones del script son:

    log_chonto_break (){

      end_time=$( date '+%s' )
      echo $(date +"%F %H:%M:%S"), $((($end_time - $1) / 60)) Mins, "$2", BREAK >> log.chonto
      mplayer glass.ogg > /dev/null 2>&1
      tput clear
      echo "Unfinished task logged :("
      tput cnorm
      exit 1
    }

    log_chonto (){
      end_time=$( date '+%s' )
      echo $(date +"%F %H:%M:%S"), $((($end_time - $1) / 60)) Mins, "$2", FULL >> log.chonto
      mplayer glass.ogg > /dev/null 2>&1
      tput clear
      echo "Task finished logged :)"
    }

    print_timer (){
      #center the timer text, centering the cursor in Y/2:X/2-((text length)/2)
      tput cup $(($3/2)) $((($4/2)-($(expr length "$1 $2")/2)))
      tput bold; tput setaf $((1 + RANDOM % 10)); tput rev; echo "$1$2"; tput sgr0;
    }

    print_timer se encarga de centrar el cursor calculando primero el tamaño del reloj (cuántas letras tiene nuestro reloj para que quede centrada, verticalmente y horizontalmente), el RANDOM con el módulo es para jugar los colores de impresión en pantalla, hace que cada segundo estos cambien.

    log_chonto detiene el reloj y registra en el archivo log.chonto la tarea terminada. La magia de los dos >> actúa como una redirección de los datos, permite que si el archivo log.chonto no existe se cree, y si existe agregue la linea de registro al final del mismo. Registrando en esa línea, la marca de tiempo, el tiempo ejecutado en minutos, el texto descriptivo de la tarea, la palabra FULL indica que la tarea se ejecutó en su totalidad...que no se oprimió CTRL + C.

    ¿Qué pasa con el CTRL+C? que hay que capturarlo y asociarle una función que se ejecutará cuando ocurra. Esa función es log_chonto_break, hace lo mismo que log_chonto, pero registra en log.chonto la palabra BREAK para indicar que NO se terminó la tarea, junto con el tiempo parcial ejecutado. El programa termina con el correspondiente aviso en terminal de carita triste: echo "Unfinished task logged :("...log_chonto por el contrario SI imprime carita feliz.

    La interrupción de CTRL+C se captura así:

    trap 'log_chonto_break "$start_time" "$2"' SIGINT

    ¡Ahhh bueno!...hay que tener mplayer instalado (búscalo en tu distribución de Linux preferida), para reproducir la campanita al terminar, para eso es el archivo de sonido glass.ogg

    trap (comando nativo de Bash) recibe como parámetro el nombre de la función a ejecutar (log_chonto_break), pero esta función a su vez recibe como parámetros el tiempo de inicio registrado y el nombre de la tarea que se le envío por consola a nuestro script...almacenado en la variable $2.

    Para anotar: si un script recibe tres parámetros estarían internamente guardados en $1 $2 $3. A su vez cuando una función como las que mostramos, recibe parámetros, para ella quedarían guardados en $1, $2, $3...etc. y sólo existirían en su espacio de función, por eso los corchetes. Es como una caja negra, un script, dentro de un script.

    Al ejecutar un script, estas funciones no se ejecutarían automáticamente, sólo lo harían cuando se llamen explícitamente, entonces, las primeras líneas reales de ejecución de nuestro programa (obviando los if de validación), serían:

    MINS=$1
    start_time=$( date '+%s' )

    En $MINS queda guardado nuestro primer parámetro recibido desde la terminal Linux, los minutos a ejecutar (hay que usar el símbolo $ cuando se quiera llamar su contenido), y start_time arranca nuestro reloj. Si todo sale bien, la última línea de ejecución es:

    log_chonto "$start_time" "$2"

    Es un llamado a la función de guardado en log.chonto, que recibe como parámetros el tiempo de inicio y el nombre de la tarea. El archivo log.chonto es un archivo separado por comas, que puede usarse en otros sistemas (hasta en el mismo office...bueno, mejor LibreOffice) para generar analíticas.

    El script completo sería el siguiente:

    #!/bin/bash

    print_help (){
       echo USAGE FROM TERMINAL:
       echo ./chontoBash.sh NumMinutesToWork \"My Task to work in double quotes...\"
       echo If not exist, chonto will create the log file log.chonto, csv file to make data analytics:
       echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)"
       echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)" 
       echo "TimeStamp, TotalMinutes, Task worked..., status: completed (FULL) or incomplete task (BREAK)"
       echo .
       echo .
       echo .
    }

    log_chonto_break (){
         end_time=$( date '+%s' )
      echo $(date +"%F %H:%M:%S"), $((($end_time - $1) / 60)) Mins, "$2", BREAK >> log.chonto
      mplayer glass.ogg > /dev/null 2>&1
      tput clear
      echo "Unfinished task logged :("
      tput cnorm
      exit 1
    }

    log_chonto (){
      end_time=$( date '+%s' )
      echo $(date +"%F %H:%M:%S"), $((($end_time - $1) / 60)) Mins, "$2", FULL >> log.chonto
      mplayer glass.ogg > /dev/null 2>&1
      tput clear
      echo "Task finished logged :)"
      tput cnorm
    }

    print_timer (){
      #center the timer text, centering the cursor in Y/2:X/2-((text length)/2)
      tput cup $(($3/2)) $((($4/2)-($(expr length "$1 $2")/2)))
      tput bold; tput setaf $((1 + RANDOM % 10)); tput rev; echo "$1$2"; tput sgr0;
    }

    if [[ $# != 2 ]]; then
      tput bold; echo Error in arguments...; tput sgr0;
      echo
      print_help
      exit 1
    fi

    if ! [[ $1 =~ ^[0-9]+$ ]]; then
      tput bold; echo...how many minutes do you like to work?; tput sgr0;
      echo
      print_help
      exit 1
    fi

    MINS=$1
    start_time=$( date '+%s' )

    tput civis

    trap 'log_chonto_break "$start_time" "$2"' SIGINT

    for (( MINSCount=1; MINSCount<=$MINS; MINSCount++))
     do
     for (( SECSCount=1; SECSCount<=60; SECSCount++))
      do
       tput clear
       print_timer " $(($MINS-$MINSCount)) Minutes " "$((60-$SECSCount)) Seconds to rest... " "$(tput lines)" "$(tput cols)"
       sleep 1
      done
    done

    log_chonto "$start_time" "$2"

    Todo el script se encuentra en https://github.com/Open-SAI/ChonToPom obviamente es libre, más que libre esta bajo una licencia MIT.

    El nombre de Chonto...ya se imaginarán por qué es. Pomodoro en italiano es tomate, en estas tierras hay tomate...chonto, el software libre da la libertad de crear tecnología y cuando se hace, uno le pone el nombre que quiera, así también se exporta cultura.

  • Proyecto GOOSEBERRY

    Conoce y apoya el Proyecto GOOSEBERRY de la Blender Foundation, la primera película animada totalmente libre y construida de manera colaborativa.

    gooseberry

  • Qué es un Hackening

    Según la Wikipedia un  Happening es:

    "... manifestación  artística, frecuentemente multidisciplinaria, surgida en los 1950  caracterizada por la participación de los espectadores. Los happenings  integran el conjunto del llamado performance art y mantiene afinidades  con el llamado teatro de participación."

    El Hackening se apoya en esa idea pero vincula las nuevas tecnologías de una  forma absolutamente profana, busca trascender las clásicas reuniónes de  geeks, ingenieros, o expertos en tecnología. El participante no es una entidad pasiva consumidora de información. Un Hackening no es una conferencia, no es un  coloquio, no es un seminario. En un Hackening la tecnología se debe desnudar y los simples mortales se relacionan intimamente con ella. Un Hackening  se parece a un hacklab pero en la plaza de mercado o en un club  nocturno. En un Hackening la tecnología no es en sí misma el objetivo,  sino más bien el medio para la creación colectiva y el resultado de dicha creación no se conoce al iniciar el hackening.

    Para tener en cuenta:

    • El espacio donde se realiza incluye elementos que generan un estimulo a los sentidos de diferentes formas (sonido, vídeos, comidas, bebidas, show's en vivo...)
    • Conviene que el grupo de participantes sea totalmente heterogéneo y que no exista una mayoría distinguible o predominante de un área de conocimiento específica.
    • Cada participante debería comprometerse a realizar una actividad basada en un trabajo propio, proyecto personal o tema de su interés
    • La propuesta hecha por cada participante debería integrar la propuesta de otro participante, la coordinación para ello se debe realizar en el sitio del hackening durante su ejecución, y puede cambiar cuantas veces se desee durante todo el evento, sería ídeal si dicha integración de actividades ocurre entre profesionales de áreas distintas, ojalá de muy poca afinidad.
    • Todos los participantes deberían estar a la vista de los demás para estar concientes de su participación.
    • Uno o varios asistentes deberían actuar como cronistas, comprometiendose a generar un registro de las actividades y una recopilación de resultados que pueden no ser apreciados o detectados en primera instancia por los participantes activos.
    • Debería existir un resultado o producto palpable que cada participante entrega al terminar (una imagen, un vídeo, un script, un párrafo escrito, una ruta de navegación en internet, un comentario a un blog en internet, etc).
    • Es posible que se pueda programar el inicio de un Hackening pero no su finalización...

    Ejemplos y características del trabajo realizado por los crónistas:

    • gracias a la interacción entre varios participantes se detecta una idea o propuesta para una herramienta tecnológica que facilmente se expresa en un párrafo
    • de la actividad de algunos participantes surge como resultado algún material gráfico, multimedia o similar que es abandonado al terminar pero recopilado por el cronista
    • se ejecuto o realizó alguna configuración o secuencia de comandos de consola, se recopilan y comentan para garantizar que sea repetible lo realizado, lo ideal es que se publique en plataformas como github, así fuera algo muy básico...
    • cronístas de áreas profesionales diferentes ofrecen perspectivas y registros diferentes (no es igual la historia contada por un ingeniero que por un experto de ciencías sociales).
    • si varios cronistas registran en vídeo todo el evento, podría surgir un video total con una misma línea de tiempo, pero varias perspectivas del evento que podrían presentarse en algún tipo de pantalla dividida...

    El objetivo del Hackening es hacer una integración activa y en tiempo real de distintos puntos de vista que en el día a día de cada participante no se presenta. Es común ver como profesionales y expertos de un área determinada unicamente tienen contacto con profesionales de su misma área o áreas áfines, esto podría verse como algo natural, pero puede generar problemas de -parcialidad-. Un ejemplo sería la definición de caos que un físico daría y la definición de ese mismo tema que ofrecería un biólogo o un sociólogo, los tres tendrían la razón y podrían dar una definición correcta del tema, hasta podrían coincidir en expresiones matemáticas que soporten su definición pero los matices deberían ser bien distintos. Sería interesante demostrar esto último usando un Hackening para ello.

    Un beneficio inmediato del Hackening podría ser su papel como motor colectivo para la creatividad. Algunas ideas que hoy nos sorprenden han surgido de conexiones entre espacios de trabajo, perspectivas, o áreas que no son evidentes para la gran mayoría de nosotros.

    Otro beneficio prodría ser la promoción de capacidades de "traducción de conocimiento" entre expertos de áreas totalmente distintas, o desde expertos hacia personas sin ningún tipo de preparación académica o experiencia profesional. Si un experto es capaz de explicar conceptos o ideas complicadas en un "discurso de asensor" a una persona que no posee formación académica o experiencia, puede ser algo muy positivo para un entorno social.

     

  • Reset Moodle Contraseña de Administración vía CLI

    17Junio2018resetAdminMoodleCLI

     

    Problema

    • Tengo una instalación de Moodle y no encuentro la clave de administración...la he olvidado 😵

    Solución Utilizada

    • Moodle tiene varias utilidades administrativas que funcionan desde la terminal linux de lado del servidor
    • accedemos a la instancia que aloja nuestro Moodle (...se recomienda NO olvidar también esas credenciales 😁)
    • nos dirijimos a la ruta de la carpeta específica donde se encuentra instalado Moodle (para sistemas CentOS generalmente un directorio bajo /var/www/html)
    • la raíz de archivos de Moodle incluye una carpeta llamada "admin" y dentro de ella otra "cli", entramos hasta esta última
    • allí encontramos varios scripts administrativos, entre ellos uno que nos permite reiniciar la clave de usuarios, lo ejecutamos desde la consola:
      • php reset_password.php
    • nos preguntará el usuario que queremos afectar y la nueva contraseña

    Imagen Original (CC Atribución): https://flic.kr/p/2EDZXp

  • Responsabilidad Social del “Ingeniero de Sistemas”

    ¿Existe la Ingeniería de Sistemas o es un estado mental inducido?

    Cierta enciclopedia muy popular en internet[1] define a la ingeniería de sistemas desde un enfoque interdisciplinario que permite  estudiar y comprender la realidad con el objetivo de implementar u optimizar sistemas complejos. Esta definición esta totalmente alejada de la imagen que se tiene en Colombia de nuestros Ingenieros de Sistemas, donde algunas veces se espera, o ellos mismos se proyectan (desde luego exagero...) como un tipo de “autista tecnologico”, clasificado dentro de una subespecie que se alimenta de bytes e integra el destornillador, el teclado, el mouse u otros artilugios como extensiones naturales del cuerpo.

    Es necesario tener presente que el campo de acción definido para la Ingeniería de Sistemas en nuestro país, pertenece en el exterior a otras ingenierías. Es muy posible que si nos presentamos en Brasil o Argentina como Ingenieros de Sistemas, inmediatamente aparezca la pregunta: Ingenieros de Sistemas ¿de qué?

    Algo de historia - si alguién conoce otra que nos cuente

    Esta Ingeniería como la conocemos únicamente existe en Colombia, y aunque esto podría ser motivo de orgullo nacional, porque desde nuestro país se estaría gestando un nuevo campo profesional, la situación es distinta.  El término “Ingeniería de Sistemas” se creó hace varias décadas “sobre la marcha”, para denominar al “especialista” encargado del mantenimiento de los “sistemas” de computo contables u ofimáticos, muy populares desde los años 70 u 80. Por eso mismo se asoció el término de forma natural con todo aquello relativo a hardware, software, bases de datos, sistemas operativos y últimamente con Internet.

    Fué también muy común que si un joven estuviera interesado en especializarse en programación, computadores, Internet, o videojuegos, inmediatamente pensara en Ingeniería de Sistemas, sin comprender que para eso no hay que pasar cinco años en una institución de educación superior (hay un montón de casos de éxito que así lo confirman). Más aún, tal vez ese conocimiento no se encuentra en las universidades, ya que existe una tendencia a que los programas académicos evolucionen más lentamente que su entorno, o a que se contaminen -calculadamente- con visiones orientadas hacia procesos de instrucción técnica básica, alejados del conocimiento que realmente se maneja "tras bambalinas", en las grandes corporaciones tecnologicas, que dictan en última instancia las tendencias del mercado, y de cierta forma nuestro futuro.

    ¿"Choferes tecnologicos"?

    No estoy de ninguna manera en contra de la maravillosa realidad que se encuentra en nuestras universidades, donde es frecuente ver como jóvenes talentos crean proyectos con una base técnica muy fuerte, y un nivel que bien podría ser atractivo para una corporación nativa de Sillicon Valley, muchas veces sin los recursos adecuados y desgraciadamente con una proyección en el tiempo de naturaleza desechable, por carecer de gestión, acompañamiento y visión.

    No obstante, ¿que pasará con estos jóvenes cuando la tecnología que manejan se vuelva obsoleta, cuando un talento más jóven con conocimiento técnico más fresco aparezca o cuando su trabajo sea fácilmente realizado por alguna solución automatizada?.

    El mensaje que se intenta transmitir es que nuestros expertos y profesionales de áreas afines como “Ingenieros de Sistemas”, Ingenieros Electrónicos, de Software, Programadores, Administradores de Servidores, Webmasters[2], Diseñadores, etc., sean excelentes en su labor profesional, pero trasciendan su estatus de “choféres tecnológicos”, que se erradique cierta discapacidad inversa[3] que ha contaminado nuestro nicho y nos nubla la mente, patrocinando entre otras cosas su propia explotación y muchas veces una desventaja palpable en sus proyectos de vida.

    ¿Implicaciones políticas o técnicas? - Patrocinadores de nuevos modelos económicos

    Conviene comprender que actualmente, las tecnologías que ell@s manejan tienen tanta relevancia en las organizaciones y sociedades, que su impacto se debería medir más en términos políticos[4] que técnicos. Planteo algunos casos teóricos para ilustrarlo:

    • un programador tiene acceso a un sistema de conteo de votos, y ofrece al mejor postor, “una puerta trasera” a dicho sistema, con el fín acomodar según conveniencias e intereses, de forma transparente y oculta para el público, los resultados.

    • un contratista que confiadamente ofrece una solución de seguridad, a una entidad estatal, pero dicha solución incluye desde su casa matriz en el exterior, características que se activan a solicitud, presionando a dicha entidad para actuar de una u otra forma, según intereses económicos o políticos en juego. El contratista no podría de ninguna manera preveer esto, porque los términos de propiedad intelectual de dicho producto, le impedían conocer como funcionaba en su interior. En esencia compró y vendió una caja negra.

    • crear o eliminar dinero es fácil, ya que en la práctica el dinero es un número almacenado en una base de datos, no debe estar necesariamente respaldado por oro depositado en una bóveda. No es tan ilegal si lo hace una entidad bancaria según sus procesos previamente establecidos, la ley respalda estas acciones. Obviamente un error de seguridad en estos sistemas nunca sería conocido por el público

    • elevar de forma desmedida por razones comerciales, los costos de acceso a tecnologías, separando de paso a la sociedad en grupos élite que acceden a sus beneficios y masas retrasadas que sólo las conocen por publicidad o “piratería”.

    • podría seguir citando otras muchas situaciones parecidas, que afectan de forma casi perversa nuestra sociedad y lo que damos por establecido. Obviamente la intención no es caer en planteamientos paranoicos de ningún tipo[5].

    Es por esto conveniente y hasta necesario, que todo el conocimiento involucrado en este tipo de tecnologías, sea abierto, público, y libre. Esto no arriesga para nada la economía que existe alrededor de ellas. Lo que si cambia radicalmente, es el modelo económico utilizado.

    Lo ilustro con otro ejemplo teórico exagerado: las leyes de Newton que se encuentran en cualquier biblioteca escolar, permiten enviar un satelite al espacio. Usted no cobraría por utilizarlas, ni por leerlas, hoy en día pertenecen a la humanidad, cualquier ser humano lo suficientemente dotado, podría “hasta mejorarlas” sin pedir permiso a nadie. Lo que sí se debería cobrar es el trabajo involucrado en su aplicación, con el objeto de poner el satelite en órbita.

    Los ingenieros y especialistas de estas áreas deberían estar concientes de las implicaciones de su trabajo. Ellos pueden manipular el sistema nervioso de la organizaciones y hasta de las sociedades. Su poder no se limita únicamente a problemas informáticos de seguridad, ellos pueden crear herramientas o implementar tecnologías que generan un cambio de realidades,  sin depender de políticos de turno, o grupos económicos poderosos, y pueden hacerlo de una forma casí anónima, no necesitan convertirse en activistas tipo Green Peace, aunque algunos lo hacen.

    Lo anterior es especialmente cierto si nos enfocamos en proyectos basados en software, ya que para crear dichos productos lo que realmente se necesita es estar dispuesto a “quemar pestañas”, a utilizar las neuronas arriesgandose a ser creativo. Es posible que nunca antes en la historia, se haya tenido una oportunidad tan palpable de crear riqueza y manipular realidades simplemente con ideas.

    Algunos ejemplos conocidos de nuevas realidades que puede propiciar ingenieros y especialistas del área

    Hace 10 años para aparecer o anunciarse en un medio de comunicación masivo, como la radio o la televisión se dependía de la disponibilidad de recursos significativos o de una red de contactos de muy alto nivel. Actualmente es muy común que medios como blogs, canales de vídeos, foros, u otros recursos similares, con una naturaleza 100% digital, manejen niveles de audiencia de igual tamaño o superior a los alcanzados por contenidos presentados en medios tradicionales. Cualquier persona, sin gastar un centavo puede iniciar un medio alternativo de este tipo, y si lo organiza de tal forma que los mismos visitantes creen y estructuren el contenido, no es descabellado superar a una casa editorial o un sistema de noticias con periodistas y escritores de planta.

    Lo interesante es que la naturaleza de este tipo de contenidos no tiene porque subordinarse a los grupos económicos que controlan los medios tradicionales, esto permitiria mostrar la realidad tal cual como es. Es por eso que existe tanta preocupación, con la adopción en nuestro país de leyes tipo Sinde/Hadopi, que disfrazando o utilizando como disculpa temas de propiedad intelectual y piratería, legalizan la censura, atacando la libertad de expresión y acabando con esta oportunidad. Me refiero a la conocida Ley Lleras. Estas iniciativas lo único que favorecen es la creación de sociedades orwellianas[6].

    Otro tema de tantos en la misma linea, es el de la industria musical. Si las  empresas tradicionales no cambian su modelo de negocio, están destinadas a desaparecer, sin importar su tamaño y capital. Esto se debe a la popularización de alternativas técnicas para la creación, edición, y distribución de contenidos digitales. Dicha industria sigue viendo a la piratería como un enemigo, sin comprender que es más bien el síntoma de que el su mundo ha cambiado, mantienen una visión analógica de hace más de treinta años. Si despertaran, se darían cuenta que en la era digital, la piratería es una estrategia de marketing extremadamente barata, con una  naturaleza vírica, y que el negocio no es vender copias físicas de contenidos, sino experiencias y el placer de pertenecer a nuevas tribus, nichos, o comunidades.

    Uno de tantos pelígros - El oscurantismo digital

    Estas nuevas tecnologías no van a acabar con todos los males de la humanidad, es más, puede estar creando un gran peligro a futuro, el de que nuestra época sea caracterizada por un “oscurantismo digital”. Un ejemplo de ello ya lo vivió la Alemania Democrática al desaparecer.

    Como ellos tenían una tecnología informática de fabricación propia, de naturaleza cerrada, se perdió una gran cantidad de memoria histórica, no por alguna catástrofe natural o acto terrorista, sino por el simple hecho de que hoy en día no existen las máquinas que lean los antiguos formatos, los medios de almacenamiento fueron destruidos por los hongos, ya que cuando se fabricaron nunca se pensó que eso fuera un problema, y las máquinas que quedan tienen un software que nadie conoce, porque muchos de los ingenieros que las crearon, se jubilaron o ya murieron,  puede que sea más fácil descifrar un petroglifo maya que leer un disquete de la antigua Alemania Oriental.

    Por eso se resalta la importancia de los estándares públicos y abiertos, de libre distribución, que entre otras cosas favorecen la creación de una autosuficiencia tecnológica, que caería de perlas para países como el nuestro.

    Recomendaciones finales

    Sería interesante que nuestros expertos, tengan un componente técnico muy fuerte, formalizado por estándares abiertos y reconocidos. Que dicho conocimiento esté asociado a una pasión interna, que haga parte de un proyecto de vida y no tanto de un interés comercial pasajero, pero integrando una visión de futuro, que les permita aprovechar muy bien la etapa técnica de su vida, y contemple en todas sus acciones y negocios, una conciencia social, casi que política en su trabajo.

    Esta comunidad de expertos y profesionales, podrían generar más riqueza para nuestro país que todas nuestras minas de oro. Con el atenuante de que detrás de dicha riqueza viene el dinero, y las oportunidades que ellos mismos necesitan, siendo posible que esto perdure más allá de un par de décadas, porque el oro se acaba, pero el conocimiento y el talento es lo único que se multiplica al repartirlo.

    Correcciones y comentarios desde luego son bienvenidos.

    Aclaraciones y definiciones involucradas

    1. Aunque la Wikipedia está lejos de ser reconocida como una fuente de conocimiento que pueda citarse en algún escrito medianamente formal (entre otras cosas esto se debe a que es técnicamente muy difícil citar textos que evolucionan a diário), extrañamente logró convertirse en una de las razones principales por las cuales proyectos como Microsoft Encarta[TM] no fueran viables comercialmente. En el momento en que la Wikipedia se cite de forma natural en ese tipo de artículos, es porque estos también evolucionan como un organismo vivo o porque la Wikipedia ha muerto.
    2. Webmaster - técnico web en vía de extinción, debido a que la mejor “página web” es aquella que no tiene webmaster, porque se mantiene y crece gracias al trabajo de sus usuarios. Es una palabra de díficil erradicación.
    3. Lisiados al revés ("discapacidad inversa"). La idea es de cierto filósofo reconocido que no quiero mencionar por evitar clichés. Eso si, tiene tantas interpretaciones como lectores -  “seres humanos a quienes les falta todo, excepto una cosa de la que tienen demasiado - seres humanos que no son más que un gran ojo, o un gran hocico, o un gran estómago, o alguna otra cosa grande, - lisiados al revés los llamo yo. Y cuando yo venía de mi soledad y por vez primera atravesaba este puente: no quería dar crédito a mis ojos, miraba y miraba una y otra vez y acabé por decir: "¡Esto es una oreja!, ¡una sola oreja, tan grande como un hombre!"
    4. comprendemos aqui la política como la gestión del poder y no la relacionamos directamente  con nuestro folclor democrático
    5. no por tener una mente sana y libre de tendencias paranoides, se puede garantizar que no te “estén velando”
    6. la novela 1984 de George Orwell, también existe una película alrededor de la misma. Steve Jobs utilizó su mensaje para promocionar Apple. Incluye la idea de el Gran Hermano, como un ser vigilante del “bienestar” la sociedad. En la película soluciones tecnológicas muy similares a las que hoy existen se utilizan como herramientas de control social. Es responsabilidad de la sociedad civil no fortalecer al Gran Parcero en Colombia.
  • Tabla de costos freelance

    Este ejercicio muestra como hacer una hoja de calculo básica que nos permite estimar el costo de un trabajo freelance. El objetivo es difundir una herramienta que sea práctica y nos permita establecer el precio de una cotización.

    {youtube}http://youtu.be/dv6eNxcUh-o{/youtube}

    Enlace de descarga de la plantilla
    TABLA DE COSTOS FREELANCE

    Enlace para la realizacion del ejercicio en blender
    EJERCICIO PAYASITO

    portada_costos
     
  • TRANSFORMACIÓN DIGITAL E INTERNACIONALIZACIÓN

    2013 06 11 15.01.46

    El siguiente es un texto de opinión y reflexión acerca de algunas experiencias muy populares de digitalización de la actualidad, de cómo constituyen una tendencia que impacta el modelo clásico de universidad y de cómo involucran de manera natural elementos de internacionalización en ellas.

    Comprendiendo las nuevas tecnologías como el sistema nervioso de organizaciones y sociedades, no es extraño ver como nichos socioeconómicos tradicionales, que en apariencia se encontraban establecidos, sufrieron, o mejor, se beneficiaron de nuevos modelos, donde proyectos, que en sus inicios pasaron desapercibidos y algunas veces hasta fueron menospreciados por los grandes actores del momento, superaron las calidades de productos y servicios reconocidos, siendo aún muchos de ellos no comprendidos en su totalidad, y siendo también posible que cuando su dinámica se comprenda en alguna medida, en términos académicos convencionales, el modelo implícito en ellas, ya se encuentre en otro estadio de desarrollo.

    La banca, la prensa, la industria editorial, la de publicidad, la industria de contenidos entre muchas otras, se han visto una, a una, desplazadas por soluciones, plataformas, iniciativas, con una altísima mediación digital, pero que en esencia no son otra cosa que nuevos modelos sociales de consumo y creación, bien sea de contenidos, conocimiento o riqueza.

    La banca hoy en día manifiesta su preocupación por las cripto-divisas, siendo estas sólo una de las aplicaciones más evidentes de Blockchain. La prensa impresa es un artefacto extraño para las nuevas generaciones, tal vez lo relacionan más como material de envoltura gratuito, que como medio de información. Aunque los grandes “unicornios” cómo Facebook, Google (GMail, Youtube), Twitter, Instagram (etc.) se asocian a gigantes de la tecnología, en realidad no son otra cosa que la versión Orwelliana, de la agencia publicitaria de los años 80, donde sus servicios son gratuitos porque tú eres su producto.

    La Wikipedia volvió obsoleta a Encarta, un clásico de los años 2000, muy popular en el mercado local de “copias alternativas” de software y contenidos, en el “Sillicon Valley del barrio obrero bogotano": Unilago. Las nuevas generaciones no recordarán esa historia y la re-venta de copias de software a viva voz, les parecerán prácticas de nuestra cultura tropical, como la venta de minutos a celular.

    De las plataformas icónicas que actualmente se encuentran en la web, podemos decir que la Wikipedia no participa del modelo distópico, de analítica invasiva para la venta de publicidad. Se presenta como un proceso orgánico de creación: desde la inexactitud de un enjambre global, ofrece una exactitud emergente, con calidades similares en los contenidos, a la tradicional enciclopedia británica, esto al menos para artículos científicos en  inglés. Es posible que esta tendencia en términos de calidad siga mejorando, mientras el modelo continúe vivo...y no tiene síntomas de dar reversa (¿donde buscan nuestros niños la tarea?...en YouTube y en la Wikipedia).

    La independencia y autonomía que ofrece, bajo un marco de propiedad intelectual abierta, respetando siempre la autoría (gracias a la tecnología wiki) y favoreciendo la discusión, muchas veces acalorada (directamente proporcional a la pertinencia del artículo), donde ciertas “pirámides basadas en favores”, para la creación de contenido científico que han permeado la academia, no se sostienen (a menos que tu artículo no lo lea nadie). Brinda a cualquier persona en el planeta, que tenga algo que decir, con acceso a medios mínimos de conectividad y expresión digital, la oportunidad de tener una voz y de participar del sueño de crear conocimiento para el mundo.

    Su modelo global de financiamiento, es el equivalente al de una de las instituciones más antiguas del planeta: los recursos no provienen de ofrendas sino de donaciones, completando la ecuación virtuosa { crowdsourcing + open commons + crowdfunding } = { autonomía + desarrollo sostenible/abierto }, pudiendo mejorarse con estructuras organizacionales tipo p2p (peer to peer) que aún están en construcción debido a la complejidad en su adopción (como lo fué The Diaspora Project - https://diasporafoundation.org/ - en su momento). La ecuación parece trivial, pero la tasa de mortalidad en su implementación es alta, sobre todo cuando se confunde crowdsourcing con economía colaborativa (sin existir un consenso para definir economía colaborativa entre quienes las defienden).

    wikiofrenda

    Imagen: Campaña de recolección de fondos de la Wikipedia, geoposicionada para tu país, no dependen de fondos/impuestos destinados a la investigación, ni de publicidad (por el momento)

    [Créditos: Captura de pantalla, el autor]

    Esta misma ecuación, en una versión incompleta, se puede aplicar para generar modelos centralizados, que no necesariamente distribuyen riqueza (como se esperaría de un modelo de economía colaborativa), sino se aprovechan de las inequidades del entorno (caso Rappi en latinoamérica), para materializar versiones tropicales de juegos del hambre en bicicleta.

    Imagen: Recomendamos ver el vídeo hasta el final, ilustra una implementación distópica de un modelo de crowdsourcing que no es ajeno a latinoamérica, y por lo menos en nuestro país se ha nutrido de la abundante mano de obra disponible gracias a la migración venezolana (agradecemos a Facebook: @anamariamoreno por compartirlo)

    [Créditos: Original de sus autores, consultar en YouTube, se incluye el correspondiente código qr para acceso desde interfaces análogas de lectura (impreso)]

    malcrowdsourcingHasta aquí una introducción “de cliché” acerca de casos de digitalización, uberización (¿uberización?...palabra aguda que no sé si existe oficialmente en nuestro idioma, pero que nos la vamos a topar durante varios años) y crowdsourcing… ¿en qué momento llegará algún modelo alternativo para la educación, en toda su dimensión institucional?...ciertas voces mencionan que para el 2030, será transparente y ubicua la utilización de un conjunto reducido de actores encargados de ofrecer educación a nivel mundial, en específico lo que hoy conocemos como “plataformas virtuales”, que para esa época es posible que se hayan transformado, no sabemos aún en qué tipo de experiencia de aprendizaje, aparentemente cada tres años se está generando un salto evolutivo en las nuevas dinámicas que nacen desde las tecnologías.

    Lo anterior aplica al menos para disciplinas de orden técnico/tecnológico/científico-aplicado. En nichos asociados a áreas como la medicina, por sus propias características, se podría tardar un poco más la adopción de estas alternativas, siendo tal vez la gran barrera, elementos más humanos que técnicos.creatividad

    Imagen: La Transformación Digital es en realidad una oportunidad para el florecimiento de las características que nos hacen humanos, creatividad, intuición, sensibilidad.

    [Créditos: Fotografía original del autor, arte urbano de las calles bogotanas, es posible que a la fecha no exista debido a su propia dinámica social, con gusto daremos crédito al autor si aparece y demuestra su autoría]

    Difícil situación se pronostica para profesionales de contaduría o leyes, ya que tecnologías cercanas al machine learning tienden a solucionar actividades que no sean de orden estratégico, creativo o prospectivo. Aunque esto puede parecer crítico, es en realidad una oportunidad para el florecimiento de los talentos y actividades que nos hacen realmente humanos, como la creatividad, la intuición, la sensibilidad.

    Plataformas tipo EdX o Coursera, son consorcios que comprendieron que el modelo educativo consolidado en la era industrial y practicado desde hace más de un milenio, se queda corto al enfrentarse a las nuevas dinámicas de adquisición y creación de conocimiento. Su población objetivo se encuentra en todo el planeta Tierra a donde haya llegado un dispositivo móvil con conectividad a internet.

    Nuestras Universidades se enfrentan hoy a situaciones que a nivel administrativo no son percibidas, pero que sus estudiantes comprenden tranquilamente, al menos de manera intuitiva, por la amplia oferta de contenidos disponibles (hasta niveles de infoxicación). Nos enfrentamos a la difícil responsabilidad de ofrecer educación para profesiones que todavía no han aparecido. Existen proyecciones que plantean que entre el 2025 y 2035 el 47% del empleo actual desaparecería como lo conocemos.

    Imagen: Recomendamos ver el vídeo hasta el final. Nuestro modelo de universidad tiene varios siglos sin evolucionar.

    [Créditos: Original de sus autores, consultar en YouTube, se incluye el correspondiente código qr para acceso desde interfaces análogas de lectura (impreso)]

    tsunamiPara nuestros jóvenes (millenials, centennials) la separación entre la realidad análoga y la digital no es tan evidente, así mismo, las características de los servicios que sobre esta última operan, son esperados en otras esferas más tradicionales, luego, los procesos educativos no pueden circunscribirse a un ámbito local ni temporal,...encontrándonos aquí por inercia, con elementos centrales del discurso asociado a la internacionalización de la educación superior.

    En un proceso de transformación digital juicioso y completo de una institución de educación superior, los elementos propuestos desde la internacionalización, son transversales e implícitos, se convierten en un requisito de calidad mínimo y natural para existir, luego, hasta desaparecería la necesidad de una unidad funcional encargada de la atención de esta dimensión organizacional (Oficinas de Relaciones Internacionales/Interinstitucionales y similares)...a modo de reflexión: ¿conocen La Oficina de Relaciones Internacionales de EdX o Coursera?, es claro que son un producto comercial que nace desde ciertas universidades de primer orden a nivel mundial, pero para sus estudiantes, a lo largo de todo el planeta, satisface sus necesidades educativas, de la misma forma que Uber ofrece una solución de movilidad, sin ser una empresa de transporte, sino más bien una solución de matchmaking.

    Este criterio de calidad esperado, va necesariamente ligado a procesos de aprendizaje continuados a lo largo de toda la vida (Long Life Learning). Desaparece el modelo de “fecha de fabricación” y “etiqueta funcional” impuesto a cada estudiante, que se heredó de la era industrial y tuvo pertinencia en su momento. No se concibe pues la Universidad como “un edificio con funcionarios, docentes y estudiantes”, sino como una comunidad global permanente y activa, donde las fronteras digitales y análogas no se distinguen, y las fronteras políticas deberían desaparecer, ya que si esto NO ocurre, nuestro estudiante millenial o centennial buscaría opciones más dinámicas en la siguiente oferta del ranking de Google o en las recomendaciones de sus amigos en la red social de moda...aunque, tristemente esto aplicaría para quienes en términos socioeconómicos, puedan realmente darse el lujo de escoger, cómo es el caso de los estudiantes internacionales, para todos los demás existen rincones oscuros de YouTube, Instituciones Generadoras de Títulos Técnicos, o la opción negativa de NO acceder a educación, donde de nuevo, toman relevancia modelos tipo EdX o Coursera, que por unos dólares te ofrecen un certificado educativo internacional...hasta en una segunda lengua y en el estado del arte de alguna línea académica (más confiable que el de algunos personajes de la farándula política nacional). Esta última alternativa es hoy muy común en países como India, donde debido al tamaño poblacional, el acceso a la educación convencional es complejo.

    La implementación de una iniciativa de transformación digital no sólo afectaría las interfaces de interacción entre la universidad y sus estudiantes, exigiendo para ello un diálogo multicanal y una ubicuidad en el acceso a servicios, a nivel global, así sea una institución de educación superior de algún pequeño municipio de la amazonía, también afectaría desde luego, la lógica de funcionamiento de sus instalaciones físicas.

    Estas constituyen un espacio ideal, que cumple todas las características para convertirse en una implementación a pequeña escala de una smart city. Tecnologías como el internet de las cosas (IoT, por sus siglas en inglés), la impresión 3D, la inteligencia artificial, los contenidos en realidad aumentada/virtual, los wearables, las interfaces naturales llegaron para quedarse, es difícil que tengan reversa y van de la mano con la cultura maker, con el BYOD (Bring Your Own Device), con los procesos de investigación entre pares (independiente de su ubicación, interna/externa, nacional/internacional, que no requieren un convenio interinstitucional para funcionar...al mejor estilo de las prácticas de trabajo de comunidades de innovación global del nicho Open Source), y que tienen un impacto directo sobre la personalización de programas, el aprendizaje adaptativo, colaborativo, la omnicanalidad esperada por los nuevos alumnos,  nacionales/internacionales y “nativos digitales” (aunque sería mejor simplemente -digitales- recordemos que ellos no diferencian la realidad análoga de la digital) y son casi que un insumo necesario para generar  una ubicuidad en el acceso a servicios, requisito elemental en un proceso de transformación digital: ¿alguna vez te has acercado a la oficina de Uber a consignar el pago de un servicio?...de manera automática tu dispositivo genera un cálculo de los costos de tu ruta y lo debita de tu tarjeta. No sería descabellado pensar en un sistema de bibliotecas donde los estudiantes sean “los bibliotecarios” y el mismo libro reporte su ubicación en alguna sede de la universidad para facilitar su intercambio, actualizando por sistemas de proximidad la base de datos de préstamo en la biblioteca (...sólo es una idea para ilustrar).

    gestionManual

    Imagen: La gran barrera de un proceso de transformación digital es la cultura asociada a la gestión de recursos y servicios. La imagen muestra un parqueadero estudiantil de bicicletas ¿se imaginan que pasaría si alguien, por alguna razón, requiere buscar el registro de su bicicleta un mes después en el libro de registro del vigilante encargado?, el proceso en la práctica bien podría ser inutil, pero es válido en términos burocráticos y psicológicos.

    [Créditos: El autor]

    Situaciones como la anterior, desbordan necesariamente la demanda actual de recursos y requieren una lógica administrativa con criterios de desintermediación en todos los procesos de funcionamiento  (complicada en instituciones públicas por ciertos antipatrones administrativos de “orden feudal”), esto último es una barrera cultural gigantesca para cualquier proceso de innovación.

    En relación a sistemas de certificación, titulación, o en términos prácticos "ese sellito" que usas para demostrar que tienes un conocimiento específico, EdX, Coursera o similares, siguen su propio estándar, eso les permite saltarse las fronteras nacionales. Un certificado de una  especialización en estas plataformas (un agregado de cursos con alta demanda comprobada en cierta línea de conocimiento) para alguien de Alemania es el mismo que para alguien de Argentina, (no hay que preocuparse por la convalidación de títulos y demás, de nuevo la dimensión internacional implícita), y como cada curso compite con los demás en términos de recomendaciones (el “voz a voz” virtual, una retroalimentación directa y en vivo de su impacto en la audiencia), teniendo una estrecha relación con el sector productivo, muchos de estos “títulos virtuales” pueden generar más confianza para el empleador que un título técnico de algunas instituciones (es claro que acabo de expresar una especie de blasfemia), pero lo anterior tiende a ser muy cierto actualmente para temáticas asociadas a las nuevas tecnologías, y recordemos que en esto hay un salto evolutivo cada tres años en promedio, es posible que pronto sea real para otras areas del saber. Algunas instituciones a nivel local, los están ofreciendo como opción de grado y hasta en modalidad de doble titulación (experiencia personal referida desde cierta institución universitaria bogotana cuyo nombre me reservo por cortesia).

    Es difícil en el anterior contexto que un joven al inicio de su formación, comprenda la pertinencia de la presencialidad y la importancia del aprendizaje de ciencias básicas (física, matemáticas por ejemplo) o ciencias sociales, de las cuales depende el desarrollo real de un país, y que generan a largo plazo aquellas innovaciones que hoy nos deslumbran desde los países “desarrollados”.

    En resumen, la dimensión educativa no está ajena a los procesos disruptivos de digitalización que se están dando en otros sectores de la sociedad, se resalta que el elemento central de un proceso de transformación digital en una organización NO es la tecnología, y SÍ lo es realmente un cambio cultural y social fortalecido por el uso innovador de la misma. No es muy útil por ejemplo, garantizar el acceso a equipos de cómputo de gama alta, una intranet con anchos de banda gigantescos, plataformas colaborativas virtuales de avanzada, actividades e-learning o tal vez integrar gamification en los procesos de enseñanza, si las personas y los procesos institucionales no están preparados para aprovecharlas, como tampoco (aplicando una lógica inversa) sería muy efectivo iniciar un proceso de transformación digital, con esfuerzos esporádicos de formación a los docentes y administrativos en distintas competencias digitales, sin garantizar el acceso adecuado a las herramientas requeridas (el tema es humano y organizacional).

    Podríamos evidenciar en este momento, cuatro características emergentes en términos de calidades de servicio, en un proceso de transformación digital (maltratando un poco nuestro idioma, o mejor asignando nuevos significados):

    • digitalización (un ejemplo: políticas tipo paperless, no se implementan en un día, ni en un año en una organización de tamaño significativo)
    • movilización (acceso intensivo desde interfaces de dispositivos móviles...no sólo smartphones o tablets)
    • "aumentación" (los usuarios se enfrentan a distintas capas de información en su realidad análoga)
    • desintermediación (desaparece el funcionario/operario de la “firma y el sello” para acceder a algún recursos o servicio).

    En una institución de orden público, estos cuatro elementos bien podrían aplicarse a cada una de las dimensiones “operativas” visibles de una unidad de relaciones internacionales/interinstitucionales, antes de su implementación a nivel de toda la organización, iniciando el proceso de digitalización de manera federada, iterativa y escalable, ya que si esperamos a que la normatividad, los recursos, y el entorno se encuentren perfectamente alineados para arrancar, cuando lo hagamos, el mundo habrá cambiado, siendo posible que toquen a nuestra puerta, soluciones pre-empaquetadas, tal vez con un modelo de consumo tipo Netflix, que funcionaría fuera de la normatividad que tanto esfuerzo costó consolidar.

    Esto no quiere decir tampoco, que se deban abordar iniciativas desarticuladas, desde criterios netamente emocionales, sin una perspectiva clara de sostenibilidad en el tiempo, el mensaje es que para cada actividad administrativa, al menos se planteen algunas preguntas:

    • ¿cómo puedo fortalecer la desintermediación de mi proceso?
    • ¿qué capas de información puedo ofrecer a mis usuarios para fortalecer una ejecución automatizada, autogestionada, y autorregulada del proceso?
    • ¿qué interfaces/tecnologías/protocolos generan una interacción más estrecha, confiable y humana para mi proceso?

    ...reflexionando un poco esto no es más que la aplicación de criterios puros y duros de Ingeniería de Sistemas.

    En última instancia el objetivo es facilitar la vida a funcionarios, estudiantes, docentes para que dediquen más tiempo a actividades de orden académico, cultural, creativo (y menos tiempo al micromanagement - existe su definición en la versión en inglés de la Wikipedia), ya que estas son las que tienen una alta probabilidad de crecer y ser valiosas en un futuro, resaltando que este es un proceso que no se construye en un día y que el elemento central que garantiza el éxito (de nuevo), no es tecnológico sino humano.

    reparacionSombrillas

    Imagen: Ciéntifico reparador de sombrillas ejerciendo su oficio sin título oficial, abandonó las calles bogotanas huyendo del clima organizacional para convertirse en youtuber, tuvo una audiencia significativa en el mundo virtual por sus prácticas asociadas a la economía circular (obviamente se incluye a modo de parodia)

    [Créditos: El autor]

    Como modelo ideal de universidad, plantearía una "wiki-institución", con una estructura organizacional tipo p2p (peer to peer), que no dependiera de un reconocimiento estatal para existir, ni que tampoco se subordinara simplemente a las necesidades de entrenamiento que el mercado o la industria requiere, totalmente gestionada por la sociedad civil, donde cada ser humano aprenda y enseñe a su ritmo a lo largo de su vida, y de la misma forma que una idea, bien puede ser una conexión dinámica entre un sin número de neuronas, mientras esa idea sea pertinente para la conciencia, una ruta de aprendizaje, debiera ser un camino dinámico que muchas personas recorren, fortalecen y comparten, a lo largo y ancho del planeta, mientras esa idea sea valiosa para la sociedad, en ese modelo la tecnología sólo es una herramienta facilitadora, no el objetivo, de la misma forma que el lápiz y papel son herramientas para transmitir ideas.

    Compartimos para complementar dos vídeos que aportan de manera interesante al discurso presentado, resaltando la pertinencia del toque humano a lo largo de cualquier modelo de trabajo:

    Imagen: Una visión de Isaac Asimov extrañamente cercana a los modelos planteados (antes se habia referido aquí también: https://opensai.org/bitacora/la-vision-educativa-de-opensai-explicada-por-isaac-asimov)

    [Créditos: Original de sus autores, consultar en YouTube, se incluye el correspondiente código qr para acceso desde interfaces análogas de lectura (impreso)] isaacasimov

    Imagen: Modelo educativo de Finlandia, el mismo país del creador del kernel de Linux, es muy posible que sin esa pieza de software el movimiento del FLOSS (Free/Libre Open Source Software) no hubiese soportado el crecimiento de la web y el internet como lo conocemos hoy, las plataformas que mencionamos, tal vez no existirían.

    [Créditos: Original de sus autores, consultar en YouTube, se incluye el correspondiente código qr para acceso desde interfaces análogas de lectura (impreso)]

    finlandEdu 

     [Créditos fotografía cabecera: original del autor, instalación de un colectivo de artistas bogotanos en las cebras (pasos peatonales) de los semáforos, a la fecha ya no existe]

  • Unir distintos archivos pdf en linux (terminal)

    Merge PDF Files

     

    Problema

    • Necesito unir varios archivos en formato PDF, no quiero usar la suite ofimática, quiero hacerlo de manera rápida, ojalá en modo consola

    Solución Utilizada

    • el paquete poppler-utils disponible en las principales distribuiciones de linux tiene varias utilidades para proceso por lotes de archivos tipo PDF
    • una vez instalado, el paquete mencionado incluye la herramienta pdfunite que necesitamos
    • abrimos la terminal de comandos, nos situamos en la carpeta que contiene nuestros archivos y ejecutamos:
      • pdfunite archivo1.pdf archivo2.pdf archivoN.pdf archivoDESTINO.pdf
    • el archivoDESTINO.pdf generado es la unión de los archivos anteriores archivo1.pdf+archivo2.pdf+archivoN.pdf
    • el proceso es rápido, susceptible de automatizar vía bash, por defecto no realiza ajustes de resolución de los archivos, con confianza se puede usar sin dañar la calidad de los mismos.

    Imagen Original (CC Atribución): https://flic.kr/p/e1wE5A