Posts in "productividad"

Emilio Aparicio y su Newsletter son una joya

Les voy a contar una cosa. Que muchos ya conocerán, pero que espero que sirva de ayuda a otros. Hace tiempo que el SEO no me rula bien así que es probable que esto lo lean cuatro y el del tambor.

En cualquier caso, se la cuento porque quiero mostrar mi agradecimiento a Emilio Aparicio, abogado administrativista de Bilbao, por su web y por la Newsletter en la que recopila Autos de Admisión de recursos de casación y Sentencias de la Sala III del Tribunal Supremo.

Cojan ustedes este método de Google: introduzcan en el buscador site:emilioaparicio.eu y las palabras de lo que necesiten buscar. Por ejemplo:

site:emilioaparicio.eu revisión de oficio
site:emilioaparicio.eu caducidad
site:emilioaparicio.eu interinos

Y se van a encontrar con una recopilación de artículos de Emilio de plena vigencia y actualidad, y con una relación de Newsletters en las que se recogen autos y sentencias relativas a esos términos que son una mina de información.

Emilio, gracias.

Foto de Emilio Aparicio, abogado administrativista

Cómo obtener el número de semana actual y el de la semana que viene

Para mi sistema de Bullet Journal de OmniFocus, quiero una forma sencilla de escribir el número de semana actual, o el de la que viene, sin tener que mirar en el calendario para ver si estamos en la semana 45, 46…

Las etiquetas que uso son en formato W45, W46, etc.

He creado una macro en Keyboard Maestro, y el truco está en este código horario: %ICUDateTime%ww%

%ICUDateTime% busca la fecha actual, mientras que ww% ofrece el número de semana en un calendario con 52 semanas. Con este código, el resultado es que la semana actual es 45. Añadiendo una W al comienzo: W%ICUDateTime%ww%, el resultado que ofrece es W45, que es la etiqueta que a mí me interesa.

La macro completa es así. Si tecleo la abreviatura w0, sin pensar más, me da el número de semana actual W45.

Keyboard Maestro macro

Para calcular el número de la semana que viene, el código ha de ser así: %ICUDateTimePlus%1%week%ww%. De forma que se suma una semana a la fecha actual y se da como resultado la semana 46. En mi caso, la macro queda así, con la abreviatura w1, que en mi cabeza es fácil recordar:

Keyboard Maestro macro

Para profundizar más, los distintos códigos de fecha (mes, semana, día, hora) y cálculo (sumar, restar fechas), se pueden encontrar en la siguiente wiki de Keyboard Maestro.

Creación masiva de etiquetas de fecha en OmniFocus

Para probar si puedo montar un sistema de Bullet Journal en OmniFocus, quería crear una serie de etiquetas (tags contextuales) para cada mes, cada semana y cada día del año. Las etiquetas diarias son 365 (366 para 2024, que es bisiesto), así que he buscado alguna manera más fácil de hacerlo. La creación individual de tareas en OmniFocus no es difícil, pero la repetición del proceso 366 veces podría llevarme horas de aburrimiento.

He seguido la convención de texto de TaskPaper, que permite importar tareas, con su proyecto, fecha de comienzo o vencimiento, etiqueta y otros metadatos en texto plano y con un simple Copiar-Pegar. Si la etiqueta no existe, la crea directamente en OmniFocus.

La convención para este caso es tarea @tags(etiqueta). Si la etiqueta está anidada en una categoría superior, OmniFocus la separa con un signo de dos puntos : así que el texto necesario quedaría así:

tarea @tags(categoría : subcategoría : etiqueta)

Para mi caso, quedaría así:

tarea @tags(BUJO : DayTags : 01-ene)
tarea @tags(BUJO : DayTags : 02-ene)
tarea @tags(BUJO : DayTags : 03-ene) y sucesivamente.

Seguro que hay formas más sencillas y elegantes de hacerlo, pero yo lo he hecho así:

Primero he creado una hoja de cálculo en Excel:

  • Columna A: tt@tags(. Motivos: si empiezo la celda con @ Excel cree que es una fórmula errónea. Si añado tt lo admite, y lo sustituiré en los pasos siguientes
  • Columna B: BUJO categoría superior en mi árbol de etiquetas.
  • Columna C: DayTagssubcategoría dentro de BUJO, junto con las etiquetas de mes y semana.
  • Columna D: Finalmente, la secuencia de fechas.
  • Columna E: Signo )de cierre de paréntesis, para la convención TaskPaper.

En esta captura se ve el resultado. La secuencia sigue hasta el 31 de diciembre.

secuencia de fechas en excel

He exportado el archivo a un formato de Texto delimitado por tabulaciones (.txt)y lo he abierto en Microsoft Word. Lo que se ve en Word es esto:

Secuencia de etiquetas en Word

La operación es sencilla: se trata de ir sustituyendo lo que sobra con la función Buscar y reemplazar:

  • Sustituir tt@por 1 @
  • Sustituir (tabuladorpor el signo de apertura de paréntesis (
  • Sustituir tabulador) por el signo de cierre de paréntesis )
  • Y sustituir los tabuladores centrales por la convención de OmniFocus de espacio dos puntos espacio

Para localizar el tabulador en la función de Buscar y reemplazar, hay que pinchar en el triángulo del campo de búsqueda y seleccionar Marca de tabulación:

Menú desplegable con opción para seleccionar Marca de tabulación

Finalmente, el texto queda así (la secuencia, recordémoslo, sigue hasta 31 de diciembre):

Secuencia definitiva en Word

Ya se puede seleccionar (⌘A) y copiar (⌘C) la secuencia completa en Word, para pegarla íntegra (⌘V) en el Buzon de OmniFocus.

Voilà. Aparecerán un montón de tareas con el número 1 inicial, cada una con una etiqueta de fecha distinta. Podemos borrar estas 366 tareas sin problema, porque las etiquetas ya estarán creadas y no se eliminarán. Vista en la pestaña de etiquetas:

Vista de las etiquetas en OmniFocus

A partir de aquí, las etiquetas ya estarán disponibles en el sistema para asignarles una fecha concreta en el sistema de Bullet Journal de OmniFocus. Esto permite buscar la etiqueta de una fecha en la perspectiva correspondiente, liberando además los campos de fecha de inicio y de vencimiento para otros usos.

Cómo enlazar a una sección concreta de un post

Para marcar una sección en un post de un blog y generar un enlace que lleve a esa sección en HTML, se debe usar el elemento de anclaje <a> y el atributo id.

Por ejemplo, si tengo un título de sección llamado “Contacto”, puedo marcarlo de la siguiente manera:

<h2 id="contacto">Contacto</h2>

Aquí, id="contacto" es un identificador único para esa sección.

A continuación, puedo crear un enlace que lleve a “Contacto” de la siguiente manera:

</a><a href="#contacto">Ir a Contacto</a>

Aquí, href="#contacto" es la referencia al identificador único que se ha definido anteriormente. Cuando hago clic en este enlace, me lleva a la sección del post del blog marcada con id="contacto".

Cómo incluir un atributo HTML para que los enlaces muestren un texto explicativo al pasar el ratón

MacGPT me ha vuelto a enseñar cómo incluir un atributo HTML para que los enlaces muestren un texto explicativo al pasar el ratón por encima.

> Para que un enlace muestre un texto cuando pasas el ratón por encima, puedes utilizar el atributo “title” en la etiqueta HTML “a”. Aquí tienes un ejemplo de cómo hacerlo: >
> <a href="https://www.ejemplo.com" title="Este es el texto que se mostrará">Haz clic aquí</a>
>
> En este caso, cuando pasas el ratón por encima del enlace “Haz clic aquí”, se mostrará el texto “Este es el texto que se mostrará”.

En este post he incluido un ejemplo de uso de este atributo, explicado en el apartado final de Bonus Track (actualización).

Cómo hacer que un enlace en HTML se abra en una nueva ventana o pestaña

He preguntado a MacGPT de Jordi Bruin cómo hacer que un enlace del blog se abra en una nueva ventana o pestaña, y como siempre ha acertado de pleno.

Otros servicios que he probado como Squarespace y Wordpress tienen una interfaz visual que permite seleccionar la opción, pero Micro.blog me está estimulando el aprendizaje y MacGPT está siendo un escudero estupendo.

Aquí la respuesta de MacGPT:

