openSUSE: los proyectos Tumbleweed y Factory se fusionan

openSUSEHace un tiempo hablamos del repositorio Factory convirtiéndose en una distribución «rolling» que sirviera también como base de la openSUSE tradicional, simplificando así el proceso de desarrollo de la distribución del camaleón. Otra variante de openSUSE de la que no he hablado por aquí es Tumbleweed, una serie de repositorios que podían utilizarse para convertir a openSUSE en una distribución «semi rolling»: ofreciendo nuevas versiones de casi todos los paquetes, aseguraba el tener una distribución siempre actualizada que al mismo tiempo se mantenía «sincronizada» con la versión de base.

Con Factory dejando de ser un repositorio experimental para convertirse en una distribución «rolling» bien definida, el papel de Tumbleweed dentro de la comunidad de openSUSE se volvió menos cierto. Pues bien, esta incerteza acabará el 4 de noviembre: cuando se libere openSUSE 13.2, los proyectos Factory y Tumbleweed se fusionarán bajo el nombre de este último.

El nombre «Factory» se seguirá utilizando para identificar el proceso de desarrollo de la distribución. En las próximas semanas surgirán seguramente más detalles sobre cómo se implementará este cambio.

,

Deja un comentario

Desenlace

Porque todas las historias tienen un final. Eso sí, antes de continuar aconsejo al lector consultar la tira original que en esta entrada alcanza su triste final:

Homenaje a xkcd

Y ahora sí, el temido desenlace:

tira-finalb

Deja un comentario

Cálculo diferencial 5: integrando ecuaciones diferenciales

Quinta parte del recorrido hacia las ecuaciones diferenciales. Para un índice de los artículos sobre este tema, puede consultarse este enlace.


En la última entrada hablamos de la relación entre derivadas e integrales. Si por ejemplo tenemos una ecuación donde la derivada de una función desconocida es igual a una función que conocemos,

\displaystyle \frac{d}{d\xi}f(\xi) = g(\xi)

tendremos que

\displaystyle f(\xi) -f(\xi_0) = \int \limits _{\xi_0} ^{\xi} g(\xi)d\xi

Por ejemplo, en una entrada anterior dijimos que la derivada de una recta me da una constante (su pendiente), por lo que si miramos todo del otro lado,

\displaystyle \frac{d}{dt}v(t) = A

con A una constante, implica que

 v(t) -v(t_0) = A(t -t_0)

También vimos que

\displaystyle \frac{d}{dt}\left[ A \left( t -t_0 \right)^2 \right]_{t_1} = 2 A \left( t_1 -t_0 \right)

Por lo tanto, no es difícil ver que

\displaystyle \int\limits _{t_0} ^{t} A(t -t_0) dt = \frac{1}{2}A(t -t_0)^2

Volvamos entonces a nuestra famosa ecuación diferencial

\displaystyle M g - k v^2 = M \frac{d}{dt}v

y hagamos algo que, si bien arriesgado para nuestro paracaidista, nos simplificará enormemente los cálculos: eliminemos la fricción con el aire haciendo k = 0. Es decir, una verdadera caída libre en ausencia de atmósfera. En esta situación, luego de simplificar el factor de la masa obtenemos

\displaystyle \frac{d}{dt}v = g

donde g es una constante (en este caso, la aceleración de la gravedad).

Con lo visto anteriormente podemos resolver esta ecuación simplemente integrando, lo que nos dará

\displaystyle v(t) -v(t_0) = \int\limits _{t_0} ^t g dt = g(t -t_0)

Recordando ahora que la velocidad es la derivada de la posición respecto del tiempo, podemos obtener

\displaystyle x(t) -x(t_0) = \int\limits _{t_0} ^t \left[ v(t_0) + g(t -t_0) \right]dt

Ahora bien, una integral es básicamente una suma de cosas (seguida de un límite), por lo que la integral de la suma de dos funciones será la suma de sus integrales. A partir de esto, de considerar que v(t_0) es simplemente un número constante (el valor de la velocidad en un único instante bien definido) y de lo que vimos durante esta entrada llegamos a

\displaystyle x(t) -x(t_0) = v(t_0) (t -t_0) + \frac{1}{2} g (t -t_0)^2

que no es otra cosa que la «ley horaria» del movimiento rectilíneo uniformemente acelerado. Hagan un esfuerzo de memoria, que seguro lo vieron en la escuela: ahora, ya saben de dónde sale.

Desafortunadamente, la ecuación diferencial que ha servido de hilo conductor en estas entradas es mucho más compleja. El término con la velocidad al cuadrado y la presencia de una constante hacen que sea particularmente difícil de resolver, por lo que el explicar el resultado exacto sería demasiado para estas modestas entradas (la solución general para la velocidad implica una función hiperbólica con otras funciones hiperbólicas —y otras cosas— en su argumento, mientras que integrar eso para obtener la posición agrega un logaritmo…). Pero a no desesperar, que aún así podremos utilizar lo aprendido para realizar un cálculo iterativo aproximado en Octave.

Pero eso será en la última entrada de la serie.

, ,

Deja un comentario

Programando el pasado en WordPress

Hace unos meses cometí un error: al escribir sobre cómo fue instalar Linux en mi nueva portátil decidí crear una página en lugar de un artículo. Esa página era una subpágina de «entradas destacadas», por lo que cada vez que pasaba el cursor por el menú de páginas me daba un submenú que resultaba bastante incómodo y no del todo claro. Quizás el problema fuera del tema usado en este sitio, pero la verdad es que luego de un tiempo me di cuenta de que sería mejor convertir esa página en un artículo, por lo que inmediatamente surgieron dos preguntas:

Pregunta 1: ¿existe una herramienta en WordPress para convertir páginas en artículos o viceversa?

Respuesta 1: No.

Pregunta 2: Si no queda otra alternativa que copiar el contenido de la página y pegarlo en un artículo, ¿existe una forma de hacer que el artículo se publique con la fecha anterior a la actual, por ejemplo cuando fue creada la página?

Respuesta 2: Sí.

A la derecha de la zona de edición del artículo tenemos la posibilidad de editar cuándo se publicará la entrada. Generalmente esta opción se usa para programar entradas futuras para que se publiquen automáticamente (de hecho, la mayor parte de las entradas de este sitio son programadas con varios días de anticipación), pero si ponemos allí una fecha anterior a la actual el artículo será publicado inmediatamente con esa fecha.

Programando esta entrada

Programando esta entrada

Y así fue como la página que hablaba de la experiencia de instalar Linux en mi nueva portátil terminó convirtiéndose en un artículo con fecha de publicación de un par de meses antes de cuando realmente presioné el botón «Programar».

Deja un comentario

Controlando la separación silábica en LaTeX/LyX

Cuando en un documento hacemos que el texto esté «justificado» (hacer que ambos márgenes, izquierdo y derecho, formen una línea) nos enfrentamos a un problema: si el texto está en columnas o la fuente tipográfica usada es grande en modo tal de tener pocas palabras por línea, el software que usemos se verá obligado a variar la distancia entre las palabras para ajustarse a los márgenes, lo que dará espacios en blanco de tamaño impredecible que harán incómoda la lectura. Para evitar esto, se recurre a la separación silábica de palabras a final de línea en modo tal que se reduzcan esos espacios… pagando el precio de tener muchas palabras «cortadas».

Comparen las siguientes capturas:

colortexto1 colortexto2

 

 

 

 

 

 

 

 

 

En la imagen de la izquierda la separación entre palabras es uniforme, pero tenemos una palabra quebrada casi en cada línea, lo cual dificulta la lectura. Por otra parte, la imagen de la derecha tiene solo una palabra separada, pero los espacios entre palabras son completamente aleatorios. Ambas situaciones son malas (si bien la segunda es mucho peor…).

En general, LaTeX hace un gran trabajo equilibrando los espacios con la separación silábica, pero solo cuando el texto es «lo suficientemente ancho». ¿Es posible cambiar manualmente el comportamiento de LaTeX? Sí, aunque lo que hay que hacer es más cercano a la «magia negra» que a un método de trabajo…

LaTeX usa un algoritmo complejo para decidir cómo distribuir el texto en las líneas del párrafo. Simplificando un poco el proceso, podríamos decir que calcula un parámetro que mide «qué tan mal» se ve el texto y trata de minimizarlo en dos pasadas. En la primer pasada, calcula qué tan mal se ve el texto sin la separación silábica y si el resultado es aceptable, pues todo listo. Si el resultado de la primer pasada no es aceptable (y suele no serlo), pasa de nuevo permitiendo esta vez la separación silábica al final de la línea.

Lo que dice si un resultado es «aceptable» o no, es un parámetro llamado «tolerancia»: si lo mal-que-se-ve está dentro de lo tolerado, pues pasa.

Y dado que el algoritmo hace dos pasadas, pues tenemos dos parámetros de «tolerancia», uno para la primer pasada y otro para la segunda.

¿Y como controlamos estas tolerancias? En el preámbulo LaTeX (en LyX: Documento → Configuración → Preámbulo LaTeX) se escribe

\pretolerance=<valor>
\tolerance=<valor>

Donde <valor> es un número entero entre 0 y 10000.

Y es en estos valores donde viene la «magia negra»: la imagen de la izquierda usa los valores por defecto de LaTeX mientras que la de la derecha usa 2000 para pretolerance y 3000 para tolerance.

Si para tolerance escribo en cambio 20, obtengo lo siguiente:

colortexto3

Lo cual está más «equilibrado»: tenemos la mitad de separaciones silábicas que en la primer imagen y los espacios, si bien no completamente homogéneos, son un poco más predecibles que en la segunda imagen.

El valor correcto para pretolerance y tolerance dependerá del tamaño de la página, de la fuente tipográfica, de los márgenes, del número de columnas… en fin, que encontrarlos es cosa de prueba y error. Y es que cuanto más «angosto» el texto es, menos estables estos parámetros resultan, todo lo cual viene a querer decir que cuando más los necesitemos más difícil será encontrarlos.

Y sí, la vida es cruel…


Para profundizar:

Unos tipos duros: ¿Menos guiones o más espacios irregulares? Este es el dilema

http://tex.stackexchange.com/questions/19178/whats-the-difference-between-tolerance-and-badness

http://tex.stackexchange.com/questions/31301/how-to-reduce-the-number-of-hyphenation

google, duck duck go o su buscador favorito ;)

3 comentarios

Liberado KDE Plasma 5.1

Semana de entornos de escritorio: Hoy se ha anunciado la liberación de Plasma 5.1.

El título del anuncio no podía ser más claro: «Plasma 5.1 Brings Back Many Popular Features», que se traduce como «Plasma 5.1 trae de regreso muchas características populares».

Cosas que vuelven en Plasma 5.1: El gestor de tareas de solo iconos, el plasmoide de notas, el monitor de carga del sistema, soporte para múltiples zonas horarias en el reloj del panel.

Cosas que mejoran: la presentación de las notificaciones, el gestor de contenido del portapapeles, el estilo Breeze está ahora disponible también para aplicaciones Qt4, mejorando la integración de aplicaciones aún no portadas a Frameworks 5, se tienen innumerables correcciones de error, mejoras en el rendimiento y la estabilidad, etcétera.

Ahora es más fácil cambiar entre plasmoides que realicen la misma tarea (por ejemplo, pasar del lanzador de aplicaciones por defecto a Lancelot o cambiar el tipo de reloj).

Se ha progresado en el soporte para Wayland. Un nuevo gestor de ventanas, «kwin-wayland» complementa ahora al existente, que ha sido renombrado como «kwin_x11». Una nueva librería llamada KWayland da información de configuración a KInfoCenter y otros sistemas que la necesiten (Martin Gräßlin explica de qué se trata esto en su blog). Más trabajo es necesario para lograr una experiencia con Wayland que sea agradable para todos los usuarios, pero los desarrolladores esperan tener todo listo en los próximos meses.

Aún faltan algunas características presentes en KDE4, pero el sistema está progresando a buen ritmo.

En este enlace es posible ver la lista de cambios.

,

Deja un comentario

Liberado LXQt 0.8

LXQt-logoCinco meses después de la versión 0.7, hoy se anuncia la liberación de LXQt 0.8.

Además de correcciones de error y nuevos temas, se tienen muchas y muy interesantes novedades:

  • Soporte completo para Qt 5 (en la próxima versión se eliminará el soporte para Qt4)
  • Nuevo componente lxqt-admin para administrar el sistema
  • Como comentamos, nuevos temas, algunos de ellos basados en temas plasma de KDE
  • Soporte mejorado para múltiples pantallas
  • Soporte para transparencia RGBA si se tiene disponible un compositor de escritorio
  • Nuevo módulo para configurar el monitor, lxqt-config-monitor, el cual reemplaza el eliminado (y al parecer, problemático) lxqt-config-randr
  • El navegador de archivos pcmanfm-qt tiene ahora soporte para activar elementos con un solo clic y para para arrastrar y soltar al escritorio, además de ofrecer integración con ark y otras mejoras
  • En lxqt-panel se pueden ahora reordenar los botones de la barra de tareas y se tiene soporte par el control de volumen a través de OSS (si disponible)
  • El administrador de energía lxqt-powermanagement tiene soporte mejorado con systemd/logind
  • Se puede elegir la fuente tipográfica usada en pantalla
  • Etcétera

En la página oficial del proyecto puede encontrarse una lista de repositorios para instalar LXQt en distintas distribuciones (al día de hoy, el repositorio de openSUSE no ha sido aún actualizado).

Habrá que comenzar a probarlo.

,

Deja un comentario

A %d blogueros les gusta esto: