Category: tech
Estás viendo todas las publicaciones de esta categoría, comenzando con la más reciente.
No deja de sorprenderme que el Tribunal Supremo siga comunicándose con otros tribunales en formato papel. Esta es la última página de un testimonio remitido a un Tribunal Superior de Justicia. Será que ningún CSV puede batir la comodidad de imprimir y sellar veinte páginas y matar la última con un aspa gigantesca.

Well, this thing about the Vision Pro did impress me
Watching MKBHD play ping pong with the Vision Pro on has impressed me. The instantaneous rendering of the real world inside the headset is really astonishing. Watch it at the 11:30 mark. #tech
🚀
¿Por qué #WebSencilla #SmallWeb web0?
Porque queremos control sobre lo que queremos compartir, que pueda perdurar en el tiempo (depende de nosotras mismas), que no esté sometida a cambios de uso de una plataforma. Queremos que se acceda sin necesidad de cookies ni de ninguna otra mandanga que haga que el acceso a una web sea tortuosa. Porque queremos acceder a webs rápidamente.
Porque nos gusta aprender, ponernos desafíos y sentirnos realizadas poniendo en valor nuestros escritos dedicándoles no solo tiempo a escribirlos, sino a darles un continente apropiado y justo, un continente que represente lo que queremos que sean las webs. Porque hay veces que con HTML y CSS tenemos suficiente.
Si tu web es sencilla, no pesada (carga relativamente rápido), de fácil acceso (sin miles de avisos que salten al usuario a modo de obstáculo molesto o publicidad) y has puesto esfuerzos en ella tanto a nivel de diseño como de contenido para que sea modesta u honesta, es una #WebSencilla. La alojes tú o la aloje algún servicio que te puedas permitir por nivel de conocimientos o por nivel adquisitivo.
En algún momento tenemos que dejar de escribir sobre escribir y ponernos a escribir sin más, pero bromas aparte, suscribo esto de #WebSencilla y me apunto. #tech
🚀
Resueltos los problemas científicos y clínicos asociados a la anemia falciforme o la beta talasemia por el tratamiento con Casgevy, capaz de curar estas enfermedades tras una sola administración, tan solo nos queda resolver lo más importante: cómo llevar esta terapia a todos los enfermos que la necesitan. Son más de cuatrocientos mil las personas que nacen anualmente con anemia falciforme en el mundo, en su mayoría en África y Asia. Y todas ellas deberían poder aspirar a ser tratadas con Casgevy, en cumplimiento del cuarto principio de bioética, el de justicia, que garantiza que toda terapia que desarrollemos debería estar disponible para todo aquel que la necesite, no solamente para quienes puedan sufragar sus costes. En EE.UU. hemos conocido que el precio acordado para este tratamiento es de 2,2 millones de dólares por paciente. Una sencilla multiplicación nos llevara a constatar que, desgraciadamente, va a ser muy difícil, sino imposible, actualmente, llevar esta terapia a todos los enfermos que podrían beneficiarse de ella. Este es un problema fundamentalmente económico pero también un dilema ético de primera magnitud. El principal problema al que se enfrenta esta nueva terapia CRISPR es de accesibilidad. Lograr que Casgevy (y todas las terapias para otras enfermedades congénitas que seguirán) sea accesible a los enfermos debería ser el reto a resolver para un futuro inmediato. Resulta moralmente indefendible pensar que estas costosísimas terapias solamente van a estar disponibles para unos pocos afortunados que, en estos momentos, puedan costeárselas. Debemos trabajar para conseguir que los sistemas nacionales de salud acuerden precios razonables que salvaguarden el legítimo derecho que tienen las empresas farmacéuticas a obtener un beneficio de las inversiones realizadas para desarrollar la terapia. Sin olvidar que el origen de estos tratamientos innovadores lo encontramos en investigaciones básicas, como las dos protagonistas de esta historia, financiadas generalmente con recursos públicos.
Y todo esto empezó con la investigación de Francis Mojica, microbiólogo de la Universidad de Alicante. #tech
Esta cuenta solo es un clon de lo que publico en mi blog. No leo las respuestas ni los❤️ de X. Puedes buscarme en umerez.eu Si abres una cuenta en Mastodon, tendrás un perfil q conectará con todo el Fediverso y podrás encontrarme en micro.blog/eumrz
🔗 How to turn off click to reveal desktop in macOS Sonoma
How to turn off macOS Sonoma’s click to reveal desktop
- Open Settings
- Choose Desktop & Dock
- Scroll down to Desktop & Stage Manager
- Under click wallpaper to reveal desktop, click to change from Always to Only in Stage Manager #tech
Para limitar el número de posts que se publican por página en Home
y en el resto de páginas con listado de posts:
Editar el archivo config.json
de los Custom Templates o plantillas personalizadas de Custom Tiny. Cambiar el número de posts (5, 10, 20, etc.).
Línea 78: "paginate": 10,
Nota sobre los últimos cambios estéticos que le he hecho al blog
A modo de recordatorio, tomo nota aquí de los cambios que he introducido en el blog estos días.
He sustituido mi foto anterior por un avatar pixelado que he confeccionado en la web AVATARS IN PIXELS.
He subido esta nueva imagen a mi cuenta de Gravatar. De esta forma, micro.blog se referencia por defecto al avatar de Gravatar y muestra este nuevo monigote. Para asegurarme de que esto sucede así, he borrado la fotografía que anteriormente había subido a la sección de Account
de micro.blog.
Hecho eso, me he dado cuenta de que el nuevo avatar aparecía integrado dentro de un marco circular azul. Esto es porque se le aplicaba este CSS que había personalizado para enmarcar las imágenes:
img {
border: 2px solid #3988a7;
border-radius: 20px;
margin-left: auto;
margin-right: auto;
}
Para excluir el avatar de ese atributo y dejarlo sin ningún marco a su alrededor, he incluido este código en el CSS:
img.profile_photo {
border: none;
}
El siguiente atributo es para centrar todo el encabezamiento en la página (avatar, título de la web y botones de navegación):
.site-header {
text-align: center;
}
Finalmente, tenía ganas de volver a utilizar el logo de umerez.eu
que diseñó Carola Clavo hace algún tiempo, por lo que he tenido que hacer lo siguiente:
- Cambiar el título de la web de
Esteban Umerez Blog
aumerez.eu
en la sección deDesign
de la cuenta de micro.blog. - Subir la tipografía utilizada por Carola (Quicsand Light) a la sección de
Uploads
y guardar su URL. - Incluir el siguiente código CSS.
@font-face {
font-family: 'UmerezQuicksandLight';
src: url('https://[ruta de la fuente tipográfica]') format('opentype');
}
h1 {
font-family: 'UmerezQuicksandLight';
font-weight: 100;
}
El primer atributo @font-face
es para incluir la referencia a la tipografía previamente subida a la web, de forma que luego cada elemnto pueda referirse a esa nueva familia de fuentes.
Los atributos format('opentype')
y font-weight: 100;
han sido fundamentales, porque de otra forma el título no se mostraba correctamente. Sin el formato adecuado, no se mostraba la nueva fuente sino que renderizaba una por defecto del CSS principal (Times New Roman, si no me equivoco). Y sin el peso font-weight
adecuado, se mostraba la tipografía Quicksand en negrita.
No he podido cambiarle el color. He usado distintos atributos, tanto en el título h1
como en el site-header
pero no ha funcionado. Se muestra en negro y cambiar color azul deseado (#3988a7
) cuando se pasa el ratón por encima. Lo volveré a intentar en otra ocasión.
Acuerdo europeo para regular la Inteligencia Artificial
Conforme a la nota de prensa publicada este 09 de diciembre de 2023, miembros del Parlamento Europeo y del Consejo han llegado a un acuerdo político sobre el futuro Reglamento europeo que regulará las herramientas de Inteligencia Artificial (IA).
El texto acordado tendrá que ser adoptado formalmente tanto por el Parlamento como por el Consejo para convertirse en Reglamento de la UE.
Los objetivos perseguidos son ambiciosos:
- Garantizar que los derechos fundamentales, la democracia, el estado de derecho y la sostenibilidad ambiental estén protegidos de la IA de alto riesgo.
- Al mismo tiempo, impulsar la innovación y hacer de Europa un líder en este campo.
- Establecer el marco que permita a las empresas europeas, fundamentalmente las PYMEs, sacar un provecho adecuado de estas herramientas, prosperar y expandirse.
Las reglas acordadas establecen obligaciones para la IA en función de sus riesgos potenciales y nivel de impacto. La nota de prensa destaca los siguientes aspectos:
- 1. Aplicaciones prohibidas
- 2. Excepciones para la persecución de delitos
- 3. Obligaciones para sistemas de alto riesgo
- 4. Salvaguardas para sistemas generales
- 5. Medidas para apoyar la innovación y las PYME
- 6. Sanciones
1. Aplicaciones prohibidas
Debido a la amenaza potencial para los derechos de los ciudadanos y la democracia que plantean ciertas aplicaciones de la IA, los colegisladores han acordado prohibir las siguientes:
- Sistemas de categorización biométrica que utilizan características sensibles (por ejemplo, creencias políticas, religiosas, filosóficas, orientación sexual, raza);
- Scraping no selectivo de imágenes faciales de Internet o de videovigilancia para crear bases de datos de reconocimiento facial;
- Reconocimiento de emociones en el lugar de trabajo y en las instituciones educativas;
- Sistemas de puntuación social basada en el comportamiento social o las características personales;
- Sistemas de IA que manipulan el comportamiento humano para eludir su libre albedrío;
- Sistemas de IA dirigidos a explotar las vulnerabilidades de las personas (debido a su edad, discapacidad, situación social o económica).
2. Excepciones para la persecución de delitos
Se permitirán determinadas excepciones estrictas para el uso de sistemas de identificación biométrica (SIB) en espacios públicos con la finalidad de perseguir delitos.
Estas excepciones estarán sujetas a autorización judicial previa y a listas de delitos estrictamente definidas.
- Los SIB ex post facto o “en remoto” se utilizarán únicamente para la búsqueda selectiva de una persona condenada o sospechosa de haber cometido un delito grave.
- Los SIB “en tiempo real” deberán cumplir condiciones estrictas y su uso será limitado en tiempo y ubicación, a los exclusivos fines de:
- Búsquedas específicas de víctimas (secuestro, trata, explotación sexual),
- Prevención de una amenaza terrorista específica y presente,
- Localización o identificación de una persona sospechosa de haber cometido uno de los delitos específicos mencionados en el reglamento (por ejemplo, terrorismo, trata, explotación sexual, asesinato, secuestro, violación, robo a mano armada, participación en una organización criminal, delito ambiental).
3. Obligaciones para sistemas de alto riesgo
He aquí algunos ejemplos de ámbitos en los que la utilización de la IA da lugar a la identificación de sistemas de IA de alto riesgo, debido a su daño potencial significativo a la salud, la seguridad, los derechos fundamentales, el medio ambiente, la democracia y el estado de derecho:
- Infraestructuras críticas (por ejemplo, el transporte), que podrían poner en peligro la vida y la salud de los ciudadanos;
- Formación educativa o profesional, que puede determinar el acceso a la educación y al curso profesional de la vida de una persona (por ejemplo, puntuación de los exámenes);
- Componentes de seguridad de los productos (por ejemplo, aplicación de IA en cirugía asistida por robot);
- Empleo, gestión de los trabajadores y acceso al trabajo por cuenta propia (por ejemplo, programas informáticos de selección de currículos para los procedimientos de contratación);
- Servicios públicos y privados esenciales (por ejemplo, calificación crediticia que deniegue a los ciudadanos la oportunidad de obtener un préstamo);
- Aplicación de la ley que pueda interferir con los derechos fundamentales de las personas (por ejemplo, evaluación de la fiabilidad de las pruebas);
- Gestión de la migración, el asilo y el control fronterizo (por ejemplo, verificación de la autenticidad de los documentos de viaje);
- Administración de justicia y procesos democráticos (por ejemplo, aplicación de la ley a un conjunto concreto de hechos; también los sistemas utilizados para influir en el resultado de las elecciones y el comportamiento de los votantes).
El acuerdo Parlamento-Consejo pretende establecer obligaciones claras a estos sistemas de IA clasificados como de alto riesgo. Aunque el texto definitivo no ha sido publicado en la nota de prensa, los trabajos previos hablan de las siguientes condiciones a cumplir:
- Sistemas adecuados de evaluación y mitigación de riesgos;
- Alta calidad de los conjuntos de datos que alimentan el sistema para minimizar los riesgos y los resultados discriminatorios;
- Registro de la actividad para garantizar la trazabilidad de los resultados;
- Documentación detallada que proporcione toda la información necesaria sobre el sistema y su finalidad para que las autoridades evalúen su conformidad;
- Información clara y adecuada para el usuario;
- Medidas adecuadas de supervisión humana para minimizar el riesgo;
- Alto nivel de robustez, seguridad y precisión.
La nota de prensa refiere que los eurodiputados lograron con éxito incluir una evaluación obligatoria del impacto de los derechos fundamentales, entre otros requisitos, aplicables también a los sectores de los seguros y la banca. Los ciudadanos tendrán derecho a presentar quejas sobre los sistemas de IA y a recibir explicaciones sobre las decisiones basadas en sistemas de IA de alto riesgo que afecten a sus derechos.
4. Salvaguardas para sistemas generales
Obligaciones de transparencia para los sistemas de propósito general (GPAI): Para tener en cuenta la amplia gama de tareas que los sistemas de IA pueden realizar y la rápida expansión de sus capacidades, los colegisladores han acordado que los sistemas de IA de propósito general (GPAI, por las siglas en inglés de General Purpose Artificial Intelligence), y los modelos en los que se basan, tendrán que cumplir con los requisitos de transparencia propuestos inicialmente por el Parlamento. Estos requisitos incluyen la elaboración de documentación técnica, el cumplimiento de la legislación de derechos de autor de la UE y la difusión de resúmenes detallados sobre el contenido utilizado para la formación de los sistemas.
Obligaciones adicionales para los GPAI de alto impacto con riesgo sistémico: En el ámbito de la ciberseguridad, «Un riesgo sistémico es todo aquello que lleve a la posibilidad de tirar abajo un sistema por completo, haciendo que colapsen además sistemas que están interconectados entre sí, a nivel global».
Por lo tanto, para estos modelos, refiere la nota de prensa que los negociadores del Parlamento lograron asegurar obligaciones más estrictas. Además de cumplir determinados criterios, tendrán que llevar a cabo evaluaciones de modelos, evaluar y mitigar los riesgos sistémicos, realizar pruebas contradictorias, informar a la Comisión sobre incidentes graves, garantizar la ciberseguridad e informar sobre su eficiencia energética.
5. Medidas para apoyar la innovación y las PYME
Uno de los objetivos de las negociaciones ha consistido en asegurarse de que las empresas, especialmente las PYME, puedan desarrollar soluciones de IA sin la presión indebida de los gigantes de la industria que controlan la cadena de valor.
Con este fin, el acuerdo promueve las llamadas sandbox regulatorias y las pruebas en el mundo real, establecidas por las autoridades nacionales para desarrollar y capacitar una IA innovadora antes de su colocación en el mercado.
6. Sanciones
El incumplimiento de las normas puede dar lugar a multas que van desde los los 7,5 millones o el 1,5 % de la facturación mundial hasta los 35 millones de euros o el 7 % de la facturación mundial, dependiendo de la infracción y el tamaño de la empresa.
Colofón
A primera vista, los elementos generales publicados en la nota de prensa parecen referirse adecuadamente a la evaluación detallada de riesgos que se ha realizado en este proceso negociador, a partir de una primera propuesta de la Comisión. La protección de los derechos fundamentales y de las libertades públicas, del sistema democrático y el Estado de Derecho obliga a establecer estas precauciones en la Unión Europea, como principio fundamental y fundacional de su existencia. Es deseable sobre todo la transparencia y la rendición de cuentas de estos sistemas. Pero parece difícil poder regular y controlar la avalancha de aplicaciones que se nos viene. Otros entornos internacionales con menos salvaguardas desarrollarán sistemas de IA y abrirán mercados que ahora se nos hacen difíciles de imaginar. Confiemos en que la economía y la sociedad europea no queden al margen de ese desarrollo. En todo caso, el precio no debe ser la erosión de principios políticos y éticos fundamentales, por lo que esperemos que el nuevo Reglamento sirva de marco adecuado para un desarrollo ponderado y sostenible de estas tecnologías.
Lillihub is a micro.blog client you have to try
Want to try out a new Micro.blog web client? You’re in luck! I’d like to introduce Lillihub 🐸. It’s a delightful web app to view your timeline, make posts and keep up with conversations. You can even manage your books and bookmarks. Enjoy! 😁
El MacBook Pro se ha portado como un jabato. Ha empezado la jornada a las 04:30, se ha pasado todo el día funcionando en reuniones fuera del despacho y hasta ahora, que son las 22:30 y ha dado el primer aviso de batería baja.
Modelo Mac14,5 Apple M2 Max 64 GB SSD 1TB. #tech
Había olvidado que tenía instalado Instagram en el teléfono, hacía tiempo que no lo usaba. Al abrirlo, me ha ofrecido un mensaje. La elección ha sido sencilla, en tres breves pasos. #tech
Lo que estoy disfrutando retocando Atajos para publicar al blog desde el teléfono. Tengo para citas y para textos propios. Ya solo me falta un atajo para publicar imágenes. #tech
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
.

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:

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ñadott
lo admite, y lo sustituiré en los pasos siguientes - Columna B:
BUJO
categoría superior en mi árbol de etiquetas. - Columna C:
DayTags
subcategoría dentro deBUJO
, 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.

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:

La operación es sencilla: se trata de ir sustituyendo lo que sobra con la función Buscar y reemplazar
:
- Sustituir
tt@
por1 @
- Sustituir
(tabulador
por 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
:

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

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:

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 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"
.
Probando el dictado de texto con el iPhone, usando los auriculares Beats, Y control por voz dentro de las opciones de accesibilidad. #tech
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 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.
Hi @vincent @Mtt I sent a support mail to Vincent but now I’m thinking it might be a Tiny Theme issue. I think I don’t really know what I’m doing, sorry 😅.
I’m trying to set the footer of my blog at micro.blog, using Tiny Theme, and the webring is giving me trouble. It renders in a separate line and to the left instead of centered. This is the code I’m using
Visitas <span class="tinylytics_hits"></span> · Web amiga <a href="" class="tinylytics_webring">🕸️💍</a><br>
Sitio alojado en <a href="https://micro.blog">Micro.blog</a> con plantilla <a href="https://tinyformicro.blog/">Tiny Theme</a> <br>
And you can see in my footer that the webring does not show properly. It should show just after the «Web amiga» text.

Any ideas, please? Many thanks.
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.

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

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:

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

Potenciando la Productividad de los Abogados con JavaScript (MacGPT)
Otro post generado automáticamente por MacGPT. Sigo haciendo pruebas de la integración del blog y ActivityPub. Ahora he deshabilitado el cross-posting del feed, para ver cómo se publica el post en Mastodon, si es que se publica.
JavaScript es un lenguaje de programación que se utiliza principalmente para mejorar la interactividad y la funcionalidad de los sitios web. Sin embargo, su uso no se limita a los desarrolladores web. Los profesionales en trabajos intelectuales, como los abogados, pueden aprovechar JavaScript para mejorar su productividad y eficiencia. Aquí te explicamos cómo.
-
Automatización de Tareas Repetitivas: Los abogados a menudo tienen que realizar tareas repetitivas como la generación de contratos o la redacción de documentos legales similares. Con JavaScript, se pueden automatizar estas tareas. Por ejemplo, se puede crear una plantilla de contrato y luego usar JavaScript para llenar automáticamente los detalles específicos para cada cliente.
-
Organización de Información: JavaScript puede ser utilizado para crear y gestionar bases de datos. Esto puede ser útil para los abogados cuando necesitan organizar y acceder a grandes cantidades de información, como casos anteriores, leyes y regulaciones, y detalles de clientes.
-
Mejora de la Comunicación: JavaScript puede ser utilizado para mejorar la comunicación entre los abogados y sus clientes. Por ejemplo, se puede utilizar para crear un sistema de mensajería en tiempo real en el sitio web de la firma de abogados, permitiendo a los clientes hacer preguntas y obtener respuestas rápidamente.
-
Creación de Herramientas Personalizadas: Con JavaScript, los abogados pueden crear herramientas personalizadas que se ajusten a sus necesidades específicas. Por ejemplo, podrían crear una herramienta que les permita buscar rápidamente leyes y regulaciones relevantes para un caso particular.
-
Integración con Otros Servicios: JavaScript puede ser utilizado para integrar el sitio web de una firma de abogados con otros servicios en línea. Esto podría incluir servicios de programación de citas, sistemas de facturación, y plataformas de gestión de documentos.
En conclusión, aunque JavaScript es un lenguaje de programación que se utiliza principalmente en el desarrollo web, su versatilidad y potencia también lo hacen útil para profesionales en trabajos intelectuales como los abogados. Al automatizar tareas repetitivas, organizar información, mejorar la comunicación, crear herramientas personalizadas e integrar con otros servicios, JavaScript puede ayudar a los abogados a ser más productivos y eficientes.
La Integración de ActivityPub, Micro.blog y Mastodon: Un Nuevo Horizonte en la Comunicación Descentralizada (Por MacGPT)
Post escrito por MacGPT (con API de OpenAI y GPT4) acerca de la integración de ActivityPub, micro.blog y Mastodon.
Como asistente de inteligencia artificial, no puedo escribir publicaciones de blog en tiempo real. Sin embargo, puedo proporcionarte una idea general de cómo podría ser una publicación sobre la integración de ActivityPub, micro.blog y Mastodon.
Título: “La Integración de ActivityPub, Micro.blog y Mastodon: Un Nuevo Horizonte en la Comunicación Descentralizada”
Introducción:
En el mundo de la comunicación digital, la descentralización se ha convertido en un enfoque clave para salvaguardar la privacidad y la libertad de los usuarios. En este contexto, plataformas como ActivityPub, Micro.blog y Mastodon están liderando el camino hacia un internet más abierto y democrático. Este post explora cómo la integración de estas tres plataformas puede cambiar el panorama de la comunicación digital.
Cuerpo:
ActivityPub es un protocolo de red social descentralizado que permite a los usuarios comunicarse entre diferentes plataformas. Es el estándar de facto para la federación de redes sociales y se utiliza en una variedad de aplicaciones, desde microblogging hasta compartir videos.
Micro.blog, por otro lado, es una plataforma de blogs que se centra en la facilidad de uso y la interacción con otras redes sociales. A diferencia de las plataformas de blogs tradicionales, Micro.blog no tiene una línea de tiempo algorítmica, lo que significa que los usuarios tienen un control total sobre su contenido.
Mastodon es una red social descentralizada basada en el protocolo ActivityPub. Con una interfaz similar a la de Twitter, Mastodon permite a los usuarios publicar “toots” y seguir a otros usuarios en una variedad de instancias independientes.
La integración de ActivityPub, Micro.blog y Mastodon tiene el potencial de ofrecer una alternativa sólida a las redes sociales centralizadas. Los usuarios pueden mantener el control total sobre su contenido mientras interactúan con una comunidad global y diversa.
Conclusión:
La integración de ActivityPub, Micro.blog y Mastodon representa un paso adelante en la lucha por un internet más libre y descentralizado. A medida que más usuarios y desarrolladores adoptan estas plataformas, podemos esperar ver un cambio en la forma en que interactuamos en línea.
Mejor integración de micro.blog y Mastodon
Creo que he conseguido lo que llevaba buscando desde hace tanto tiempo: una única identidad que, partiendo de mi cuenta de micro.blog, en la que alojo el blog de umerez.eu, se extienda a Mastodon y al resto del fediverso a través de ActivityPub.
De esta forma, espero, no importará dónde me busque, lea o conozca alguien. Si se dirige a mí a través del blog, de micro.blog, de Mastodon, o de cualquier otro servicio con protocolo ActivityPub, debería poder encontrarme, enviarme mensajes, entablar conversaciones y cruzar comentarios esté donde esté.
Ahora que, por ejemplo, Wordpress ha activado ActivityPub para todas sus páginas (y son unos cuantos millones), este protocolo va a crecer muchísimo y tiene visos de convertirse en el estándar abierto para que cada uno de nosotros seamos dueños de nuestra identidad digital, podamos conectar con todo el mundo independientemente de la titularidad de cada plataforma y podamos marcharnos en cada momento con total libertad allá donde queramos.
Hasta ahora había activado ActivityPub en micro.blog de forma que me proporcionaba un usuario distinto a mi usuario de Mastodon. Lo que hacía que duplicara las publicaciones en los dos usuarios y los comentarios que recibía en uno no se veían en el otro, ni correctamente en micro.blog ni en las respuestas a mis posts del blog.
Ahora, siguiendo las mismas instrucciones que he seguido otras veces para cambiar de instancia/servidor
A partir de ahora, debería resultarme más directo y menos confuso expandir esa identidad por el Fediverso, así que nos vemos por ahí. Saludos y gracias por leer.
-
En resumen: en las preferencias de la cuenta de destino, crear un alias de la cuenta a migrar; esperar un momento para que la creación del alias tenga efecto; y, en las preferencias de la cuenta a migrar, apuntar a la dirección de mastodon de la cuenta de destino; la migración sucede en pocos minutos; se migran todos los seguidores y seguidos, no así los posts ↩︎
Botones para comentar los posts del blog en Mastodon y por email
El blog de Greg Morris, por ejemplo en este post, me ha dado la idea de poner unos botones para comentar los posts del blog en Mastodon o a través del correo electrónico. Me parece un buen método para facilitar el feedback de los lectores y, por lo que se refiere a Mastodon, para incrementar la comunicación con esta red social

He encontrado la forma de poner los botones de Mastodon y Correo electrónico. Hay dos plugins específicos para eso en el apartado de Plugins de micro.blog: Reply on mastodon y Reply by mail.

Una vez instalados, se puede personalizar el texto de cada botón en sus ajustes o Settings.
El plugin del correo electrónico funciona inmediatamente y enseguida aparece el botón al pie de cada post.
Pero el plugin de Reply on Mastodon necesita un paso más: hay que editar la plantilla
layouts/_default/single.htmlen el apartado de Design.

En concreto, hay que introducir el código que pego a continuación en la sección de la plantilla que marco en un cuadro rojo en la imagen:
{{ if templates.Exists "partials/reply-on-mastodon.html" }}
{{ partial "reply-on-mastodon.html" . }}
{{ end }}

Esto se explica en la página de Github del plugin, aunque no se dice dónde hay que insertar el código. Uso un tema denominado Paper, así que es probable que, si tu tema es distinto, tengas que localizar la plantilla referida a los posts individuales.
Una última cuestión: el botón de comentar en Mastodon solo aparece en los posts que han sido publicados (cross-posting) también en Mastodon. En los otros no aparecerá.
Y así es como veo mis botones en mis posts, espero que os animéis a comentar.
