Archive

Archive for the ‘Informática’ Category

Error MODIFICATION_FAILED en Lightning con Provider for Google Calendar

septiembre 21, 2014 Deja un comentario

Tras un par de días recibiendo el error MODIFICATION_FAILED en Lightning, el plugin de calendario de Thunderbird, proveniente de mi calendario Google, decidí poner cartas en el asunto para solucionarlo. Indagando, descubrí que podía ser un fallo de un evento añadido recientemente que estuviese en un formato incorrecto, pero tengo demasiados eventos como para probar a eliminarlos uno a uno. Lo que necesito es un log para Lightning.

Lightning

Para activar el log, nos vamos a configuración avanzada de Thunderbird (Herramientas > Opciones > Avanzado > Configuración Avanzada > Editor de Configuración) y con botón derecho añadimos un valor boolean (sí/no) con nombre calendar.debug.log y valor true o sí. Ahora, en la consola de error (Herramientas > Consola de errores) podemos ver qué evento es el que causa el error y modificarlo pertinentemente o eliminarlo para que no nos cause más problemas.

Por cierto, muy interesante el artículo de cómo utilizar varias cuentas de correo desde Gmail. Básicamente convierte Gmail en tu gestor de correo, evitándote usar Thunderbird. El principal problema que le veo es dar aún mas información a Google, cediéndole todas tus cuentas de correo.

Más info: https://wiki.mozilla.org/Calendar:GDATA_Provider#Enabling_calendar.debug.log

Categorías:Informática

Map Reloop Contour Standalone para Traktor

enero 1, 2013 Deja un comentario

Hace ya un año que compré esta controladora. Después de muchas valoraciones, me decanté por una sin mezclador y con tarjeta de audio integrada, porque me da la posibilidad de conectarla a la mesa de mezclas y mezclar con ordenador y vinilos a la vez (los de la vieja escuela nos negamos a abandonarlos).

Reloop Contour

Reloop Contour

El inconveniente que tiene es que cuando vas a hacer una fiestecilla y no quieres cargar con mesa de mezclas a cuestas (ya bastante tienes con el portátil y la controladora), te encuentras con que el cacharrito tiene un mapping pensado para ser usado con mesa de mezclas externa, por lo que presenta los siguientes problemas:

  • Sólo permite subir y bajar el volumen de la pista que estemos controlado en ese momento con el Jog. Lo ideal sería poder utilizar potenciómetros deslizantes para controlar todas las pistas (como en una mesa de mezclas)
  • No te permite ecualizar directamente. Para hacerlo, debes pulsar el botón “Shift” y utilizar los potenciómetros deslizantes.
  • El punto anterior añade un problema. Utilizar controles posicionales (como los potenciómetros deslizantes) que van conmutados con otras funciones en lugar de controles relativos hace que, si movemos el potenciómetro para la función A y lo dejamos al máximo (ej. dry/wet de efectos), al ir a utilizarlo para la función B, también esté al máximo (ej. ganancia al máximo).
  • El control de volumen de los auriculares presenta el mismo inconveniente que el punto anterior.

El lado positivo es que podemos solucionarlo fácilmente, dado que tenemos controles relativos y potenciómetros suficientes con funciones repetidas en el llamado módulo de efectos (T7-T14 en el manual).

efectos

Vamos a realizar los siguientes cambios:

  • T7 será la ganancia. Pulsando shift, permitirá controlar el volumen del auricular.
  • T9 el ecualizador.
  • Al pulsar los botones de T9 se activa/desactiva la función kill de la ecualización. Es curioso que los botones no tienen función asignada por defecto y, sin embargo, esta misma función la tienen asignada al pulsar shift.
  • T10.1 y T10.2 serán los potenciómetros de los Decks A y B.

Normalmente habría realizado los cambios con el modo aprendizaje de Traktor, que te permite elegir la función que quieres y pulsar o deslizar el potenciómetro correspondiente en la controladora para asignarle automáticamente el código MIDI, sin necesidad de que el usuario sepa qué codigo corresponde a qué control. Pero se dio la circunstancia de que no tenía la Reloop Contour a mano y, además, tenía cierta prisa por realizar el mapping para la fiesta de nochevieja. Así que me puse manos a la obra y busqué las correspondencias de los controles con su código MIDI, y llegué a la siguiente conclusión:

  • Los potenciómetros y encoders se codifican con el código (CC)
  • Los botones se codifican con la nota MIDI

Dichas correspondencias aparecen al final del manual en código hexadecimal. Esto presenta dos problemas. El primero es que Traktor trae los códigos en decimal, por lo que hay que hacer la conversión (eso es fácil de solucionar). El siguiente problema es que en el manual no aparecen más que los códigos CC para botones, y yo necesitaba las notas MIDI. Así que me puse a buscar la equivalencia y encontré lo siguiente:

Traktor Midi Note Chart - Copy - Copy

Así que los códigos y notas de los botones y encoders que yo buscaba son los siguientes:

Faders T8 y T10. Códigos decimales
Fader CC CC shift
1 41 105
2 42 106
3 43 107
4 44 108
Encoders T7 y T9. Códigos decimales
Encoder CC CC shift CC Botón CC Botón shift
1 10 74 A#-1 D5
2 11 75 B-1 D#5
3 12 76 C0 E5
4 13 77 C#0 F5

Ya sólo me quedaba modificarlos en Traktor. Asigno a las siguientes funciones los códigos correspondientes con la configuración indicada.

  • 42 – Volume Fader Deck A
  • 43 – Volume Fader Deck B
  • 10 – Gain     – 7Fh/01h – sensitivity 20%
  • 11 – Eq High     – 7Fh/01h – sensitivity 20%
  • 12 – Eq Mid     – 7Fh/01h – sensitivity 20%
  • 13 – Eq Low     – 7Fh/01h – sensitivity 20%
  • 74 – Monitor Volume     – 7Fh/01h – sensitivity 5% (invertido)
  • B-1  – Eq High Kill (toggle)
  • C0   – Eq Mid Kill (toggle)
  • C#0  – Eq Low Kill (toggle)
Categorías:Informática Etiquetas: , , ,

Subnet Zero and the All-Ones Subnet

diciembre 27, 2012 Deja un comentario

El tema de este post viene propiciado por un gravísimo error que se da en las universidades públicas españolas: los profesores no han salido del ámbito académico en su vida. Como consecuencia, lo que ellos estudiaron hace 20 años, y que en la industria ha quedado obsoleto, es lo que siguen enseñando erradamente a sus alumnos.

El subnetting (división de redes) es una técnica que se aprende desde el primer curso de carrera. Consiste en dividir un rango de direcciones IP en distintas redes. Toda red tiene dos direcciones especiales: la subnet zero (todo ceros), que determina la dirección de la red, y la all-ones subnet (todo unos) que determina la dirección de broadcast. Por ello, el RFC950 recomienda que al hacer subnetting se dejen libres las subredes zero y all-ones, para evitar que la dirección de la subred coincida con la de la red.

Veámoslo con un ejemplo. Si tenemos una IP de clase C (192.168.1.0/24), disponemos de 256 direcciones IP posibles, de las cuales la 192.168.1.0 corresponde a la dirección de la red y la 192.168.1.255 a la dirección de broadcast. Si queremos dividir esa clase C en cuatro subredes de 64 direcciones, obtendríamos las siguientes:

  • 192.168.1.0/26 (Subnet Zero. No usable, según RFC950)
  • 192.168.1.64/26
  • 192.168.1.128/26
  • 192.168.1.192/26 (All-ones subnet. No usable, según RFC950)

La primera subred tiene la misma dirección que la red (192.168.1.0), mientras que la última tiene la misma dirección de broadcast que la red completa (192.168.1.255). Por ello el RFC recomienda no usaralas. Como consecuencia, por hacer subnetting estaríamos perdiendo 128 direcciones IP.

Esta técnica descabellada, dado el problema de escasez de direcciones IP, quedó obsoleta hace mucho. En concreto, el RFC1878 así lo establece. Lo curioso es que este RFC es de 1995 y en las universidades (al menos en la de Murcia) se sigue enseñando a hacer subnetting sin tomar la subnet zero ni la all-ones subnet.

Más sobre subnetting en Cisco: http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080093f18.shtml#subnetzero

Categorías:Informática Etiquetas: , ,

¿Ultrabooks? Son más de lo mismo

diciembre 7, 2011 1 comentario

Apple ya vende hace años su MacBook Air, por precios más o menos similares y con características idénticas o superiores. ¿Qué introducen los famosos Ultrabooks? La respuesta es nada nuevo, señores. Los fabricantes llevan meses exprimiéndose para alcanzar a Apple en este aspecto. Han conseguido reducir el tamaño y el peso, pero poco más. Y es que con el marketing venden lo que quieren, pero nunca nos dan lo que necesitamos: portátiles con baterías de larga duración por precio inferior a 700 euros. ¿Imposible? No lo es.

Tengo un Toshiba T130-15K (650 €) y es lo mejor que ha pasado por mis manos. Hasta 11 horas según el famoso Mobile Mark™ 2007, lo que se traduce en unas 8 ó 9 reales, de uso normal sin wifi (con cable de red), y unas 6 ó 7 con wifi. Eso sí es movilidad. Es una pena que esté descatalogado y que Toshiba ya no haga portátiles con tanta duración (lo más que te aseguran son 9 horas).

También tengo un Sony VPCY22c5E, cuyas especificaciones eran de 7 horas, y dura 3 como máximo. Así no se puede trabajar. A mí me daría vergüenza llamar a ésto “portátil”.

Y las duraciones de los “ultrabooks” son más de lo mismo, por más de 1000 euros:

No hay palabras. Toshiba, ¿dónde quedaron las 11 horas con las que dotaste al T130-15k?

Categorías:Informática Etiquetas: , , ,

Soporte de viejas versiones de Ubuntu

septiembre 21, 2011 Deja un comentario

Resulta que trabajo con un cluster se servidores en los que en su momento instalé Ubuntu 8.10, dado que la versión 8.04 LTS no soportaba el novísimo hardware que los servidores incorporaban (los recién horenados i7). Si bien es cierto que lo más aconsejable hubiera sido actualizar el sistema hasta una versión LTS, se dan un par de circunstancias que  lo han evitado: primero, que la instalación del conjunto software de gestión del grid no es un simple “aptitude install”, y es muy probable que se corrompa al actualizar la distribución; y segundo, que yo soy el administrador de este grid, pero digamos que no es mi pricipal tarea, por lo que no tengo mucho tiempo para dedicarle (muchos sabréis a lo que me refiero).

Ubuntu 8.10. Intrepid Ibex

Todo esto me ha llevado a encontrarme en la situación de que se ha acabado el soporte de Canonical, con lo que han eliminado los paquetes de sus repositorios. Pues, como siempre, googleando un poco, he hallado la solución a mi problema. Resulta que Canonical mantiene en sus servidores una copia de las antiguas distros, pero en una url distinta (http://old-releases.ubuntu.com). Por tanto, basta con cambiar el fichero de fuentes de aptitude para que utilice ésta url. Para ello:

# cp /etc/apt/sources.list /etc/apt/sources.list.bak
# cat /etc/apt/sources.list.bak | sed s/es.archives/old-releases/ | \
 sed s/security./old-releases./ >/etc/apt/sources.list
# apt-get update

También me he fijado que no tienen todas las distribuciones, pues la última que mantienen es la 5.10, siendo la primera la 4.10. Por tanto, dejo en mi lista de @TODOs el descargarme todos los paquetes y ponerlos en el servidor web.

Categorías:Informática Etiquetas: , ,

WOL no funciona en ubuntu 10.04 LTS tras realizar la suspensión

septiembre 19, 2011 Deja un comentario

Hacía tiempo que no me encontraba con un problema difícil de resolver en Linux. Resulta que tenemos un bug reconocido por el cual la función Wake On LAN dejará de funcionar tras la primera suspensión / hibernación del equipo. Es decir, que puedes suspender y reiniciar la máquina mediante WOL una única vez; las sucesivas será imposible. Y como es de costumbre, google te muestra miles de resultados con gente que configura el WOL sin problemas, pero nadie que se encuentre en mi misma tesitura.

Investigando un poco me he encontrado con varios enlaces que sugerían diversas soluciones, ninguna de las cuales me ha servido. Sin embargo, si me han dado una pista de por donde empezar. El directorio /etc/pm/sleep.d/ contiene scripts que se ejecutan al suspender y restaurar el sistema, llevando a cabo las acciones necesarias, de forma parecida a los de System V. Además, en /usr/lib/pm/sleep.d/ hay otros tantos definidos que se también se ejecutan.

Ya puestos en situación, resulta que he descubierto (mediante el conocidísimo método informático ensayo-error) que es necesario “resetear” las interfaces de red para que funcione de forma adecuada el WOL, además de habilitarlo, pues se deshabilita en cada suspensión / apagado. Esto lo hago con el siguiente script que me he creado, y que he colocado en /etc/pm/sleep.d/10_wol:

#!/bin/bash

IFACE=eth0

resetif() {
 ifconfig $IFACE down
 ifconfig $IFACE up
 ethtool -s eth0 wol g
}

case "${1}" in
 suspend|hibernate)
 resetif
 ;;
 resume|thaw)
 resetif
 dhclient $IFACE
 ;;
esac

El inconveniente es que este script entra en conflicto con /usr/lib/pm/sleep.d/55NetworkManager; el susodicho para y restaura el NetworkManager de Ubuntu. Así que he borrado éste último para evitar que falle.

Por cierto, que también es necesario habilitar WOL tras reiniciar la máquina. Para ello basta con crear un script que lo haga en cada automáticamente, /etc/init.d/wol:

#!/bin/bash 
# 
# Enables Wake On LAN 

ethtool -s eth0 wol g 

Y habilitarlo para que se ejecute en cada inicio:

# update-rc.d wol defaults 

Y con esto ya tenemos nuestro Wake On LAN funcional.

Categorías:Informática Etiquetas: ,

ISOs híbridas

junio 17, 2011 Deja un comentario

Hace tiempo que no escribo aquí, pero es cuestión de que para noticias cortas estoy utilizando twitter. Pero no he abandonado el blog XD.

El tema que abordo hoy es de las isos híbridas; un formato de isos que se está popularizando últimamente en muchas de las distribuciones linux: supergrub lo usa, easy peasy también lo hace, igual que openSUSE, y ubuntu lo hará a partir de la versión 10.10.

Hace tiempo que me picaba la curiosidad por saber “cómo” se construyen estas ISOs híbridas para poder ser grabadas directamente en un pendrive. Investigando un poco, he descubierto una explicación bastante buena (aunque breve) en la wiki de easypeasy: el truco consiste en sustituir los primeros 512 bytes de la imagen, que en el formato ISO deben de ser ceros, por el “sector de arranque”  (MBR), lo que permite grabar la iso directamente en el pendrive (mediante dd) y poder arrancar el sistema.

Obviamente esto tiene dos consecuencias lógicas: que el sistema de ficheros que se graba en el pendrive es iso9660, que es de sólo lectura, y que, por tanto, para arrancar necesitamos que el cargador sea capaz de montar este sistema de ficheros (grub2 lo hace).

Categorías:Informática Etiquetas: