Archivo de la categoría ‘Tecnología’

No puedo cerrar el administrador de tareas… y está parpadeando todo el rato.

Viernes, 4 de diciembre de 2009

Este es un bug que tiene tanto Windows Vista como Windows 7, y que afecta sobretodo si tienes configurado el administrado rde tareas para que se oculte al estar minimizado:

Si intentas mostrar el administrador de tareas mientras el equipo está muy ocupado, y al no aparecer intentas por segunda vez ejecutar el administrador de tareas, lo que consigues es que cuando el equipo vuelve a responder, se ejecuten dos (o más) instancias del administrador de tareas, que se ponen a pelearse para ver quién ocupa el icono del área de notificación. Como resultado, vemos el cuadradito verde del área de notificación parpadeando como si pasara del 0 al 100% rápidamente, y no podemos restaurarlo ni cerrarlo, incluso puede que se quede el menú contextual del icono del área de notificación colgado sin responder.

Esta situación es comprometida, ya que si tienes el administrador de tareas configurado en “ocultar al minimizar” no puedes cerrarlo ya que no puedes usarlo… ¿o si?

La solución al problema la encontramos en la utilidad de línea de comandos que viene de serie con Windows llamada TaskKill.exe.

Esta utilidad permite finalizar una tarea des de la línea de comandos. En el caso que nos ocupa, para arreglar el problema con los administradores de tareas, tenemos que seguir los siguientes pasos:

  • Abrir una línea de comandos pulsando sobre el botón de inicio y escribiendo CMD y pulsando enter.
  • En la ventana de la línea de comandos escribimos TASKKILL /IM TASKMGR.EXE y pulsamos enter de nuevo.

Automáticamente uno de los administradores de tareas se cerrará y hará que el otro funcione correctamente. Si aún no se ha solucionado, podemos repetir el segundo paso hasta que se solucione.

Y para los que quieran saber más, a continuación dejo un par de notas técnicas (muy técnicas):

Este problema también ocurre en Windows XP; pero en ese caso lo que ocurre es que se crean múltiples iconos en el área de notificación (uno por cada instancia), pero en este caso se pueden cerrar sin ningún problema, ya que cada instancia responde correctamente a su icono del área de notificación correspondiente.

La razón de porqué ocurre esto, es por la forma en que una aplicación detecta si ya se está ejecutando. Para ello, debemos saber qué es un semáforo:

Un semáforo es una variable global del sistema operativo, que una vez establecida seguirá existiendo hasta que sea liberada o hasta que el proceso que la ha creado se termine.

El comportamiento habitual de una aplicación de la que sólo se quiere o debe tener una instancia en ejecución, es el siguiente: Cuando se inicia se comprueba si existe un semáforo con un nombre concreto. Si el semáforo existe, la aplicación se termina; si no existe, se crea inmediatamente para que si se intenta iniciar otra instancia de la misma aplicación se detecte el semáforo y no permita continuar iniciando.

El problema ocurre cuando el equipo está muy ocupado (todos los núcleos de la CPU al 100%) y el sistema operativo carga la aplicación, pero la ejecuta tan despacio, que da tiempo a volver a iniciarla antes de que se cree el semáforo. Hay que tener en cuenta que no se genera ninguna excepción si se crea un semáforo con un nombre que ya existía.

Y si dominas de estos temas, te estarás preguntando… ¿cómo puede ser que no le de tiempo a ejecutar las primeras líneas de código de la aplicación y si le de tiempo a cargarla de nuevo? La respuesta es que en los sistemas operativos modernos, cuando ejecutamos una aplicación (o cargamos una biblioteca), lo primero que se hace es comprobar si ya se ha ejecutado anteriormente; en ese caso no volverá a cargar desde disco y a la memoria; sino que aprovechará el espacio en memoria que ya ocupa, y creará un nuevo espacio para sus necesidades de memoria de ejecución. De esta forma, si el código de una aplicación ocupa 5Mb, y necesita 2Mb de memoria para su funcionamiento, si lo cargamos dos veces no necesita 5+2+5+2=14Mb; sino que sólo necesita 5+2+2=9Mb; ahorrando memoria y mejorando la velocidad de trabajo del sistema. Esta mejora de velocidad al iniciar la segunda y sucesivas veces es la que permite que ocurra el bug de que una aplicación se ejecute varias veces aún cuando hay código para comprobar que eso no ocurra.

Este problema se podría solucionar de varias formas; los ejecutables podrían tener una señal que indicara al sistema operativo que ese binario no se puede ejecutar más de una vez; o se podría generar una excepción si se intenta crear un semáforo con un nombre que ya existe; sea como sea el caso del administrador de tareas es como mucho molesto; pero se de varios casos en los que si falla la comprobación de que sólo se está ejecutando una instancia de un proceso, podría tener consecuencias catastróficas.

El futuro de los navegadores: ejecutarlos en la tarjeta gráfica

Viernes, 27 de noviembre de 2009

Una de las nuevas características de Windows 7 es DirectX 11, que es la nueva plataforma para ejecutar aplicaciones multimedia y 3D en Windows. Dentro de la 11ª versión de DirectX hay una función que permite que se use para aplicaciones 2D de forma mucho más completa que con las anteriores versiones: Direct2D

Pero con la velocidad actual de los ordenadores , ¿para qué querríamos acelerar el 2D? Bueno, para empezar para que operaciones complejas se ejecuten mucho más suavemente.

Aún no hay gran cosa que utilice Direct2D, pero hace unos pocos días Microsoft anunció que la siguiente versión de su navegador, el Internet Explorer 9, lo usará. Un día después de este anuncio, el equipo de programación de Firefox, anunciaron no sólo que ellos ya hacía tiempo que estaban en ello, sino que además puedes descargarte ya una versión de prueba en el que la característica empieza a ser estable (enlace -inglés-).

Esta versión de Firefox con Direct2D funciona en cualquier Windows, pero para que funcione la aceleración necesitas Windows Vista con la actualización “Platform update” que incluye DirectX 11, o Windows 7, y una tarjeta gráfica razonablemente actual. En principio, con una tarjeta de nVidia gama 7000 o superior o una Radeon HD ya debería notarse la diferencia.

Y vaya si hay diferencia. Existen páginas que estresan la representación en pantalla del navegador; pero estas páginas suelen ser demos técnicas que no tienen mucha más utilidad que comprobar lo que se puede llegar a hacer en un navegador (enlaces abajo); pero si hay alguna página de uso habitual que ve su funcionamiento mejorado gracias al Direct2D: Google Maps.

He estado probando Google Maps con la versión Direct2D de Firefox y con otros navegadores sin aceleración, y la diferencia es muy grande. Lo que se nota más es que, trabajando en un monitor de alta resolución y con el mapa a pantalla completa, al arrastrar el mapa todo se mueve mucho más suavemente, y al hacer zoom se ve de forma progresiva y suave, y no se hace la ampliación de golpe como ocurre en los otros navegadores.

También gracias a la nueva aceleración, es posible que el navegador use un sistema de suavizado de fuentes más correcto y preciso, que permite que las tipografías se vean de forma más clara incluso en los tamaños más pequeños, y también hace legibles los textos cuando éstos están en un ángulo no cuadrado (por ejemplo, en diagonal).

Para quién tenga un equipo que cumpla los requerimientos, puede probar el nuevo Firefox descargándolo desde este enalce: http://www.bassified.nl/firefox-3.7a1pre.en-US.win32.d2d.zip

Demostraciones que estresan el navegador: Vídeo + transformación (Sólo funciona bien en Firefox), Transformación, vídeo y texto en diagonal (Sólo funciona bien en Firefox, en Chrome falta el vídeo),Foto + transformación (Sólo funciona en Firefox y Chrome)

El monopolio de los chipset

Miércoles, 18 de noviembre de 2009

Hoy estaba hablando con un amigo sobre pasar su PC de Intel a AMD. Se pasará a AMD por que no encontrábamos una placa base para procesadores Intel con las características que quería a un precio aceptable.

Esto me ha hecho analizar un dato que ya sabía pero que nunca había pensado en profundiadad: el monopolio de los chipset. Cualquiera que esté medianamente metido en este mundo ya sabrá de quién estoy hablando: Intel.

Sólo hace falta mirar una lista de placas base ordenadas por chipset para ver qué ocurre: Intel domina de forma apabullante todo el mercado de placas base para sus procesadores.

Hace tiempo podíamos disfrutar de un amplio abanico de fabricantes de chipsets, y aunque durante un tiempo Intel se consideraba como el chipset de lujo por su estabilidad, al final los demás fabricantes le atraparon incluso en este aspecto; sin embargo, Intel ha terminado por desplazar todos los demás fabricantes y ahora prácticamente es el único que podemos encontrar.

Pero realmente aún existen chipsets de otros fabricantes, tenemos a VIA, nVidia y ATI, todos tienen sus chipset para Intel… pero nadie los vende.

Tradicionalmente, en el mundo del hardware de Informática, la vida de un producto es muy rápida, ya que la competencia te obliga a lanzar productos nuevos compatibles con las nuevas tecnologías y añadiendo cada vez más capacidades. Sin embargo, Intel parece que tiene un as en la manga, ya que en ocasiones ofrece productos prácticamente desfasados, y sin embargo los sigue vendiendo cuando existen alternativas “no-Intel” mucho más modernas, con más características, y prácticamente igual de estables. Aquí es donde entran las técnicas no muy éticas de Intel: contratos que obligan a comprar a fabricantes sus chipsets junto con sus procesadores.

El resultado final es que el perjudicado es el cliente final; que obtiene menos por su dinero. Pero quizá esa genial idea malvada de Intel no le ha salido tan bien…

Hace muy poco que la denuncia que hizo AMD en este aspecto ha surgido efecto: Intel ha pagado a AMD 1500 millones de dólares y se ha comprometido a seguir un manual de “buenas prácticas” comerciales que han escrito conjuntamente. También hay que pensar en los técnicos como yo, que ya no compramos Intel: por el mismo precio que compras un equipo con Intel, puedes tener un equipo mucho más equipado y potente con AMD. E igual de estable, que eso a fin de cuentas es lo que nos interesa a los que nos ganamos la vida con el hardware.

Mi nuevo teléfono: HTC Touch Pro

Miércoles, 15 de octubre de 2008

Por fin he podido dar el merecido descanso a mi Qtek9000. Ya tiene sustituto.

Después de mucho esperar, al fin he conseguido mi HTC Touch Pro, que aunque no es exactamente lo mismo, si que tiene todas las cosas que yo quería en un smartphone: Pantalla VGA, teclado querty físico y de buen tamaño, y gran capacidad de procesador, memoria y almacenamiento.

Por si alguien quiere más detalles de este teléfono, puede ver las especificaciones en este enlace: http://www.htc.com/es/product.aspx?id=54188

Próximamente le dedicaré una entrada completa a mis experiencias con mi nuevo teléfono.

Instalar WM6.1 en una Qtek 9000 (HTC Universal)

Jueves, 29 de mayo de 2008

Como mi anterior entrada Cómo instalar WM6 en una Qtek 9000 fué una entrada bastante leída, ya toca hacerle una revisión completa.

Como no hace falta volver a repasar las bondades de la Qtek 9000, ni las ventajas de actualizar el sistema operativo, sólo me voy a centrar en las novedades respecto a la anterior entrada.

La primera novedad es que podemos instalar ya Windows Mobile 6.1, sistema operativo del que a fecha de hoy aún no existe ningún aparato en el mercado que lleve esta la más actual de las versiones de Windows Mobile. Las diferencias sobre la 6.0 son bastante agradables: el rendimiento del sistema es mucho mejor, con más velocidad al arrancar el teléfono o las aplicaciones y más soltura al trabajar con ellas.

Hay otras modificaciones importantes, como un nuevo complemento del “escritorio” Hoy, que enseña de forma más detallada y práctica el calendario, y mejoras en las aplicaciones y en conectividad.

También hay algunas mejoras en la instalación, ahora es más sencilla y rápida de hacer.

Los pasos para hacer instalar el nuevo sistema operativo son los siguientes (parece que hay más cosas, pero en realidad ahora es más fácil, simplemente he detallado más los pasos para que no queden dudas):

  • Cargamos la batería al 100%, pero usando el cargador de pared, no usando el cable USB de conexión al ordenador. Este paso es importante, porque sino al hacer la actualización perderemos capacidad de la batería.
  • Hacemos copia de seguridad del contenido de la PDA, usando ActiveSync para sincronizar contactos, tareas, calendario y los documentos y archivos que tengamos en la memoria principal. Para los archivos y documentos se tienen que copiar manualmente desde “Mi PC” -> “Dispositivo Móvil” si no tenemos los archivos sincronizados con el Activesync.
  • Hacemos copia de seguirdad de mensajes, registros de llamada y demás con PIM Backup, que podemos descargar aquí. Copiate el programa en la tarjeta SD, ejecútalo desde la SD en la Qtek, y para hacer la copia, selecciona en “Action” la opción “Backup” y selecciona sólamente “Call logs” (registro de llamadas), “Messages” (Mensajes), y “Speed Dials” (Números rápidos); si seleccionas Appointments (citas) o “Contacts” (contactos), luego tendrás problemas de duplicidad con Activesync.
  • Nos descargamos la última versión disponible del Windows Mobile 6.1 de este foro. No puedo enlazar a una versión en concreto porque cada semana o dos sacan una nueva, así que siempre es mejor cojer la más actualizada. Yo personalmente ahora estoy usando la Ranju 7.7.
  • Y por último el parche para traducir WM6 al castellano. (Nota, yo ya no me aplico el parche de traducción, más información al final).
  • Ahora nos aseguramos que la batería está al 100%, sacamos la tarjeta SD si hay alguna insertada, sacamos la tarjeta SIM del teléfono, y conectamos el teléfono al ordenador mediante un cable USB. Dejamos que se encianda y cargue normal, y esperamos hasta que ya ha cargado del todo.
  • Ejecutamos la instalación del WM6.1. Si el instalador da algún error, mira al final de esta entrada. La actualización durará un máximo de 20 minutos, en todo momento veremos una barra de progreso informándonos de por dónde va. Normalmente tarda unos 5 minutos.
  • Una vez actualizado, reseteamos como nos pide el actualizador (presionando los dos botones multipropósito de forma simultánea, y pulsando reset; ante la pregunta pulsamos 0 para borrar todos los datos y configuraciones de la Qtek).
  • Ahora configuramos el teléfono siguiendo los pasos habituales.
  • Una vez terminado, procedemos a configurar el teclado a español. Para ello, iremos al botón de inicio, “Programs”, “Registry editor”. Dentro del programa, desplegamos las claves del registro HKEY_LOCAL_MACHINE\SOFTWARE\OEM\Qwerty y cambiaremos el valor Layout a 68617 Decimal / 10c09 Hexadecimal (mantén pulsado el puntero sobre “Layout” -> “Edit”).
  • Ahora cambiamos las opciones regionales, haciendo clic en inicio, “Settings”, pestaña “System”, “Regional Settings”, y seleccionas “Spanish (traditional sort)” para España, o el que te corresponda. Al pulsar “Ok” pedirá que reinciemos, y le decimos que si.
  • Ahora toca restaurar las copias de seguridad. Con el activesync, es tan fácil como seguir un asistente, para el PIM Backup, lo ejecutamos de nuevo y seleccionamos en “Action” la opción “Restore”. Le damos al botón “Browse” y localizamos el archivo de la copia de seguridad, que tendrá de nombre “PIMBackup_AAAAMMDD.pib”, donde AAAA es el año, MM es el mes, y DD es el dia en que se hizo la copia de seguridad. Una vez seleccionado le damos a “Done” y lo demás es bastante automático.

Traducción de Windows Mobile al español:

El defecto que tiene la traducción al español que publiqué en mi anterior entrada al respecto, es que es una traducción antigua, y todos los componentes que esperan encontrar la traducción y que son más nuevos que ésta, se comportan de forma bastante extraña, incluso de manera que los deja inutilizables, ya que los textos aparecen en blanco y en algunos casos hay opciones que no es posible de seleccionar por este problema. No ocurre con todo, y siempre se puede desinstalar, pero yo ya no la uso ya que tampoco hay tanto texto en inglés en Windows Mobile como para que eso me suponga un impedimento. Simplemente sigue las instrucciones en la entrada anterior.

Problemas al ejecutar la actualización:

Si el actualizador da un mensaje de error, es que la actualización que has descargado tiene un sistema de comprobación activado. Si me lo pides, puedo proporcionar de una forma mucho más sencilla que la que expiqué en la otra entrada un sistema para solucionar este problema.

Lo último que me queda por comentar es sobre la ampliación de 64 a 128Mb de la Qtek 9000. He estado preguntando a ver dónde se podía encontrar una empresa que pudiese dar el servicio de desoldado y resoldado de chips micro-BGA, procedimiento necesario para hacer la ampliación; pero nadie me ha sabido decir nada. Es una lástima, porque en los foros dónde se encuentran las actualizaciones hay varios usuarios que lo han hecho (en EE.UU., claro), y están muy contentos con el resultado.

Por último, recordad que ésto sólo es una guía para el intrépido; aunque parezca tonto decirlo, todo lo que le hagas a tu Qtek 9000 es responsabilidad tuya, y aunque yo ya he actualizado unas 6 o 7 veces mi Qtek y nunca he tenindo ningún problema, no puedo garantizar que te funcione perfectamente. Según mi punto de vista, hay poco peligro de que algo vaya mal con este tipo de actualizaciones, sino no las estaría promocionando.