domingo, 31 de julio de 2022

Cómo instalar Unity en Ubuntu 22.04

Descubrir hace años que Unity 3D, probablemente el motor de juegos más popular del mundo, estaba disponible para Ubuntu/Linux fue una excelente noticia y aunque he tardado en empezar a trastear con él, cada vez me gusta más. Tras comenzar a utilizarlo en Ubuntu 18.04, al instalarlo en el Ubuntu 22.04 del portátil he detectado un par de tropiezos que por fortuna pueden corregirse rápidamente:

Si Unity Hub no aparece...
 

Para ver el fallo, no hay más que ejecutar UnityHub desde la terminal, ya que si lo hacemos desde el escritorio no veremos el mensaje de error. Para hacerlo, basta con escribir en la terminal: 

./UnityHub.AppImage

Y ya está vemos que falta una biblioteca, así que tan solo hay que instalarla:

sudo apt install libfuse2

Si aparecen 2 errores sin descripción, incluso al crear un proyecto nuevo...

Este problema es un poco más largo de solucionar y, en resumen, se debe a que no está instalada la versión de SSL necesaria. Podemos encontrar las instrucciones para hacerlo en:

https://fedingo.com/how-to-install-openssl-in-ubuntu/

Básicamente tenemos que ejecutar lo siguiente:

sudo apt-get update && sudo apt-get upgrade
openssl version -a
sudo apt install build-essential checkinstall zlib1g-dev -y
cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
sudo tar -xf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
sudo make
sudo make test
sudo make install
sudo vi /etc/ld.so.conf.d/openssl-1.1.1c.conf
sudo gedit /etc/ld.so.conf.d/openssl-1.1.1c.conf
sudo ldconfig -v
sudo mv /usr/bin/c_rehash /usr/bin/c_rehash.backup
sudo mv /usr/bin/openssl /usr/bin/openssl.backup
sudo gedit /etc/environment
source /etc/environment
openssl version -a

martes, 21 de junio de 2022

Trucos para traducir proyectos pequeños, pero grandes

Imagina que recibes un proyecto con una cantidad enorme de palabras al 100%, bastantes high y low fuzzies y con un número relativamente pequeño de palabras nuevas que se han pretraducido mediante traducción automática. Te suena, ¿verdad? Actualmente son muy frecuentes estos proyectos en los que el esfuerzo de traducción no es muy grande, pero el número de palabras sí lo es. Por ejemplo, si tenemos un proyecto con 4000 palabras high fuzzy, 2000 palabras low fuzzy y 1000 palabras nuevas, aunque el promedio no sea muy alto (3000 palabras), el número total de palabras (7000 palabras) puede resultar intimidante.

Si estos proyectos no se abordan correctamente desde el principio, la traducción puede complicarse y alargarse, en particular cuando se trata de un proyecto nuevo y, al no conocer los criterios del cliente, tenemos que retroceder varias veces para aplicar criterios que al principio desconocíamos. Para agilizar la traducción y garantizar la máxima calidad, podemos seguir un simple proceso de tres fases:

1. Primera fase: high fuzzies
Vamos a comenzar por la parte teóricamente más sencilla del proyecto. Para ello, desactivamos la memoria de traducción automática y pretraducimos los archivos bajando al umbral de coincidencia al 95%. Al hacerlo, aparecerán pretraducidas todos los high fuzzies, que podremos consultar utilizando, por ejemplo, el filtro de coincidencias parciales. Esta parte de la traducción debería ser muy sencilla ya que en la mayoría de los segmentos solo habrá que recolocar las etiquetas, modificar las mayúsculas o, como mucho, cambiar una palabra. Esta es una manera excelente de tomar contacto con el proyecto, ver la terminología habitual y también evaluar lo antes posible la calidad de la memoria de traducción.

2. Segunda fase: low fuzzies
Llegados a este punto ya debemos tener una idea más clara de las características del proyecto así que, manteniendo desactivada la memoria de traducción automática, volvemos a pretraducir los archivos, pero esta vez bajando el umbral de coincidencia al 75%. Los segmentos que traduzcamos nos requerirán más esfuerzo que los de la fase anterior, así que es una oportunidad para comprobar si realmente hemos comprendido las particularidades del proyecto.

3. Tercera fase: MT
Ya solo quedan las palabras nuevas. Para traducirlas tenemos que activar la memoria de traducción automática. Dependiendo de la herramienta y los gustos personales, puede que sea más cómodo activar la memoria, pretraducir los archivos y luego desactivarla. Dado que al traducir los high y low fuzzies hemos ido aprendiendo la terminología, nos será más fácil ser coherentes y no dejarnos confundir por la terminología que nos proponga la traducción automática.

Bonus: cómo preparar la referencia
Aunque el proceso anterior está pensado para que la traducción gane en coherencia, a veces no será suficiente. Una manera muy fácil de ordenar la referencia es crear la siguiente estructura de carpetas y efectuar búsquedas con una herramienta que respete esta jerarquía (como Search & Replace), de manera que los resultados de mayor prioridad aparezcan en primer lugar.

1-Material suministrado por el cliente
En esta carpeta incluimos toda la referencia que nos haya enviado el cliente: glosarios, listas de términos no traducibles y guías de estilo, por ejemplo.

2-Pretraducción
En esta carpeta colocaremos una extracción de los segmentos 100% del proyecto. Si bien este texto no es tan relevante la referencia indicada explícitamente por el cliente, nuestra traducción tendrá que encajar en él, así que es muy útil.

3-Memoria de traducción
Aquí colocamos finalmente una exportación de la memoria de traducción. Este es el nivel más bajo de la referencia, pero dado que es un material que nos ha enviado el cliente, también puede ser muy útil.

lunes, 21 de febrero de 2022

Cómo corregir la sincronización del audio en un vídeo con VLC, HandBrake y ffmpeg

¿Alguna vez al ver un vídeo has notado que la imagen y el sonido no estaba correctamente sincronizados? Tal vez solo sean unos segundos, pero cuando empiezas a darte cuenta de que los labios de quien habla y lo que dice no se corresponden, es fácil obsesionarse con ello y dejar de prestar atención a lo que estás viendo.

Hay muchas maneras de solucionarlo, así que vamos a ver las opciones de la más sencilla a la más complicada.

1. Usar los accesos directos del teclado de VLC

Si estás viendo el vídeo en el reproductor VLC, este fantástico programa tiene una solución muy sencilla: con las teclas J y K puedes aumentar o disminuir el retardo entre sonido y vídeo, por lo que con pocas pruebas podrás solucionarlo.

2. Codificar el vídeo en HandBrake

Si el vídeo original estaba correctamente sincronizado y los problemas aparecen al convertir el archivo con Handbrake, puedes repetir la conversión, pero esta vez activando la casilla Velocidad de fotograma constante, con lo que el problema desaparecerá.

3. Activar un retardo con ffmpeg

La solución más potente, que puede parecer algo más complicada, dado que hay que utilizar el terminal de comandos. Para aplicarla, primero tendrás que averiguar el retardo que hay entre imagen y vídeo, por ejemplo utilizando las teclas J y K de VLC que comentábamos antes. Una vez que conozcas este retardo, solo tendrás que utilizar el siguiente comando:

ffmpeg -i "movie.mp4" -itsoffset 11.5 -i "movie.mp4" -map 0:v -map 1:a -c copy "movie-audio-delayed.mp4"

Donde:

movie.mp4: nombre del archivo original

movie-audio-delayed.mp4: nombre del archivo con el sonido con retardo

11.5: tiempo en segundos (con punto decimal)

En el ejemplo anterior, se aplica un retraso de once segundos y medio al archivo movie.mp4 para crear un archivo final llamado movie-audio-delayed.mp4.

Así de sencillo, ¡ya no hay excusas para disfrutar siempre de un sonido sincronizado a la perfección!

Solución original encontrada en esta página.

 


miércoles, 19 de febrero de 2020

Acrobat Reader: Cómo cambiar el nombre de usuario

Cambiar el nombre de usuario en Acrobat Reader es tan poco intuitivo que llegue a pensar que era imposible... y sin embargo, no solo puede hacerse, sino que es muy fácil. La clave está en no comenzar a buscar un ajuste que no existe en las opciones y preferencias del usuario, tal como haríamos con otros programas, sino seguir estos pasos:

1. Abre cualquier documento en Acrobat Reader, tras seleccionar cualquier fragmento de texto, haz clic en el botón derecho del ratón para que aparezca este menú.


2. Elige la opción Resaltar texto y, a continuación, vuelve a hacer clic con el botón derecho y elige Propiedades... Se abrirá el siguiente cuadro de diálogo:

3. Basta con hacer clic en la pestaña General y aparecerá por fin la opción que buscábamos:


4. Ahora podemos escribir en el campo Autor el texto que queramos que aparezca como usuario que ha redactado el comentario.

¡Y ya está! Hay que tener cuidado, no obstante, con un detalle. El cambio que acabamos de hacer solo se aplicará a la nota que acabamos de crear. Sin creamos una nueva, se escribirá con el nombre anterior. Afortunadamente, este comportamiento es muy fácil de cambiar. Solo hay que marcar la casilla Convertir propiedades en predeterminadas y el nombre que escribamos será el que se utilice a partir de ese momento.

Aparte de cambiar el nombre de usuario, este procedimiento también sirve para cambiar otros ajustes, como el color de la nota y la opacidad. En realidad, este método tiene bastante sentido, ya que es más lógico considerar el nombre del usuario como una propiedad de las notas que de la aplicación. Como de costumbres, es una de esas cosas que son muy fáciles... cuando sabes hacerlas.

martes, 29 de octubre de 2019

ReTexter: Guía instantánea de patrones

ReTexter incluye un par de patrones para obtener resultados rápidamente, pero ¿qué ocurre si quieres algo más concreto? Si es así, puedes utilizar patrones para indicar exactamente lo que quieres cambiar. Tal vez tardes un poco, pero la ventaja es que, una vez que definas los cambios, podrás aplicarlos luego a cualquier otro texto en cuestión de segundos.

A continuación, vamos a ver estos patrones ordenados por complejidad, del más sencillo al más complicado:

1. El más simple
Ejemplo: efeto → efecto
Operación: replaceToken
Sirve para: para cambiar una o varias palabras sin complicaciones. Si se encuentra un texto, se sustituye por el otro.
Utilízalo para: cualquier operación que se podría hacer prácticamente con el Buscar y reemplazar de un procesador de texto (sin cambios de género ni de número).
 
Si el texto hace un uso particular de las mayúsculas, se imitará en el texto reemplazado. Es decir, el ejemplo anterior cambiaría efeto, Efeto y EFETO por efecto, Efecto y EFECTO, pero no afectaría  a efetos.

2. El comodín
Ejemplo: vueso* → vuestro
Operación: replaceToken
Sirve para: para cambiar varias palabras que tienen una raíz en común.
Utilízalo para: cambios similares al anterior, pero cuando hay varias palabras muy parecidas.

¡Ten cuidado! Esta operación suele ser impredecible y, por ejemplo, si quisieras simplificar el ejemplo anterior para que incluyera también vuesa (vues* → vuestr), te encontrarías con que los vuestro los convierte en vuesttro, así que haz pruebas antes de utilizarlo.

3. El variable
Ejemplo: tan gran $1 → $1 tan grande
Operación: replaceToken
Sirve para: para cambiar de posición una o varias palabras. Por ejemplo, en el ejemplo anterior serviría para cambiar tan gran miedo por miedo tan grande, pero también tan gran alegría por alegría tan grande, etc.
Utilízalo para: cuando quieres reordenar una expresión. Recuerda que cada variable solo corresponde a una sola palabra. Para localizar varias palabras, deberás añadir más variables.

4. El variable quisquilloso
Ejemplo: en $gerundio1 → $gerundio1
Operación: replaceToken
Sirve para: para cambiar varias palabras desconocidas, pero de una categoría gramatical concreta. Por ejemplo, en el ejemplo anterior serviría para cambiar en viviendo por viviendo, pero también en llegando por llegando, etc.
Utilízalo para: cambios muy genéricos, pero a la vez muy específicos respecto a la categoría gramatical. Una vez más, ¡cuidado con las consecuencias inesperadas! Si son muy genéricos, es fácil que los resultados sean de risa (o para llorar).

Por el momento, puedes utilizar $verbo, $infinitivo y $gerundio, pero la lista se ampliará próximamente. Si necesitas utilizar varios, añade lo que quieras después de la palabra clave. Por ejemplo $verbo1, $verboPrincipal y $verboA, servirán igualmente.

4. El variable quisquilloso y con transformación
Ejemplo: en $gerundio1:infinitivo → al $gerundio1
Operación: replaceToken
Sirve para: para cambiar palabras desconocidas, que además necesitas transformar a una forma diferente. Por ejemplo, en el ejemplo anterior serviría para cambiar en llegando por al vivir, pero también en volviendo por al volver, etc.
Utilízalo para: reformular completamente una expresión.

Muy importante: observa que en el texto final no se indica la categoría de destino. Es decir, no hay que escribir $gerundio1:infinitivo sino solo $gerundio1 (aunque la palabra ahora sea un infinitivo, vaya).

5. El completo
Ejemplo: poner → colocar
Operación: replaceLemma
Sirve para: para cambiar palabras concretas, pero que se presentan en muchas formas posibles, como verbos. Por ejemplo, en el ejemplo anterior serviría para cambiar pongo por coloco, pero también poniendo por colocando, puse por coloqué, etc.
Utilízalo para: verbos y nombres, especialmente cuando haya un cambio de género implicado.

Muy importante: hasta cierto punto, este cambio tiene en cuenta el cambio de género. Es decir, si cambias efecto por consecuencia, se intentarán ajustar los determinantes y adjetivos cercanos. Por ejemplo, un efecto espantoso se cambiará por una consecuencia espantosa y origen del efecto se cambiará por origen de la consecuencia. No obstante, es una operación complicada y tal vez tengas que hacer algunos ajustes finales.

Con estas posibilidades, ya es fácil hacer un gran número de cambios, pero dado que ReTexter está en pleno desarrollo, próximamente se añadirán y refinarán estas funciones, así que si echas de menos alguna función o tienes alguna sugerencia, no dudes en escribir un comentario.

lunes, 21 de octubre de 2019

Libro: «Los 7 hábitos de la gente altamente efectiva» de Stephen Covey

Hay un viejo dicho en marketing que afirma que «la mitad del gasto en marketing acaba en la basura. El problema es que nadie sabe qué mitad es». Al comenzar a leer este libro, es conveniente saber que en este caso tendremos que aplicar esta regla dos veces. Es decir, es fácil que no estemos de acuerdo con la mitad de lo que leamos y, hasta de esa mitad que nos parece bien, la mitad no nos aporte nada nuevo. Sin embargo, ese 25% que queda tiene ideas tan bien transmitidas y con tal potencial de transformación que hacen que la lectura del libro merezca la pena.


Tal vez los problemas comiencen con el propio título: «Los 7 hábitos de la gente altamente efectiva» parece preceder a una larga lista de consejos que harán que rindamos más en el trabajo, algo del estilo «Acuéstate temprano», «Pasea antes de desayunar» o frases motivadoras como «Somos dueños de nuestro destino». No es así, para bien y para mal. Si alguien espera encontrar recetas mágicas para conseguir el éxito, no las encontrará aquí, aunque esa es precisamente su mayor virtud. En lugar de marcar un camino establecido, este libro anima al lector a encontrar su brújula personal, basada en sus cualidades, aptitudes y valores concretos. Y dado que todos somos diferentes, no sirve de nada tomar prestada la brújula de otro, ya que lo que al vecino le funciona estupendamente podría conducirnos a nosotros al precipicio. No queda más remedio que aprender a conocerse, algo nada fácil teniendo en cuenta lo fácil que es confundir lo que somos con lo que nos gustaría ser o, incluso, con lo que otros quieren que seamos. Hay que reflexionar para encontrar y dar forma a unos principios que encajen con lo que realmente somos y sentimos, algo que exige tiempo y esfuerzo más allá del que exige la lectura de sus páginas. Por tanto, más que devorarlo en unos pocos días, merece la pena ir leyéndolo poco a poco, compaginando su lectura con nuestras reflexiones sobre cómo se aplica lo que  describe a nuestra vida.

Aunque este libro suele colocarse en las secciones de empresa y marketing, su utilidad va más allá de lo profesional, tal como confirma que muchos de los ejemplos que menciona no correspondan al mundo de la empresa, sino a la familia y, en concreto, a la educación de los hijos. Por tanto, sea cual sea el objetivo que nos tracemos, en este libro encontraremos herramientas con las que, para empezar, ese objetivo que nos hemos fijado tiene sentido para nosotros y, una vez que tengamos esta certeza, aplicar un enfoque estructurado para lograrlo.

Incluso no tenemos ganas de trazarnos ningún objetivo y consideramos que en la vida el camino es más importante que el destino, este libro puede ser útil ya que, tal como he comentado, se trata más de una brújula que de un mapa o un itinerario. En algún momento tendremos que tomar una decisión  y, a la hora de hacerlo, nos vendrá muy bien un faro que nos oriente, aunque solo sea para señale el camino que deseamos evitar. Y ni siquiera hace falta que este conocimiento sobre nosotros mismos nos impulse a tomar una decisión diferente. Tan solo saber que estamos haciendo lo que consideramos correcto nos ayudará a afrontar situaciones difíciles con una mejor disposición y mayor tranquilidad. A fin de cuentas, si hay algo peor que estar perdido es acabar en un lugar donde no se quiere estar.

lunes, 14 de octubre de 2019

ReTexter: Una aplicación para cambiar textos en cuestión de segundos

Aunque he desarrollado varias aplicaciones para analizar textos con mucha precisión, llevaba un tiempo con ganas de crear una aplicación más inmediata y desenfadada, algo así como un PhotoShop o FaceApp para textos, algo con lo que cualquier pudiera jugar con un texto, aplicándole filtros interesantes sin tener que ser un profesional del lenguaje ni tener que navegar por una larga serie de tablas y gráficos repletos de datos.

La idea acabó de cobrar forma cuando hace poco releí mi relato favorito de Agatha Christie: «Tres ratones ciegos», una breve historia que desde siempre me ha fascinado por su ambientación. Un matrimonio joven que tras casarse apresuradamente alquila habitaciones en la casa que una tía les ha dejado en herencia, unos misteriosos desconocidos, una tormenta de nieve que les deja convenientemente incomunicados...

Aunque he disfrutado leyéndola tanto como la primera vez, la traducción de C. Peraire del Molino utilizaba a veces los pronombres con los verbos de una forma un tanto arcaica:

Una corriente de aire frío le dio en la nuca. Molly volvióse extrañada. ¿Es que se había abierto la puerta? ¿Habría entrado alguien en la habitación? No, el salón estaba vacío, mas de pronto sintióse nerviosa… asustada. ¿Y si entraba alguien?

Aunque finalmente me resigné a releer la novela tal cual pensé que, utilizando un etiquetador como petraTAG, sería realmente fácil acercar el texto a nuestro siglo. Bastaba con localizar las palabras desconocidas que terminasen en -le o -se (es decir, los ya comentados volvióse y algún que otro dirigióle igualmente nefasto). Si al quitarle la partícula final, el resultado se etiquetaba como un verbo en tiempo pretérito, el pronombre y el verbo podían separarse para invertirlos.

El resultado es una nueva aplicación creada en Java que por el momento he llamado ReTexter y que puede descargarse gratuitamente desde http://www.antakirasoftware.com/retexter/.

La interfaz de la aplicación es deliberadamente sencilla: un campo para indicar el texto que queremos cambiar, un cuadro combinado para elegir entre dos filtros, otro campo por si queremos guardar los resultados y, por último, una casilla para no ver los detalles del proceso. El programa está configurado para que nada más descargarlo seleccione automáticamente un pequeño fragmento de demostración. Por tanto, tras arrancarlo, cuando nos aparezca la pantalla de inicio solo tenemos que hacer clic en Procesar para que aparezca el siguiente resultado:

Ella volvióse extrañada. ¿Habría entrado alguien en la habitación? No, el salón estaba vacío, mas de pronto sintióse nerviosa… asustada. ¿Y si entraba alguien? Ella se volvió extrañada. ¿Habría entrado alguien en la habitación? No, el salón estaba vacío, mas de pronto se sintió nerviosa… asustada. ¿Y si entraba alguien?

El mismo archivo contiene una frase especialmente pensada para la otra operación disponible, el cambio de segunda a tercera persona. Por tanto, si en el cuadro combinado elegimos la opción «Convertir segunda persona a tercera persona» en lugar de la que aparece de manera predeterminada, veremos:

Tú y ella corréis a lo largo del tren. Cuando llegáis al furgón, oís ruido de pasos detrás de vosotros.
Usted y ella corren a lo largo del tren. Cuando llegan al furgón, oyen ruido de pasos detrás de ustedes.

Es fácil ver que esta operación es más compleja que la anterior: hay que flexionar varios verbos, tener en cuenta las mayúsculas y, aún así, quedan cuestiones a las que volveremos más adelante.

Por el momento, estas son las dos funciones que incorpora esta nueva aplicación. ¿Qué os parecen? ¿Se os ocurre alguna otra que lo haría más útil? ¿Creéis que la información podría mostrarse de una manera más útil? Para cualquier sugerencia o duda, no dudéis en dejarnos un comentario.


Por qué el dinero ya no fabrica mitos

La ritualización como respuesta a la avalancha de contenido infinito.  Nunca se había invertido tanto dinero en producir contenido y...