> Para que un enlace en HTML se abra en una nueva ventana o pestaña del navegador, debes usar el atributo target con el valor _blank en la etiqueta <a>. Aquí te dejo un ejemplo: >
> </a><a href="https://www.ejemplo.com" target="_blank">Visita Ejemplo.com</a> >
> En este caso, cuando hagas clic en “Visita Ejemplo.com”, el enlace se abrirá en una nueva ventana o pestaña del navegador, dependiendo de la configuración de este.

De paso, le he preguntado también como hacerlo en Markdown, lenguaje en el que escribo todos mis posts, y su respuesta ha sido igualmente acertada:

> En Markdown, la sintaxis para crear enlaces no incluye una opción nativa para abrir enlaces en una nueva ventana. Sin embargo, puedes usar HTML directamente en tu texto de Markdown. Aquí tienes un ejemplo:
>
> [Abrir en nueva ventana](https://www.ejemplo.com){:target="_blank"}
>
> Por favor, ten en cuenta que el fragmento {:target="_blank"} puede no funcionar en todas las implementaciones de Markdown, ya que no es una característica estándar de Markdown, sino una extensión que algunos procesadores de Markdown soportan.
>
> Si estás seguro de que tu procesador de Markdown no soporta esta extensión, puedes usar HTML directamente:
>
> <a href="https://www.ejemplo.com" target="_blank">Abrir en nueva ventana</a>
>
> Esta última opción debería funcionar en cualquier lugar donde se pueda utilizar Markdown.

Había perdido la función para responder a una llamada con un SMS de cortesía

Hasta hace poco, tenía una función muy útil en el iPhone: al recibir una llamada que no podía atender, podía responder con un SMS predefinido para disculparme y llamar cuando estuviera libre. Una cortesía que me parece muy apropiada. Y que utilizo solo cuando procede, claro.

Listado de opciones para responder con SMS a una llamada

Sin embargo, este botón me habia desaparecido de un tiempo a esta parte, no puedo precisar cuándo exactamente.

diálogo de llamada sin botón para responder con SMS

He podido localizar cómo solucionarlo, así que lo documento aquí: hay que activar la opción dentro de Ajustes -> Face ID y código, tal y como se muestra en esta captura:

Flecha señalando dónde hay que habilitar la opción de responder con mensaje, dentro de Face ID y Código de los Ajustes del iPhone

Y, de esta forma, vuelve el botón de Responder con SMS a la pantalla de la llamada que se está recibiendo.

diálogo de llamada con botón para responder con SMS

Cómo cambiar la fecha de creación y modificación de un archivo en MacOS

Usando Terminal. En Aplicaciones -> Utilidades -> Terminal.

El código es:

touch -t YYYYMMDDhhmm rutadelarchivo

Es decir: en la línea de comandos, escribir touch -t y un espacio. A continuación se arrastra el archivo desde Finder a la línea de comando de la Terminal para que se copie la ruta. Al copiar, Terminal deja un espacio después de la ruta, yo he mantenido el espacio sin borrarlo.

Ejemplo para cambiar un archivo de septiembre de 2023 al 25 de junio de 2023, 12:00 del mediodía:

Comando completo

La primera vez que se usa el comando touch -t cambia la fecha de creación del archivo.

Si a continuación se usa el mismo comando por segunda vez, con una fecha distinta, cambia la fecha de modificación.

Información original del archivo: Creado y modificado el 24 de septiembre de 2023 a las 10:44:

Información original del archivo

La primera vez, el comando cambia las dos fechas de creación y modificación al 25 de junio de 2023, 12:00:

touch -t 202306251200 /Users/umerez/archivodeprueba.md

Primer uso del comando

La segunda vez, el comando cambia solo la fecha de modificación al 25 de julio de 2023, 14:00, y mantiene la de creación.

touch -t 202307251400 /Users/umerez/archivodeprueba.md

Segundo uso del comando

Fuente: Muhammad Yassin: How to Change the Created Date or Modify the Date on Mac.

Microsoft Word para Mac: cómo evitar la opción de «No agregar espacio entre párrafos del mismo estilo»

Esto es una molestia que me ha irritado durante un montón de años y para la que hasta ahora no había encontrado solución.

En los documentos de trabajo que redacto en Microsoft Word, utilizo siempre párrafos numerados. Entre cada párrafo, utilizo una determinada separación. Pero cada vez que copio y pego un texto de varios párrafos, sea de otro documento de texto, de un PDF o directamente de la web, Word elimina la separación y me obliga a ir al menú de «Opciones de interlineado» o a las preferencias de formato del Párrafo para quitar esta irritante opción y devolver al texto la separación entre párrafos:

Opción «No agregar espacio entre párrafos del mismo estilo»

Hasta ahora, durante años, he adoptado el hábito de no copiar varios párrafos, sino de hacerlo de uno en uno, lo que es un incordio, aunque utilice una aplicación con historial de portapapeles. Pero, en las muchas ocasiones en las que lo olvido y copio varios párrafos, de todas todas, Word vuelve a recordarme que ha sido diseñado para molestar. Alguna vez he intentado incluso crear una macro en Keyboard Maestro para automatizar el proceso de devolver la separación entre párrafos al texto recientemente pegado, pero nunca me ha funcionado bien.

Tenía que haber algún ajuste por defecto y he encontrado la respuesta, por fin, aquí:

> By default, Word applies the List Paragraph paragraph style to bulleted and numbered lists (unless you explicitly apply a different style of course). Clear the “Don’t add space…” setting for the List Paragraph style as follows: In the Apply Styles pane, type in List Paragraph. Click Modify. Click Format, Paragraph and clear the option. Click OK. Before leaving the Modify Style dialog, select “New documents based on this template.”

> Por defecto, Word aplica el estilo de párrafo Párrafo de Lista a las listas con viñetas y numeradas (a menos que aplique explícitamente un estilo diferente, por supuesto). Para limpiar la configuración “No agregar espacio…” para el estilo Párrafo de Lista, siga estos pasos: En el Panel de Estilos, busque Párrafo de Lista. Haga clic en Modificar. Haga clic en Formato, Párrafo y desmarque la opción. Haga clic en Aceptar. Antes de salir del cuadro de diálogo Modificar estilo, seleccione “Documentos nuevos basados en esta plantilla”.

Adjunto unas capturas de pantalla para ilustrar lo que he hecho.

01 02 03 04

PRO TIP (maybe): Para evitar tener que hacer lo mismo en cada plantilla, creo que la solución está en incluir este cambio en la plantilla Normal.dotx. Para esto, he abierto un documento nuevo en blanco, con la plantilla general de Word, y he seguido los mismos pasos de antes, añadiendo lo siguiente: marcar la opción «Agregar a la plantilla» en las opciones de modificación del estilo. Todas las plantillas que he probado funcionan correctamente ahora, así que creo que la opción por defecto ha quedado incorporada a la plantilla principal de Word y a todas las plantillas creadas a partir de esta.

Opción "Agregar a la plantilla"

Cómo insertar imágenes en Typora

Typora es una aplicación estupenda para escribir archivos y tomar notas en lenguaje Markdown.

Como los archivos son en texto plano y no almacenan imágenes, para insertarlas en los textos es necesario guardarlas en algún lugar aparte.

Lo más adecuado es almacenarlas en algún servicio web con el que Typora puede conectar para insertar posteriormente las imágenes en los textos.

Para esto, he utilizado Github como almacén de imágenes y la aplicación Upgit para subirlas.

Al arrastrar una imagen a un texto de Typora, Upgit la sube automáticamente al repositorio de Github y obtiene una URL que inserta en el texto para que esté permanentemente disponible y visible.

He seguido las instrucciones de esta página de Typora.

Para crear el archivo config.toml he usado BBEdit. Dentro, he personalizado el código con el nombre de usuario de Github, el nombre del repositorio y un token creado al efecto en https://github.com/settings/tokens.

Finalmente, he incluido la ruta a Upgit en las preferencias de Typora:

Shows where to set the route to the Upgit app in the Typora settings

Dos posibles inconvenientes a tener en cuenta:

  • El token de Github tiene un plazo de expiración de 90 días, así que supongo que tendré que volver a generar un token dentro de tres meses.
  • Upgit no tiene actualizador automático, así que tendré que estar al tanto en Github para actualizarlo manualmente.

ACTUALIZACIÓN 2023-05-27:

Efectivamente, el 2023-05-25 he recibido un aviso de que el token de github estaba a punto de caducar. Siguiendo el mismo enlace de Github he regenerado un nuevo token fácilmente, dándole otros 90 días de vigencia. He pegado el token en el archivo config.toml, sustituyendo al anterior. El archivo está dentro de la carpeta de upgit que he guardado en la carpeta Documentos.