miércoles, junio 27, 2007

Carpetas inteligentes en Mac OS X

Aunque he usado durante bastantes años Mac OS X, no he utilizado demasiado una de las funciones más potentes que tiene: las carpertas inteligentes (Smart Folders). No son más que directorios virtuales dentro de los cuales aparecen una serie de ficheros (u objetos) que cumplen con un determinado criterio de búsqueda. Existen en el Finder, en iPhoto, en Mail.app o iTunes.

Por ejemplo, podemos mirar a la siguiente captura de iTunes para generar una lista inteligente:

captura de iTunes

iTunes tiene ya una serie de carpetas o listas inteligentes creadas por defecto (Las 25 más escuchadas, Reproduciones recientes, Mis preferidas). Hay una serie de campos que se puede combinar para crear la búsqueda con el criterio que queramos (artista, álbum, nombre, grupo, etc).

Mail.app puede usar el mismo criterio para (Buzón, Nueva carpeta de buzón inteligente, Nuevo buzón inteligente). En este caso, los criterios de búsqueda (De, Fechas, si está leído o no). Por ejemplo, yo las uso de la siguiente manera: combino un buzón inteligente de elementos no leídos, con ayuda de reglas, que me distribuyen a los buzones los mensajes en función de la lista de correo. De esta manera, puedo, con ayuda de la búsqueda inteligente ver los mensajes nuevos, sin necesidad de ir a cada buzón. Por ejemplo, esta captura de Mail.app da una idea de los criterios de búsqueda que implementa la aplicación:

captura de Mail.app

La parte más potente, de las búsquedas es, sin duda, las que ofrece el Finder a través de las carpetas inteligentes:la siguiente captura presenta una carpeta inteligente que permite buscar los PDF que se han creado hace menos de 15 días:

carpetas inteligentes

Las posibilidades de las búsquedas del Finder permiten un montón de opciones (extensiones de fichero, fechas, tamaño, etiquetas asociadas, aplicaciones, tipo de documentos). Se pueden combinar varias de estas opciones para poder tener la búsqueda que desees.

Las búsquedas se almacenan en el directorio ~/Librería/Búsquedas guardadas (desde el Terminal.app este directorio se ve con el nombre ~/Library/Saved Queries), son ficheros XML, de tipo plist donde puede verse la query. También puede verse a través de las propiedades del Finder, donde podemos ver la búsqueda, para los que le guste modificar a mano :)

propiedades de una carpeta inteligente

Technorati Tags:

viernes, junio 22, 2007

SGAE:La próxima vez que quieras comprar un disco original....

Es aconsejable leer esta historia sobre nuestro querido canon sobre los soportes digitales. Al menos, queda la ventaja de irse por CD's y DVD's a Portugal, y además comprar música a través de iTunes o Amanzon. No sé que demonios tiene que recaudar la SGAE por los discos de U2 y Dire Straits que me gustan.

miércoles, junio 20, 2007

Mac OS X 10.4.10

Bueno, acaba de salir otra actualización 10.4.10 para Mac OS X 10.4 Tiger. En líneas generales, varias correcciones para el formato de cámaras raw, usb y varios arreglos. Se puede ver en este artículo las mejoras incluidas en esta versión.

Son 22 Mb la actualización delta, diferencial respecto a la anterior y combo, que por lo que comentan en foro de Macuarium está entorno a los 165 MB la versión de PowerPC.

Por cierto, ya que estaba mirando ThinkSecret, capturas de pantalla de Mac OS X 10.5 Leopard Leopard build 9A466 (WWDC 2007).

Una curiosidad: He estado mirando los ficheros que traía la actualización delta, y me ha llamado la atención esto:

/System/Library/PrivateFrameworks/YahooSync.framework

Desconocía que el iSync tenía una aplicación para sincronizar con una cuenta de Yahoo (Yahoo! Sync). En fin, tendré que mirarlo

Technorati Tags:

Señales e hilos (threads): Notas de programación en Unix

Tradicionalmente la semántica asociada a las señales en Unix, hacen que se envíen a los procesos.Sin embargo, este mecanismo cambia cuando se empieza a usar hilos de ejecución (threads). Llegado a este punto hay que distinguir entre señales síncronas - que pueden producirse debido al flujo de instrucciones del hilo y las señales asíncronas - que se producen por causas externas a la ejecución del flujo de instrucciones del hilo - . Dentro de las primeras tenemos SIGILL, SIGFPE o SIGSEGV - se producen cuando se detecta una instrucción ilegal, un error de coma flotante o un acceso a memoria ilegal -, mientras que en el segundo grupo tenemos SIGINT, SIGPIPE o SIGALRM - que se produce por una interrupción vía teclado, intentar escribir a una pipe sin lectores o porque ha saltado una alarma definida con alarm().

Las señales sincronas se mandan siempre al hilo que las ha causado, mientras que las señales asíncronas puede enviarse a cualquiera de los hilos de ejecución, no estando definido a cual de ellos le llegará la señal. Por tanto, esto es un problema que debe de tenerse en cuenta cuando estamos trabajando con una aplicación multihilo.

La mejor estrategia en este caso, es ignorar en todos los hilos las señales, excepto uno, y de esta manera este será el encargado de recibir todas las señales asíncronas que se le manden al proceso. Las máscaras de señales son específicas de cada hilo de ejecución. De esta manera, puede implementarse ese modelo de gestión. Una nota a tener en cuenta es que la máscara de señal de cada hilo es heredada del hilo padre.

El enmascaramiento de las señales es algo a tener en cuenta. En principio, debe hacerse con pthread_sigmask, no con sigaction, ya que este segundo caso cambia el de todo el proceso.

Referencias:
Technical Q&A QA1184
A Primer on Signals in the Solaris OS, Part 1
The Linux Signals Handling Model
Thread-Specific Data and Signal Handling in Multi-Threaded Applications
Requirements of the POSIX Signal Model por Ulrich Drepper
Programming POSIX Threads

Technorati Tags:

lunes, junio 18, 2007

Seashore: Un programa de edición de imágenes para MacOS X tipo Deluxe Paint

A veces he tenido que hacer algún retoque a una imagen que me han pasado. Como opciones libres, siempre ha destacado Gimp, pero me sobra potencia y complejidad para usarlo. Siempre he querido usar algo tipo Deluxe Paint: que permitiera hacer cosas sencillas y por supuesto que funcionara bajo MacOS X, a ser posible, de manera nativa y sin necesidad de usar las X11. De esta manera di con Seashore. Es un programa sencillo, opensource y que está escrito usando las librerías Cocoa de MacOS X.

Las herramientas que tienen son las básicas en estos programas: brochas, pinceles, rellenos de gradiente, selecciones de color, goma. Permite trabajar con diversas capas, trabajar con las proporciones del dibujo (escalar, rotar, etc), exportar las imágenes en diversos formatos - en especial es capaz de exportar imágenes en formato Gimp, en caso de que queramos procesarlas de manera más avanzada.

Aquí tenéis una captura de la interfaz:

Technorati Tags: ,

miércoles, junio 13, 2007

Notas sobre Leopard en la WWDC

Ayer Steve Jobs presentó un poco más de Leopard en la conferencia de desarrolladores. Hay varias novedades, pero aquí resumo lo que más me ha llamado la atención.

Finder

El Finder ha sido reescrito. Ahora, incorpora una nueva vista, similar en interfaz al iTunes: una barra lateral donde existen diversos sitios que se pueden ir, una vista central - en caso que estemos usando Cover Flow, una vista previa vitaminada - y posteriormente una lista sobre los objetos que tenemos.

Me llama la atención el alejamiento de la metáfora de archivos, a buscar una metáfora basada en búsquedas de metadatos. Por ejemplo en la siguiente captura de la web de Apple

Puede verse perfectamente las búsquedas de documentos, ya sea por la fecha de modificación o por el tipo. El uso de carpetas inteligentes, para crear vistas con la información que nos interesa supongo que será un avance importante en Leopard, integrado a través de Spotlight. Sería interesante saber si las vistas de búsqueda pueden acotarse en función de metadatos que se le puedan añadir a los ficheros y documentos (por ejemplo, marcar un documento Word como proyectos o función de cliente). Por lo que se comenta en las novedades del Finder, la idea esta toma mucha fuerza.

La barra lateral, al igual que el iTunes nos ofrece vistas de los contenedores donde están nuestros documentos, ya sean dispositivos, recursos compartidos en la red o búsquedas definidas por nosotros mismos.

Por último, se tiene la posibilidad de usar una vista previa vitaminada, que es como yo definiría la funcionalidad Cover Flow. Se ve el contenido de los documentos, y en función de su tipo, se puede interactuar con él. Así por ejemplo, si se abre un fichero PDF, se pueden pasar las páginas o bien se puede ver un vídeo.

No dejéis de ver la demo del Finder.

Spaces

Aunque este tipo de funcionalidad no es original (yo la recuerdo desde la época del fvwm en Unix en el 94), no está mal la idea de los escritorios virtuales para poder agrupar tareas. Podeís ver la demo de Spaces, para mi no es más que una funcionalidad cómoda.

Time Machine

Aunque parezca una tontería, mucha gente se nos olvida hacer copias de seguridad de nuestros sistemas, y luego pasa lo que pasa. Para facilitar este tipo de tareas, se ha incluido un programa denominado Time Machine, que nos permite capturar el estado de la máquina, y así ir restaurando hasta el punto que nos interese en un determinado momento. Aparte permite copiar a otras sitios, como por ejemplo una estación base Airport con un disco duro (la gente de Apple, hay que recononocer que no da puntada sin hilo)

Unix y desarrolladores

Quizás la parte que más me gusta. Por fin el sistema es completo de 64 bits - en aquellos microprocesadores que lo permiten: G5 o Core 2 Duo -, todas las librerías de Cocoa, el servidor de ventanas, etc, aparte de las mejoras introducidas en Xcode 3.0 para poder desarrollar para entornos 64 bits (aunque está bien notar, que el gcc, el compilador por defecto que usa MacOS X, siempre ha soportado 64 bits desde la época de los Alpha).

En cuanto a las mejoras del sistema Unix hay que hacer notar la inclusión de dtrace, el sistema de instrumentación creado por Sun para monitorizar las diferentes partes del sistema operativo, la obtención del certificado Open Brand UNIX 03 Registered Product, integración de Python y el acceso a Cocoa.

Otra mejora, para mi gusto bienvenida de una vez es poder usar pestañas en el nuevo Terminal 2.

Technorati Tags: ,

lunes, junio 11, 2007

Safari 3 Beta

Estoy probando la beta del Safari, la nueva versión den navegador de Apple. La primera novedad que nos encontramos es una versión para Win32. Eso, sí, es una primera beta, al menos de los comentarios que se desprenden del hilo de Macuarium, a la versión de Windows necesita pulirse bastante.

En cuanto a la de MacOS X, de momento, no me ha saltado nada raro. Por otra parte, cosas que he notado nuevas, ha sido la opción de buscar en una página que aparece implementada en una barra por debajo de los marcadores.

Espero que haya solucionado algunas de las cascadas que me estaba dando últimamente el Safari (siempre con la misma traza). Por otra parte, se puede cambiar las pestañas de orden con el ratón, y si arrastramos una pestaña sobre la ventana del navegador se abrirá en una nueva ventana la pestaña. Por otra parte, esta beta se instala solamente en inglés.

Existe de todas maneras un proceso de desinstalación para aquellos que quieran probar el navegador y posteriormente volver a la versión 2.0

Technorati Tags: ,

jueves, junio 07, 2007

Metodología GTD: Algunas notas

Sigo leyendo algunas cosas sobre GTD. Lo primero que tengo claro es que hay que descargar la mente de toda la información y almacenarla en un sistema en el que confiemos. Para realizar las tareas, se realizarán acciones que lleven a su finalización.
  • Lo primero que tengo claro es que toda tarea que requiera una serie de acciones para realizarse debe anotarse en un contenedor que llamaremos INBOX (buzón de entrada). Debemos recolectar la información y almacenarla en el sistema que resulte más cómodo, En el original en inglés esta fase corresponde con collect y los recipientes donde se guardan los llama el autor de la metodología buckets.
  • Se definen una serie de contextos donde pueden llevarse a cabo las tareas a realizar: Oficina, Casa, teléfono,etc.
  • Tenemos una serie de listas, como por ejemplo Wait For (Esperando a), Next Actión (Siguiente acción), donde vamos anotando por las tareas que hay que llegar para conseguir un determinado objetivo o la acción siguiente que haya que realizar.
  • Listas: Existe una serie de listas donde se almacena información:
    • Wait-For: Lista de espera. En ella se almacenan aquellas acciones que estén esperando por la finalización de otras.
    • Next actions: Cuales son las siguiente acciones que deben realizarse.
    • Projects: Proyectos (ver más abajo).
    • Someday/Maybe: Cosas gustarían hacer, pero ahora mismo, no puede planificarse su fecha de cuando se realizará.
  • Un proyecto no es más que una tarea o objetivo que necesita varias acciones para completarse.
  • Revisión de las diferentes listas para tomar las decisiones sobre las siguientes acciones a realizar para alcanzar la finalización de tareas que nos hayamos propuesto.

El proceso de las acciones. Para empezar, cogemos la primera tarea de nuestro INBOX, vemos la acción necesaria para realizarla. Puede realizarse en ese momento (el artículo de la wikipedia hace referencia a realizarla si dura menos de dos minutos, aunque claro, esto depende de la duración de nuestras acciones), bien se delega en otra persona para que lo realice, o bien se retrasa su ejecución.En caso de que no sea necesario realizar ninguna acción, la tarea pueda borrarse, archivarse, o bien deferirse para cuando se necesaria una acción (lista Someday/Maybe).

Pues a seguir investigando el tema :).

Technorati Tags:

miércoles, junio 06, 2007

Macbook Pro nuevo :)

Apple acaba de presentar el nuevo Macbook Pro. Se han actualizado los modelos de 15" y 17". La novedad más importante es la inclusión de los nuevos chips de Intel, denominada Centrino Pro (conocido como Santa Rosa). Micros Core 2 Duo de 2.2 Ghz a 2.4 Ghz, entre otras novedades está una mayor velocidad del FSB (800 Mhz), la posibilidad de cambiar la velocidad del mismo para ahorrar energía, la segunda generación del core de micro denominado Merom, tarjeta gráfica nVidia GeForce 8600M GT, iluminación de la pantalla a través de tecnología LEDs. Por defecto tiene 2 Gigas de RAM de serie - lo cual no está nada mal -, con soporte hasta 4 Gigas.

Comentarios como siempre en los excelentes foros de Macuarium

Technorati Tags: ,

martes, junio 05, 2007

iGTD: Metodología GTD en MacOS X

Getting things Done (GTD) es un método de gestión de tareas propuesto por David Allen, descrita en el libro del mismo título. Este método de gestión de tiempo se basa en el principio de descargar la mente de toda la información sobre lo que hay que hacer, almacenarlo en un soporte en el que se confía, dividir dicha información en listas de tareas que sean fáciles de seguir y específicas para cada contexto.

Buscando algún software que me permitiera aplicar dicho método, he dado con iGTD, un software gratuito (donationware :) ), que permite aplicar la metodología anterior. Como he empezado hoy con el tema de GTD y el soft, tampoco puedo aportar más de momento (excepto esta comparación de soft para GTD y la sección de lifehacker dedicada a GTD.

Technorati Tags: