Planeta Universidad

January 16, 2019

OSL-ULL :: Oficina de Software Libre - Universidad de La Laguna

¿Conoces qué es la clonación de equipos?
La clonación de equipos es un pilar fundamental a la hora de mantener actualizadas las aulas de informática de la ULL. La clonación de equipos consiste en hacer un duplicado exacto de la información que tenemos en el disco duro. Esto supone muchas ventajas, como por ejemplo poder instalar una imagen de un sistema operativo en múltiples equipos.

Clonar nos permite la creación de una imagen del disco duro, guardándola por ejemplo en un disco externo para usarla en futuras ocasiones, guardar los datos y restaurar la imagen del equipo, para que vuelva a estar como nuevo, y lo mejor de todo es que lo tendremos todo listo en pocos minutos.

¿Y cómo lo hacemos?

Para guardar y restaurar discos o particiones, estamos trabajando con el Clonezilla Live para ir equipo por equipo, y el Clonezilla Server si queremos hacer múltiples equipos en simultáneo. Ambas versiones las podemos encontrar en la distribución DRBL/Clonezilla.

Este artículo pretende ser una llamada de atención para el personal becario de la OSL, para que conozca que podemos simplificar una de las tareas que se suelen repetir más en los equipos, y para ello, desde la Oficina del Software Libre próximamente se impartirá un curso formativo a tal efecto, gracias al aula de formación online.

Es muy importante, además de ser una de las tareas adscritas a la beca de aulas de informática, realizar los cursos de formación, principalmente con el fin de instalar el próximo lanzamiento de Bardinux 5.1 que se está preparando, y así se ahorre tiempo y existan unas eficientes Aulas SIGA para el alumnado de la ULL.

 

El artículo ¿Conoces qué es la clonación de equipos? es contenido del sitio Oficina de Software Libre (OSL).

by Jonatan Martín Hernández at Wed Jan 16 12:37:30 2019

January 13, 2019

ASLUCO :: Aula de Software Libre de la Universidad de Córdoba

Para los que quieran un mac solo por la fuente predeterminada de sus ides
Pues después del debate y las turritas que mantuvimos en el grupo de Telegram del Aula: que si la fuente estaba para todos los sistemas operativos; de si era la fuente San Francisco o la Menlo, pero no se veía igual por la resolución (cosa que no era) y de las respectivas pruebas. Al fin tras muchas turras y peticiones de que el hilo se acabase, he encontrado una aproximación para Visual Studio Code.

Si modificas las preferencias del editor y haces la modificación en modo JSON (ya que está hecho en electron), cambiamos de “editor.fontFamily” las fuentes predeterminadas por “editor.fontFamily”: “Fira Code” y “editor.fontLigatures” a true en caso de que usemos ligatures. Además de cambiar el grosor de fuente a 900.

Obtendremos algo como esto:

No sé a vosotras y vosotros, pero a mí, ver esta fuente siempre me flipó y ya tenía ganas de ver algo parecido en Linux.

Este post va dedicado a los miembros del aula David y Rada, ya que sin su hateo, nada de esto habría sido posible.

Toni Portillo.

La entrada Para los que quieran un mac solo por la fuente predeterminada de sus ides se publicó primero en Aula de Software Libre.

by p02polea at Sun Jan 13 15:34:15 2019

January 11, 2019

OSL-UGR :: Oficina de Software Libre - Universidad de Granada

Scratch 3.0
El pasado 2 de enero de 2019 se publicó la versión final de Scratch 3.0.Ya se conocían algunos de los nuevos cambios producidos en este lenguaje ya que la compañía lanzó la versión alpha y beta en 2018.

¡Qué no sabes qué es Scratch!

Scratch es un lenguaje de programación visual muy popular en educación para el aprendizaje de los niños, gracias a su facilidad  e interactividad con su interfaz. También se utiliza para la enseñanza de diferentes materias usándolo como una herramienta que introduce dinamismo e innovación en las aulas.

La interfaz de Scratch online, permite la creación de proyectos software y estos proyectos pueden consultarse, modificarse o publicarse a través del mismo interfaz para que todo el mundo pueda aprender de ellos.  Los proyectos se construyen utilizando personajes a los que se les proporciona unas acciones a realizar por medio de instrucciones, que se representan por bloques, y la unión de bloques constituyen un programa.  Los programas contienen diferentes acciones de movimiento, de apariencia, sonido o acciones de control, entre otras, que permiten que las personas que lo utilizan, vean los efectos de sus programas de una forma visual y educativa.

Pero no sólo está pensado para niñas y niños, sino que cualquier persona que no sepa programar, puede empezar sus primeros avances de forma sencilla y dinámica.

¿Y qué novedades trae esta nueva versión de Scratch? 3.0

En esta nueva versión, la 3.0, se incorporan todos los cambios que ya os contamos en este post , como por ejemplo la modificación de la interfaz, nuevos bloques, nuevas herramientas para editar imágenes, nuevos personajes, fondos y sonidos; Además, en la versión final se han introducido  cambios que han mejorado el editor de programas, obteniendo una evolución más eficiente en la experiencia de la persona que lo utiliza.

Otros cambios notables son las mejoras del editor de sonidos, más intuitivo e interactivo, ya que reproduce sonidos desplazando el ratón por encima. También aparecen algunas cosas que se pueden pasar por alto, como el cambio de nombre de algunos grupos de bloques, por ejemplo el antiguo “Mis bloques” ahora se llama ”Más bloques” y la disposición de los grupos de bloques ha cambiado de orden, pero no hay muchos más cambios a simple vista.

Respecto a los cambios en los bloques, se han introducido opciones adicionales para algunos de ellos, permitiendo acciones más complejas que permitirán que nuestros personajes hagan acciones determinadas al tocar “cualquier borde”, o la “posición del ratón”.

Pero lo que nos resulta más increible, son las posibles extensiones que se le pueden añadir, permitiendo por ejemplo que tus personajes hablen, o la conexión con extensiones como micro:bit han sido muy mejoradas.

Algunos otros cambios, nuevas fuentes, el editor de personajes es ahora vectorial mejorando la calidad de lo que se dibuja y los bloques de Video Sensing son ahora una extensión.

Pero esta versión no solo añade, sino que también ha eliminado cosillas, por ejemplo ahora no es compatible con LEGO WeDo, o con Internet Explorer, cosa que a nosotros, firmes defensores de las opciones libres, nos alegra, pero SÍ es compatible con algunas tablets y móviles, aunque solo sea para lectura.

Esta más al alcance de todos, de forma que se pueden crear y visualizar proyectos desde la tablet, ordenador o móvil, lo que lo hace más accesible.Lo que no es posible aún es editarlos en móviles.

Y por ahora esto es todo, veréis los cambios de forma práctica en nuestros próximos talleres.

Para finalizar os dejamos a modo de demostración el enlace a un proyecto, en el que podéis interactuar con el personaje.

by oselit@ at Fri Jan 11 11:11:44 2019

January 03, 2019

Púlsar :: Asociación de Software Libre de la Universidad de Zaragoza

¿Linux en una tostadora?
Un meme que frecuenta mucho en el mundo del software libre o de la informática en general, es la expresión “Linux on a toaster” (Linux en una tostadora) o su variante “Linux on a potato” (Linux en una patata). ¿A qué se refieren con esto? ¿Puedo instalar Linux en una patata? ¿Puedo usar mi tostadora para jugar a Rocket League?

Bueno… No sé como de práctico es tener Linux en una patata, pero desde luego que la expresión era solo eso: una expresión. Se suele emplear refiriendose a una de las características más llamativas de Linux, y en gran parte es gracias al software libre. El hecho de gozar de la libertad de poder modificar la receta (código fuente) de un software, nos ayuda no solo a adaptarlo a nuestro gusto, si no, a un hardware concreto.

Linux powers...

Linux comenzó como el proyecto de un universitario finés. Quiso hacer un software para controlar el hardware que entonces disponía. Hoy en día Linux es usado por millones, y a pesar de que los ordenadores son bastante parecidos entre sí, más de uno ha pensado en poder usar Linux en un hardware menos convencional.

Se puede instalar Linux prácticamente en casi cualquier cosa que tenga o pueda considerarse un ordenador. ¿Hasta dónde se puede llegar? Yo mismo me hice esta pregunta: Recientemente conseguí instalar Debian, una popular distribución GNU/Linux, en una ¡Nintendo Wii!

En otra ocasión, bajo la necesidad de usar una calculadora con operaciones avanzadas en mi ordenador (con GNU/Linux), traté de buscar el programa apropiado. Abrí una nueva pestaña en el navegador y busqué “calculadora cientifica linux”. Los resultados me dejaron de piedra. Gran parte de ellos eran tutoriales de cómo instalar Linux en una calculadora científica.

Ay… Gentoo

Otro meme dentro del mundillo es “Install Gentoo” (Instala Gentoo). Para quien no lo sepa, Gentoo es una distribución GNU/Linux con la particularidad de que todo software se consigue mediante su receta y el ordenador se encarga de elaborar dicho software. Esto facilita aún más el poder obtener un sistema operativo (libre) completo en un hardware menos habitual. Aquí se desata el caos… Existen casos de gente que ha instalado Gentoo en su coche, en su microondas inteligente, en su televisión, y cada cual más absurdo.

No solo Gentoo recibe este tratamiento. Los fieles seguidores de otras distribuciones como Ubuntu, Debian o Arch siempre están al acecho de portar su sistema favorito a cualquier cosa.

Los beneficios

Aunque hay quien lo hace por el reto que puede suponer o simplemente por diversión, también cabe gente que lo hace con finalidades prácticas.

Gracias a esto tenemos un gran abanico de plataformas que podemos usar para aportarles nuevas funcionalidades, para garantizar que tenemos el completo control de dicho hardware, para darle una vida nueva a máquinas que se creian obsoletas… Y, por último, podemos usar Linux en ordenadores muy reducidos de precio (nótese el impacto de Android en el mercado de móviles), o mini-PCs como Raspberry Pi que hacen incapié en el Internet de las Cosas (IoT).

IoT

La entrada ¿Linux en una tostadora? se publicó primero en .

by Paul Hodgetts at Thu Jan 3 22:57:32 2019

December 20, 2018

ASLUCO :: Aula de Software Libre de la Universidad de Córdoba

December 17, 2018

OSL-UGR :: Oficina de Software Libre - Universidad de Granada

Felicita las fiestas con software libre

Os presentamos un generador de felicitaciones con motivos navideños hecho desde la Oficina de Software Libre para cualquier usuario, tanto de dentro de la Universidad de Granada como de fuera de ella.

Los pasos a seguir son:

1. Elige la imagen que más te guste, para colocar encima del calendario.

2. Personaliza el texto de tu felicitación.

3. Usa el botón “Actualizar Imagen” para ver cómo queda tu felicitación.

4. Usa el botón “Descargar Imagen” para descargarla y guardarla en formato jpg para enviarla a quien quieras.

Pulsa en la imagen que más te guste para comenzar.

 



 

Recuerda, si te ha gustado recomiéndalo y comparte con amigos y familiares, o puedes mandarnos tus comentarios a nuestras redes sociales:

El código de este generador lo podéis ver, consultar, descargar, mejorar y comentar en el repositorio de la Oficina de Software Libre .

by oselit@ at Mon Dec 17 10:35:30 2018

December 13, 2018

Púlsar :: Asociación de Software Libre de la Universidad de Zaragoza

Bot de Telegram
Desde la aparición de los bots de telegram, se han creado una cantidad inmensa de bibliotecas para poder crear un bot propio. En este post están los pasos para poder crear uno utilizando Python.

Qué es un bot en Telegram

Los bots de telegram son programas accesibles desde los diferentes clientes de telegram. Dentro de la aplicación, actuan como un usuario más aunque podemos indicarles que para cada mensaje actúen de una determinada forma. Por ejemplo, que si les enviamos la ubicación nos muestre los sitios de interés mas cercanos o que al mandar una nota de voz nos la guarde y nos recuerde más adelante.

Lo atractivo es que no tenemos que montar ni mantener toda la infraestructura que haría falta si no tuvieramos estos bots. Por ejemplo un servidor que acepte mensajes, los trate y responda y un cliente desde el cual mandarlos.

Un ejemplo concreto

El primer bot que programé surgió a raiz de dos necesidades al comenzar la universidad.

  • Saber cuándo tenía que asistir a las clases y en que aula se impartian.
  • Saber los horarios de los tranvías de la ciudad para cada parada.

Desde entonces he ido añadiendo distintas funcionalidades conforme las necesitaba, incluso tenía un comando para resolver integrales… También he ido rediseñando los diferentes bots que he ido haciendo consiguiendo que fueran cada vez más versátiles y mantenibles.

Primeros pasos

Como ya he comentado antes, el lenguaje elegido para este bot es Python en su versión 3.5. Existen varias bibliotecas que nos ofrecen la posibilidad de realizar un bot, durante mucho tiempo he utilizado telepot y la recomiendo ya que, al menos en mi caso, no he tenido ningún problema y es muy sencilla de utilizar. Sin embargo estos últimos meses he estado utilizando python-telegram-bot y es la que voy a utilizar en este caso ya que me ha resultado más fácil de usar.

Una vez elegida la biblioteca, para instalarla se utiliza el siguiente comando:

  pip3 install python-telegram-bot

Como este es un bot muy sencillo, con un solo fichero será mas que suficiente, aunque es recomendable tener una estructura un poco mas compleja en caso de que nuestro bot crezca ya que eso lo hace mucho más mantenible.

Dicho esto, la estructura del bot será la siguiente:

telegram-bot/
└── main.py

Obtener un token para nuestro bot

Para que nuestro bot funcione, es necesario crearlo. Irónicamente el proceso de creación de un bot de telegram es llevado a cabo por un bot de telegram. Este bot se llama BotFather y los pasos para la creación son los siguientes:

Primero comenzamos una nueva conversación con el bot para ello le damos a /start

conversación botfather nada mas abrir el chat

Tras este paso, el bot nos mostrará una serie de opciones entre las cuales se encuentra la que nos interesa: /newbot.

conversación botfather tras ejecutar el comando /help

Siguiendo las instrucciones, le damos un nombre a nuestro bot:

conversación botfather nada más obtener el token del nuevo bot

Con esto nuestro bot ya esta creado, y el BotFather nos devuelve el token que necesitamos para que nuestro bot pueda acceder a los mensajes que le mandamos.

Objetivos del bot

Para este ejemplo, nuestro bot va a contar con tres comandos muy sencillos:

  • /start: Este comando es el que se ejecuta por defecto al entrar por primera vez en el bot y normalmente sirve para explicar a nuestro usuario como utilizar el bot.
  • /hello: Comando con el cual el bot devolverá un mensaje de saludo.
  • /add: Este comando sumara los numeros que se le pasen como parametro devolviendo el resultado en un mensaje. Ej. /add 1 2 3 nos devolverá 6

Tambíen contará el numero de palabras y de letras si le mandamos solamente texto

Manos a la obra

Manejadores de los mensajes

def start(bot, update):
    """ This function will be executed when '/start' command is received """
    message = "Welcome to the coolest bot ever!"
    bot.send_message(chat_id=update.message.chat_id, text=message)


def hello(bot, update):
    """ This function will be executed when '/hello' command is received """
    greeting = "Hi there, {}".format(update.effective_user.username)
    bot.send_message(chat_id=update.message.chat_id, text=greeting)


def add(bot, update, args):
    """ This function will be executed when '/add arg1, arg2, ...' command is received """

    # First converts the string list to a int list and then add all the elems
    result = sum(map(int, args))
    message = "The result is: {}".format(result)
    bot.send_message(chat_id=update.message.chat_id, text=message)


def plain_text(bot, update):
    """ This function will be executed when plain text message is received """
    text = update.message.text
    words_count = len(text.split())
    letters_count = len(''.join(text).replace(' ', ''))
    message = "Your message has {words} words and {letters} letters".format(
        words=words_count, letters=letters_count)
    bot.send_message(chat_id=update.message.chat_id,
                     parse_mode='markdown', text=message)

Estas funciones serán las que se ejecuten cuando el texto correspondiente llegue a nuestro bot. Pueden tener cualquier nombre, aunque es recomendable poner nombres descriptivos para que sea todo más legible. Lo que si que describe la biblioteca es que estas funciones, que hacen de manejadores, reciben como primer parámetro un objeto bot el cual se usa para interactuar con la api de telegram para mandar mensajes descargar archivos, subir archivos, etc… y como segundo parámetro un objeto update el cual contiene el mensaje.

Un caso especial es la funcion add que tiene un tercer parámetro con la lista de argumentos.

Función principal

def main(bot_token):
    """ Main function of the bot """
    updater = Updater(token=bot_token)
    dispatcher = updater.dispatcher

    # Command handlers
    start_handler = CommandHandler('start', start)
    hello_handler = CommandHandler('hello', hello)
    add_handler = CommandHandler('add', add, pass_args=True)

    # Other handlers
    plain_text_handler = MessageHandler(Filters.text, plain_text)

    # Add the handlers to the bot
    dispatcher.add_handler(start_handler)
    dispatcher.add_handler(hello_handler)
    dispatcher.add_handler(add_handler)
    dispatcher.add_handler(plain_text_handler)

    # Starting the bot
    updater.start_polling()

En la función principal se define un objeto updates que estará realizando peticiones a la api de telegram obteniendo todos los nuevos mensajes que lleguen al bot. Para ello se define utilizando el token obtenido con el BotFather.

También es donde le indicamos qué funciones tiene que ejecutar cuando lleguen los distintos tipos de mensajes.

Los CommandHandler definen manejadores para los comandos. El primer parámetro indica el texto del comando y el segundo parámetro indica la función a ejecutar cuando se le mande dicho comando. En caso de que el comando tenga parámetros, como el comando add se le indica mediante el parametro pass_args.

El MessageHandler define un manejador para diferentes tipos de mensajes. En este caso, el primer parametro indica que si llega texto plano, la funcion que se debe ejecutar sea plain_text. Existen diferentes tipos de mensajes en telegram y se indican mediante el objeto Filter. Los tipos de filtros en la documentación de la biblioteca.

Código completo de nuestro bot

from telegram.ext import Updater
from telegram.ext import CommandHandler
from telegram.ext import MessageHandler, Filters

def start(bot, update):
  """ This function will be executed when '/start' command is received """
  message = "Welcome to the coolest bot ever!"
  bot.send_message(chat_id=update.message.chat_id, text=message)


def hello(bot, update):
  """ This function will be executed when '/hello' command is received """
  greeting = "Hi there, {}".format(update.effective_user.username)
  bot.send_message(chat_id=update.message.chat_id, text=greeting)


def add(bot, update, args):
  """ This function will be executed when '/add arg1, arg2, ...' command is received """

  # First converts the string list to a int list and then add all the elems
  result = sum(map(int, args))
  message = "The result is: {}".format(result)
  bot.send_message(chat_id=update.message.chat_id, text=message)

def main(bot_token):
  """ Main function of the bot """
  updater = Updater(token=bot_token)
  dispatcher = updater.dispatcher

  # Command handlers
  start_handler = CommandHandler('start', start)
  hello_handler = CommandHandler('hello', hello)
  add_handler = CommandHandler('add', add, pass_args=True)

  # Other handlers
  plain_text_handler = MessageHandler(Filters.text, plain_text)

  # Add the handlers to the bot
  dispatcher.add_handler(start_handler)
  dispatcher.add_handler(hello_handler)
  dispatcher.add_handler(add_handler)
  dispatcher.add_handler(plain_text_handler)

  # Starting the bot
  updater.start_polling()

if __name__ == "__main__":
  TOKEN = "YOUR_TOKEN_HERE"
  main(TOKEN)

La entrada Bot de Telegram se publicó primero en .

by Vlad Teletin at Thu Dec 13 09:45:03 2018

December 11, 2018

OSL-ULL :: Oficina de Software Libre - Universidad de La Laguna

Abierta ya las inscripciones en el XIII Concurso Universitario de Software Libre y IX Premio Local ULL
¡El IX Premio Local Universidad de La Laguna (ULL) del Concurso Universitario de Software Libre (#CUSL) ya está aquí! Este certamen, a nivel estatal en su XIII edición, está abierto desde el 19 de noviembre a estudiantes del territorio español universitarios de grado o posgrado, ciclo de formación de grado medio o superior, o de bachillerato. Quienes, perteneciendo a la ULL, se inscriban en dicho certamen participarán automaticamente en la fase local. La finalidad del concurso es elaborar un proyecto de software, hardware o documentación técnica libre.

El plazo de inscripción estará abierto hasta el 15 de febrero de 2019. Además los participantes de Grado en Ingeniería Informática, Grado en Ingeniería Electrónica Industrial y Automática, Grado en Matemáticas y Grado en Física podrán obtener hasta 3 créditos ECTS en función de los efuerzos realizados en sus poryectos.

Los premios que se otorgarán en la modalidad local de la ULL serán los siguientes:

  • Primer premio al mejor proyecto, dotado con 500€
  • Segundo premio al mejor proyecto, dotado con 250€
  • Premio especial al mejor proyecto que destaque además en algún aspecto dentro o fuera de los valorados en el los criterios de evaluación, dotado con 250€

y en el concurso estatal:

  • Premio al mejor proyecto Científico/Investigación: destinado al mejor proyecto científico o de investigación, dotado con 250 euros
  • Premio al mejor proyecto Educativo/Ocio: destinado al mejor proyecto en el ámbito educativo u ocio, dotado con 250 euros
  • Premio al mejor proyecto de Sistemas/Seguridad: destinado al mejor proyecto de sistemas o seguridad, dotado con 250 euros
  • Premio al mejor proyecto Cloud/Web: destinado al mejor proyecto Cloud o desarrollo web, dotado con 250 euros

Los criterios de evaluación son los mismos para ambos concursos, y son los siguientes:

  • Impacto del proyecto en la comunidad del software libre y la sociedad (30% de la puntuación)
  • Calidad del desarrollo y uso de la forja (30% de la puntuación)
  • Viabilidad del proyecto (15% de la puntuación)
  • Grado de terminación (15% de la puntuación)
  • Grado de accesibilidad (10% de puntuación)

Puesto que para nuestros estudiantes puede ser difícil escoger un proyecto interesante, planificarse o enfrentarse al reto de la manera más conveniente, la Oficina de Software Libre en colaboración con la ESIT pone a disposición de los participantes de la ULL la posibilidad de recurrir a un mentor para ayudarlos en lo que sea posible. Los participantes utilizarán un blog donde contarán su experiencia en el desarrollo durante el curso académico, además emplearán una forja para alojar el código fuente y alentar a la comunidad a colaborar con su proyecto. Puedes ponerte en contacto con nosotros en info@osl.ull.es y comentarnos las posibles dudas que tengas.

Desde la Oficina del Software Libre animamos a todas aquellas personas que cumplan los requisitos a que se inscriban en el formulario de inscripción y participen, ya que es una buena oportunidad de obtener reconocimiento por los proyectos realizados.

 

Este artículo ha sido realizado por Cristian Díaz Hernández y Cecilia V. Becerra Brito

El artículo Abierta ya las inscripciones en el XIII Concurso Universitario de Software Libre y IX Premio Local ULL es contenido del sitio Oficina de Software Libre (OSL).

by Cristian Díaz Hernández at Tue Dec 11 17:12:44 2018

October 29, 2018

OSHL-UMH :: Oficina de Software Libre y Hardware Libre - Universida Miguel Hernández de Elche

October 26, 2018

vista"

Tech Youth: Digital Skills

vista"

La reforma del copyright y el software libre

vista"

Herramientas de seguimiento y analítica web en proyectos Drupal

vista"

Martes de Software Libre. Introducción a Tor

vista"

Taller de Blockchain (3 sesiones)

vista"

Martes de Software Libre. Introducción a Rust, un lenguaje de sistemas moderno y seguro

vista"

Martes de Software Libre. Introducción a Python

vista"

Martes de Software Libre. Taller de interconexión de redes

September 20, 2018