Curso en ciberseguridad para personas en riesgo de exclusión

La asociación EMANCIPATIC junto a ESIC ofrecen un curso de ciberseguridad gratuito para personas en situación de vulnerabilidad sin conocimientos previos en ciberseguridad.

El curso se presenta con este texto:

En este curso desarrollarás las habilidades necesarias para identificar y mitigar vulnerabilidades en sistemas y redes informáticas. También aprenderás a utilizar técnicas de hacking ético para evaluar la seguridad de sistemas y aplicaciones, con el objetivo de protegerlos contra posibles ataques cibernéticos. Al terminar el curso sabrás cómo mejorar la seguridad en el puesto del trabajo, conocerás los sistemas y redes en los que se dan los ciberataques, aprenderás a prevenir, detectar y combatir los ciberataques… 

El curso comenzará a finales de febrero de 2024 y tiene una duración de 250 horas y se imparte de forma Online.

En la página que EMANCIPATIC dedica para el curso puedes reservar tu plaza.

Curso de autoformación en lectura fácil

La lectura fácil es un método por el cual un contenido textual se puede adaptar para que resulte comprensible a todas las personas, en especial aquellas personas con problemas de comprensión del lenguaje escrito.

Esta herramienta de accesibilidad va poco a poco apareciendo cada vez más en las publicaciones digitales y culturales y ha demostrado ser una buena herramienta de accesibilidad.

La gente de Plena inclusión ha puesto a disposición de todas las personas interesadas un curso de autoformación sobre lectura fácil.

Plena inclusión es un movimiento asociativo que lucha en España por los derechos de las personas con discapacidad intelectual o del desarrollo y sus familias.

Datos del curso

Este curso on-line de 10 horas de duración está dirigido a empresas, familias, personas con discapacidad y profesionales de la accesibilidad.

Su objetivo es el de que la persona pueda Adquirir unos conocimientos básicos sobre la lectura fácil y sus normas de aplicación.

Puedes ver la presentación realizada por Susana Gallego en Youtube.

Su temario es el siguiente:

  • Tema 1. Qué es la lectura fácil.
  • Tema 2. Como se hace la lectura fácil.
  • Tema 3. Pautas del texto.
  • Tema 4. Diseño.

Apuntarse al curso

El curso es gratuito y la plataforma de formación es bastante accesible.

Puedes apuntarte en la sección de formación de Plena inclusión.

Estructuras condicionales en AppleScript

En AppleScript, al igual que en otros lenguajes de programación, existen ciertas estructuras de código para controlar el flujo de ejecución de nuestro programa. Recordemos que un script es un programa con ciertas características especiales.

La estructura más simple es la sentencia que se puede resumir como una orden que indica al programador a su programa. Un ejemplo sería la línea de código con la sentencia say que hemos visto en el ejemplo de Hola mundo de esta serie de artículos.

Otro ejemplo sería la línea de asignación de un valor a una variable.

Estructuras condicionales

Hasta ahora sólo sabemos crear AppleScripts que ejecuten una sentencia detrás de otra, almacenando información y manipulándola. ¿Pero podemos controlar aún más el flujo de ejecución?

Imaginemos que un trozo de nuestro script se ejecute a partir de una hora determinada, por ejemplo, un aviso para el usuario. Lo primero que debemos hacer es obtener la hora actual. Este ejemplo nos explica cómo hacerlo:


(*
Ejemplo para obtener la hora actual
*)
on run
set fecha to current date
set hora to fecha's hours
end run

En la variable hora se almacena el valor numérico de la hora actual.

Estructura if then

Para poder ejecutar un trozo de código si se cumple una condición debemos utilizar una estructura condicional. La estructura condicional más básica, y común a muchos lenguajes de programación, es la estructura if-then. La traducción al castellano de if, then es si, entonces….

Veamos su sintaxis en AppleScript para entenderla mejor:

if condición a cumplir then
código a ejecutar
end if

En la condición a cumplir se debe indicar una comparación u operación que devuelva un valor verdadero o falso. Ejemplo de esto son operaciones comparativas del tipo A < B, A = B, Nombre = «Jonathan»

Ampliemos nuestro ejemplo anterior para dar un mensaje por voz si la hora es mayor o igual a siete. El ejemplo quedaría así:


(*
Ejemplo para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
end if
end run

En este ejemplo vemos otra forma de incluir comentarios: escribiendo dos caracteres de guión consecutivos (-) indicamos que lo que hay a la derecha de esa línea es un comentario de código. Es una forma de incluir comentarios de forma rápida.

Estructura if then else

El ejemplo anterior sólo nos avisará si son las 7 o más tarde pero no hará nada si es antes de las siete. A veces nos interesa realizar operaciones distintas tanto si se cumple la condición como si se cumple lo contrario. Una forma de hacer esto sería declarar dos estructuras if then con condiciones contrarias. Un ejemplo de esto sería:


(*
Ejemplo 2 para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
end if
if hora < 7 then say "Todavía es temprano. Aprovecha." end if end run

Aunque esta solución pueda considerarse válida resulta poco eficiente y complica el código. Es poco eficiente porque para hacer una acción u otra realiza dos comparaciones. El código resulta más confuso porque ambas estructuras resultan iguales salvo por un signo matemático pudiendo provocar la confusión del programador.

AppleScript, como otros lenguajes, proporciona una solución elegante para cuando queremos ejecutar un trozo de código tanto para cuando se cumple una condición como para cuando se cumple la contraria. Veamos el ejemplo con esta nueva estructura condicional mejorada:


(*
Ejemplo 3 para dar un aviso según la hora
*)
on run
-- obtenemos la fecha
set fecha to current date
set hora to fecha's hours
-- según la hora damos el aviso
if hora >= 7 then
say "¡Despierta! Ya es tarde"
else
say "Todavía es temprano. Aprovecha."
end if
end run

Como se ve en el código aparece la palabra reservada del lenguaje else. Esta partícula nos permite incluir una separación en la estructura condicional para indicar que el código a continuación se ejecutará sólo si no se cumple la condición. La sintaxis completa es:

if condición a cumplir then
código a ejecutar cuando se cumple la condición
else
código a ejecutar si no se cumple la condición
end if

Ahora podemos crear scripts más complejos que realicen operaciones según se cumplan o no ciertas condiciones.

Variables en AppleScript

AppleScript, al igual que en otros lenguajes de programación, nos permite utilizar variables para almacenar y manipular información.
Su uso es muy sencillo. Para declarar y asignar un valor a una variable debemos seguir la siguiente sintaxis:

set nombreDeVariable to valorParaLaVariable

Veamos un ejemplo simple:


on run
set mensaje to "Hola mundo!"
say mensaje
end run

Para reasignar el valor de una variable se sigue la misma sintaxis. En la asignación podemos realizar encadenamiento de cadenas de texto, operaciones matemáticas, etc.

Veamos un ejemplo en la que asignamos el valor 1 a la variable valor, pronunciamos su valor, reasignamos el valor de la variable al valor que tenía antes más una unidad y volvemos a pronunciarlo:


on run
set valor to 1
say valor
set valor to valor + 1
say valor
end run

Problemas de formatos y tipos

Las variables pertenecen a distintos formatos (texto, números enteros, números decimales, estructuras de datos, etc) y formatos (UTF-8, UTF-16, Unicode, etc). Si intentamos manipular variables entre si con tipos o formatos distintos podemos obtener un error. Por ejemplo, la función say, que pronuncia un texto, espera que le pasemos una variable de texto o de números enteros.

Veamos un ejemplo en el que intentamos hacer un script para que nos pronuncie la fecha de hoy:


on run
set fecha to current date
say fecha
end run

Si intentamos ejecutarlo obtendremos el siguiente mensaje de error: No es posible convertir date «sábado 18 de agosto de 2012 09:44:04″ en tipo «class utf8».

Para solucionar este problema deberemos convertir el valor de fecha, que está en el formato de fecha del sistema, a un valor de cadena de texto.

Para convertir el valor de una variable a otro formato debemos realizar una conversión. La conversión en appleScript sigue la siguiente sintaxis:

( variable as tipoAConvertir )

Necesitamos convertir el tipo fecha de la variable fecha a un tipo de cadena de texto. El ejemplo quedaría así:


on run
set fecha to current date
set fechaEnTexto to (fecha as text)
say fechaEnTexto
end run

Introducción a VoiceOver para iOS

Con motivo del traslado de mi viejo blog de programar a ciegas a este nuevo y las continuas novedades en accesibilidad de iOS, el sistema operativo de Apple para dispositivos móviles, he decidido retomar la serie de artículos sobre cómo utilizar VoiceOver en un iPhone, iPad o iPod touch.

Sirva este artículo como introducción para esta nueva serie en este blog.

Activando voiceOver

Actualmente, por defecto, voiceOver viene desactivado. Puede ser activado gracias a un usuario no ciego entrando en Ajustes/general/accesibilidad/voiceOver. Apple ha añadido un método para activar VoiceOver de forma remota, para hacer esto es necesario enchufar el iPhone a un ordenador con iTunes 8.2 o superior y desde allí activar las características de accesibilidad del teléfono de forma remota.

Apple, en la versión 5 de iOS, el sistema operativo para dispositivos móviles de esta empresa, ha asignado por defecto a la función triple inicio la opción de VoiceOver. Esto implica que, cualquier nuevo usuario de iPhone puede sacar su dispositivo de la caja, encenderlo y pulsar 3 veces consecutivas el botón físico de la parte frontal del dispositivo, que se denomina botón de inicio, y VoiceOver se activará hablando en el idioma apropiado.

Navegando por el interfaz con voiceOver

Con voiceOver activado muchos de los gestos propios de iPhone se modifican o desactivan para que no aparezcan conflictos de funcionamiento con voiceOver. Gestos
como el zoom, el click simple o el deslizamiento relativo no funcionan. pero voiceOver aporta alternativas para estas funciones. Pero estos gestos no son obligatorios para utilizar el iPhone con voiceOver. El lector de pantallas nos permite explorar la pantalla de nuestro teléfono simplemente moviendo el dedo por ella. VoiceOver verbalizará el elemento que esté bajo el ratón y dirá su estado y qué tipo de control es. Este método de navegación es útil para recorrer rápidamente zonas de la pantalla o ir a sitios determinados de ella. Por ejemplo, en un teléfono symbian, si estamos al principio de un menú y queremos ir al último elemento tenemos que recorrer todas las opciones, con voiceOver podemos ir a la esquina inferior derecha con el dedo y voiceOver buscará qué hay ahí.

Pero este no es el único método para navegar por el interfaz del iPhone. Podemos hacer movimientos rápidos deslizando el dedo hacia la derecha o la izquierda haciendo pequeñas caricias en la pantalla (flick) y saltaremos hacia adelante o hacia atrás entre los controles a semejanza de la tecla Tab en Windows, Linux o Mac OSX. De esta forma podemos recorrer todos los controles de una ventana sin tener que buscarlos con el dedo. Moviendo el dedo hacia la derecha avanzamos y hacia la izquierda retrocedemos.

Ambos métodos se pueden aplicar a la hora de utilizar el teclado virtual para escribir textos. Podemos buscar cada letra moviendo el dedo por la pantalla o saltar de atrás a adelante con los gestos de avance o retroceso. Por ejemplo, si estamos en la letra F, si avanzamos pasaremos a la G y así hasta llegar a la L. Si seguimos avanzando pasaremos a la tecla de mayúsculas y luego a la tecla Z. Combinando ambos métodos podemos alcanzar una buena velocidad de tecleo. Por ejemplo, si estamos en la tecla M y queremos escribir una letra E, subimos con el dedo hacia arriba hasta encontrar una letra de la fila qwertyuiop y luego nos movemos a la izquierda hasta la tecla E.

El rotor

El rotor nos permite movernos entre elementos semánticos de forma más rápida. Algunos de estos elementos son caracteres, palabras, encabezados, enlaces visitados, enlaces por visitar, etc. De esta forma podemos saltar entre elementos semánticamente homogéneos de forma rápida. Para hacer estos saltos se utiliza el mismo gesto que para avanzar y retroceder entre controles pero en lugar de izquierda a derecha es de arriba a abajo.

Para seleccionar un elemento semántico hay que usar el denominado rotor. e llama así porque se asemeja a recorrer un círculo de dial para seleccionar un elemento. Para hacer esto debemos poner un dedo donde queramos, preferiblemente en el centro de la pantalla, y sin moverlo debemos hacer un circulo con otro dedo describiendo un círculo. De esta forma buscamos el elemento que deseemos seleccionar. Este gesto se asemeja al que se hace para subir o bajar el volumen en un iPod o moverse por los menús siguiendo una rueda de selección.

Más gestos, más funciones

Existen más gestos asociados a funciones de automatización de lectura, activación/desactivación de la voz, modo de intimidad (apagando la pantalla del iPhone para que nadie vea qué hacemos) y muchas más funciones. Pero lo básico está expuesto en este artículo.

Iniciación a AppleScript

Apple incluye dentro de su sistema operativo para ordenadores de escritorio y portátiles un lenguaje de scripts conocido como AppleScript. Este lenguaje nos permite crear tareas y pequeños programas para automatizar rutinas o mejorar el funcionamiento de algunas aplicaciones.

En la documentación de AppleScript podemos encontrar el siguiente texto descriptivo:

AppleScript es un potente y versátil lenguaje para la creación de scripts que se incluye en Mac OS X. Puede utilizar AppleScript para crear funciones rápidas, automatizar tareas repetitivas o incluso crear aplicaciones personalizadas que le ahorren gran cantidad de tiempo. AppleScript le permite controlar las aplicaciones que admiten el uso de scripts.

Un script de AppleScript consiste en una serie de comandos en inglés que realizan acciones sobre objetos. Ejemplos de acciones: open, close, get the name of (es decir, abrir, cerrar, obtener el nombre de). Los objetos pueden ser, por ejemplo, una aplicación, una ventana o un ajuste de preferencias.

Un script puede controlar una o más aplicaciones. Para que una aplicación permita el uso de scripts, debe definir los términos que se pueden emplear en los scripts. Mac OS X incluye varias aplicaciones que aceptan scripts.

Herramientas para desarrollar en AppleScript

Mac OSX incluye una aplicación para editar, compilar y depurar los scripts que desarrollemos. Esta aplicación se llama Editor AppleScript. En la documentación de la aplicación encontramos la siguiente definición:

Editor AppleScript es una aplicación para crear scripts muy fácil de utilizar que permite leer, escribir, grabar y guardar scripts de AppleScript.

Estas son algunas características de Editor AppleScript:

  • Ofrece una interfaz unificada y fácil de usar
  • Le permite buscar y reemplazar en el texto del script
  • Realiza un ajuste automático de las sentencias de gran longitud
  • Le permite deshacer varias acciones
  • Ofrece scripts de menú de función rápida para agilizar la redacción de scripts
  • Ofrece soporte para los servicios de las aplicaciones
  • Le permite acceder a scripts de aplicación mediante la paleta Biblioteca.
  • Ofrece un Asistente para Scripts que le ayuda a completar las sentencias
  • Ofrece el historial de resultados y el historial de registro de eventos para que pueda examinar qué ocurre en un script

Editor AppleScript está incluido en Mac OSX. Está situado en la carpeta Utilidades, de la carpeta Aplicaciones del disco duro.

Conceptos básicos de AppleScript

Cuando se ejecuta un script, AppleScript envía eventos Apple al sistema o a las aplicaciones que llevan a cabo los comandos. Estos eventos Apple son mensajes enviados a objetos del sistema o de aplicaciones instaladas en el sistema. Las aplicaciones o el sistema devolverán un resultado al script. Por ejemplo, si un script envía una petición a una aplicación para obtener el nombre de un objeto, la aplicación devuelve el nombre o un mensaje de error si no pudo realizar la petición.

No es necesario conocer los eventos Apple en profundidad ya que el editor AppleScript y sus funciones nos simplifican la tarea.

Applets

Un script que se guarda como aplicación se llama «aplicación AppleScript» o «applet». Los applets se ejecutan automáticamente al abrirse y realizan los comandos del script. Los applets pueden estar formados por solo un par de comandos, o ser aplicaciones más complejas.

Los applets pueden guardarse como editables o como solo ejecutables. Un applet editable sigue conteniendo el texto del script, por lo que puede editarse y volver a compilarse en cualquier momento.
Al guarda un script como solo ejecutable, la parte de texto editable se elimina y el archivo ya no puede modificarse ni volver a compilarse.

Ejemplo simple

Vamos a realizar la primera aplicación que todo desarrollador hace al aprender un lenguaje de programación, el conocido Hola mundo!. Abre el editor AppleScript y pega el siguiente código de ejemplo:


(*
Ejemplo 1:
Hola Mundo
*)
on run
say "Hola mundo!"
end run

Ahora ejecuta nuestro script bien pulsando la combinación Comando+R o usando la opción Ejecutar del menú Script del editor AppleScript. El sistema verbalizará el mensaje Hola mundo! utilizando la voz del sistema.