Crea un script para contar tiempo en AppleScript

A veces puede que necesitemos contar cuánto tiempo ha transcurrido desde un evento a otro mientras utilizamos nuestro equipo con MacOS. Con AppleScript podemos crear un script que realice esta cuenta de tiempo.
Con lo que conocemos de AppleScript y lo visto en los artículos de Crea un cronómetro de cuenta atrás en AppleScript, Controlar variables no definidas en AppleScript y Obtener la hora actual en AppleScript de distintas formas podemos crear el siguiente script:

global timeValue, counting

on getTimeInSeconds()
	-- set t to (time of (current date))
	return (time of (current date)) as number
end getTimeInSeconds

on startCount()
	set counting to true
	set timeValue to getTimeInSeconds()
	say ("Contando")
end startCount

on stopCount()
	set numberOfSeconds to getTimeInSeconds() - timeValue as integer
	set numberOfHours to numberOfSeconds / 3600 as integer
	if numberOfHours > 0 then
		set numberOfSeconds to numberOfSeconds - (numberOfHours * 3600) as integer
	end if
	set numberOfMinutes to numberOfSeconds / 60 as integer
	if numberOfMinutes > 0 then
		set numberOfSeconds to numberOfSeconds - (numberOfMinutes * 60) as integer
	end if
	say ("Tiempo transcurrido " & numberOfHours & " horas, " & numberOfMinutes & " minutos y " & numberOfSeconds & " segundos.")
	set timeValue to 0
	set counting to false
end stopCount

on run
	try
		if counting = false then
			startCount
		else
			stopCount()
		end if
	on error number -2753
		startCount()
	end try
end run

Obtener la hora actual en AppleScript de distintas formas

En AppleScript podemos obtener la hora actual de diversas formas según qué necesitemos hacer.
Podemos obtener la hora actual en horas, minutos y segundos de la siguiente forma:

set tiempo to (time string of (current date))
display dialog tiempo

Pero podemos obtener el número de segundos transcurridos desde la madrugada hasta ahora:

set tiempoEnSegundos to (time of (current date)) as number
display dialog tiempoEnSegundos

Con cada una de las formas podemos realizar distintas funcionalidades y herramientas.

Controlar variables no definidas en AppleScript

Uno de los problemas de las variables globales o locales de AppleScript es controlar si la variable está definida o no. Veamos cómo podemos evitar errores de este tipo en AppleScript.

Ejemplo básico del problema

Imaginemos que tenemos una variable global llamada miVariable y queremos consultar si su valor es igual a 1. Tenemos el siguiente código:

global myVariable

if myVariable = 1 then
	display dialog "Vale 1"
end if

Si lo ejecutamos en el editor de AppleScript obtendremos el siguiente mensaje de error: Error de script La variable myVariable no está definida.

Controlando el error

Recordemos que en AppleScript para controlar errores tenemos la estructura Try/endTry.

Consultando la documentación técnica de AppleScript observamos que cuando el motor de ejecución de AppleScript encuentra una variable no definida se dispara el error número -2753.

Para controlar este error en concreto en AppleScript deberíamos codificar la siguiente estructura:

try
-- Código a ejecutar si todo va bien
on error number -2753
-- Código a ejecutar si la variable no está definida
end try

Con esta información podemos deducir que el código correcto para el ejemplo anterior sería algo como:

global myVariable

try
	if myVariable = 1 then
		display dialog "Vale 1"
	end if
on error number -2753
	display dialog "No vale 1"
end try

Presentación del dispositivo PRÓCER 3

La gente de PROCER celebrarán el próximo jueves 16 de diciembre de 2021 a las 16:00 de Argentina un webinar para el lanzamiento del nuevo dispositivo PROCER 3.
PROCER es una comunidad en donde profesionales y usuarios buscan trabajar en conjunto para desarrollar las mejores soluciones posibles.
Dicen estar convencidos de que no hay producto sin escuchar a cada uno de los usuarios y profesionales que los acompañan.

Una foto en la que se muestra a la izquierda unas gafas con una camara incorporada, en el centro se encuentra el dispositivo procer 3 y a la derecha el escaner portatil adaptado junto con un teclado externo.

El dispositivo

PROCER 3 es un dispositivo que permite la lectura de textos en diferentes contextos como material impreso y contenido digital. Además permite personalizar la experiencia de lectura para que se adapte lo más posible a los gustos y necesidades del usuario.
Esta versión del dispositivo utiliza una cámara que se incorpora a cualquier montura de gafas tradicional o en un dedo.
Este periférico potencia y simplifica las lecturas rápidas como prospectos de medicamentos, trámites gubernamentales, carteles, notas en papel, cheques, recibos bancarios, etc.
El dispositivo es compatible con un escáner portátil adaptado ideal para situaciones de estudio y trabajo.
Permite el almacenamiento en una unidad externa USB como un pendrive y almacenamiento en la nube.
Además, PRÓCER 3 tiene una botonera que facilita el uso del dispositivo, ofrece comandos por voz y posee compatibilidad con teclado externo.

El evento

El webinar se retransmitirá a través de Youtube y se realizará el día 16 a las 16:00 de Argentina en la página del Webinar de Procer 3 en Youtube.

También puedes encontrar más información en la página de Procer en Facebook.

Ayuda a que un niño o niña con autismo pueda comunicarse con su entorno gracias a ORCHESTRAM

La Federación española de autismo (FESPAU) ha abierto un proceso de colaboración económica para ayudar a niñas y niños con trastorno del espectro autista.

Esta ayuda consiste en proporcionar el acceso a familias, profesionales y los propios niños y niñas con trastorno del espectro autista a la aplicación Orchestram.

El autismo se caracteriza por las dificultades en la comunicación y la interacción social.

ORCHESTRAM ofrece la posibilidad de comunicarse en un entorno seguro a niños y niñas con autismo, permitiéndoles mejorar sus relaciones sociales y sus habilidades comunicativas.

Además ORCHESTRAM facilita la comunicación entre profesionales y familias haciendo posible el seguimiento del progreso de los niños y las niñas con trastorno del espectro autista.

El proyecto completo se puede encontrar en la página de FESPAU en Teaming donde se pueden encontrar documentos anexos con todos los detalles.

Puedes colaborar desde 1 euro al més. Para colaborar puedes unirte al grupo de Teaming.

VoiceOver para MacOS Monterrey puede reconocer imágenes

Con la aparición de la última versión de MacOS, la 12.0 más conocida como Monterrey, muchos de los servicios de accesibilidad se han actualizado.

VoiceOver, por ejemplo, incluye una nueva función que le permite identificar e interpretar imágenes de botones y controles de la interfaz.

Activación del reconocimiento de imágenes

Dentro del menú de utilidad de VoiceOver, al que se accede pulsando la combinación VO+F8, encontramos una nueva sección llamada Reconocimiento de VoiceOver.

En esta nueva sección encontramos la siguiente descripción:

El Mac utiliza la inteligencia local del dispositivo para mejorar automáticamente la accesibilidad de las imágenes. No se debe confiar en el reconocimiento de VoiceOver en circunstancias de riesgo, en las que puedas hacerte daño, para orientarte o para diagnosticar o tratar una enfermedad.

En este panel encontramos una casilla de verificación llamada Descripciones de imágenes que al verificarla descargará un paquete de idiomas para realizar tanto los procesos de OCR como la descripción de las imágenes interpretadas por esta función.

Justo bajo esa casilla de verificación hay un botón para descargar más idiomas.

Primero deberemos descargar el paquete para el idioma español. Dentro del apartado para descargar idiomas encontraremos una casilla de verificación para que el reconocimiento de las imágenes se realice sin conexión a internet. Es recomendable no activar esta opción ya que las descripciones son menos precisas si se hacen de forma local.

Una vez descargado el o los idiomas que necesitemos es el momento de activar la casilla de verificación de descripciones de imágenes.

Cómo se utiliza esta función

Una vez activada esta función podemos colocar el cursor de VoiceOver sobre una imagen o botón que muestre una imagen y pulsar la combinación de teclado VO+mayúsculas+l. Tras unos pocos segundos VoiceOver nos leerá la interpretación visual de lo que hay bajo el cursor de VoiceOver.

Una cosa interesante a tener en cuenta es que esta función, a diferencia de lo que hacen aplicaciones externas que realizan la misma función, es que con la función integrada en VoiceOver no importa si tenemos la cortina de pantalla activada.