Archivo de la etiqueta: macosx

Problema tablas lowercase con MAMP

Me ocurrió que al ir a crear algunas tablas en una base de datos MAMP, algunos nombres estaban en minúsculas, sin embargo las sentencias Create tenían alguna mayúscula; si solo se trabaja en OSX no habría mayor problema, pues para MAC mayúsculas y minúsuclas son lo mismo, y las sentencias no distinguen; el problema me ocurrió al exportar esta base de datos a un entorno linux.

Para evitar problemas y dejar los nombres de las tablas respetando el nombre original, se utiliza una variable lower_case_table_names:

0 -> Los nombres de tablas y bases de datos se almacenan en el disco utilizando el mayúsculas y minúsculas según se especifique en las sentencias CREATE TABLE o CREATE DATABASE. En principio no de debería establecer esta variable a 0 en un sistema que no es case-sensitive (como Windows o OS X). Si se fuerza esta variable a 0 en estos sistemas y se accede a tablas MyISAM utilizando diferentes combinaciones de letras (mayúsculas y minúsculas), puede provocar la corrupción de índices.

1 -> Los nombres de tablas se almacenan en minúsculas en el disco y las comparaciones no distinguen entre mayúsculas y minúsculas. MySQL convierte todos los nombres de tabla en minúsculas en el almacenamiento y consulta. Este comportamiento también se aplica a nombres de bases de datos y alias de tablas.

2 -> Los nombres de tablas y bases de datos se almacenan en el disco utilizando mayúsculas y minúsculas según se especifica en las sentencias CREATE TABLE o CREATE DATABASE, pero MySQL los convierte a minúsculas en las operaciones de búsqueda. Esto funciona sólo en sistemas de archivos que no distinguen entre mayúsculas y minúsculas!

Si deseamos cambiar el comportamiento, añadimos en el fichero my.cnf, en el bloque [mysqld], el parámetro con el valor deseado.

En MAMP para modificar esto debemos ir al menú, en Archivo > Editar Plantilla > MYSQL my.cnf

Luego reiniciamos mysql.

Permisos por defecto en OSX

Hace unos días me encontré con el siguiente problema: deseaba compartir una carpeta entre 2 usuarios de un mismo equipo; para ello creé la carpeta con uno de ellos y en las preferencias del sistema compartí esa carpeta con el otro usuario, dándole permisos de lectura escritura. Entré con el otro usuario y vi que, efectivamente, tenía acceso a dicha carpeta.

El problema se presentó después, pues cualquier fichero (o carpeta) que creaba con uno de los usuarios en esta carpeta, no otorgaba permisos de escritura a nadie más que a él mismo, por lo que el otro usuario solo podía leer el nuevo contenido; tendría que ir cambiando los permisos de cada archivo o carpeta cada vez que la creaba, lo cual es una solución que para nada me resultaba eficiente.

Contacté con el servicio técnico de Apple, y tuvieron que contactar con un supuesto experto, el cual al final tras ver lo que quería y ver que no se hacía de forma automática (también le sorprendió), me dijo que esto podría solucionarlo con algún software externos a Apple (no me dio nombres).

Como esta conclusión no me satisfizo, seguí buscando por internet y finalmente encontré la solución: la utilización de umask.

Por lo visto, cuando se crea un archivo por defecto tendría permisos 666 y para carpetas 777; sin embargo, por defecto viene configurado un umask de 022, por lo tanto los permisos de los archivos y carpetas serán:

666 – 022 = 644 (usuario con rw, grupo con r, todos con r).

777 – 022 = 755

Si alguna carpeta difiere, se le pueden cambiar los permisos, pero por defecto cuando un usuario crea una carpeta o fichero, tendrá esos permisos.

Yo deseaba que 2 usuarios tuvieran permiso de lectura y escritura a los ficheros de una carpeta, aunque me valía la solución de que fuera a todos los que se creen nuevos estén donde estén (no se si esta solución podría valer para una carpeta en concreto). Para ello hay que cambiar el umask de los usuarios, de forma que los permisos sean 664 (archivos) y 775 (carpetas). Por tanto el umask debe ser 002

666-002=664

777-002=775

El comando en Yosemite sería:

sudo launchctl config user umask 002

En Mavericks y anteriores habría que creado un fichero (sudo /etc/launchd-user.conf) que contenga en una línea umask 002.

En ambos casos para que tenga efecto hay que reiniciar el sistema.

Para conocer el umask, tecleamos desde un terminal: umask

Una vez entendido esto, hay que saber que el sistema también puede crear archivos o carpetas, y por defecto estos también tienen se crean con los permisos por defecto para usuarios; para cambiarlo hay que modificar con umask (por ejemplo si lo deseamos dejar como para los usuarios):

 sudo launchctl config system umask 002

En Mavericks y anteriores habría que creado un fichero (sudo /etc/launchd.con.conf) que contenga en una línea umask 002.

Para saber los permisos que se aplican cuando se crea por el sistema podemos utilizar

umask -S

Ir a inicio y final de línea en iTerm para Osx

Si utilizas iTerm como terminal en Mac y estás acostumbrado a las combinaciones del sistema para ir al inicio y final de línea (cmd+shift+izquierda o cmd+shift+derecha), te sentirás frustrado al querer utilizar estas combinaciones y ver que se realizan tareas sobre las pestañas de la aplicación; para cambiar esta funcionalidad de teclas, no es nada intuitivo, la verdad. Hay que ir a Preferences > Keys y elegir la combinación cmd+shift+izquierda y asignarle la acción “Send hex code” y luego poner “0x01″; de forma similar para cmd+shift+derecha, con el código “0x05″.

Pegar sin formato en mac

Ayer descubrí en mac una característica del pegado: el pegado sin formato; permite pegar texto sin el formato con el que fue copiado; esto lo utilizo muchísimo, pero antes de conocer esta opción me las apañaba pegando en un documento sin formato, luego copiando este nuevo texto sin formato y pegándolo donde deseo.

Para pegar directamente sin formato: cmd+alt+shift+V

Redimensionar unidad en VirtualBox

En la aplicación de VirtualBox creé hace tiempo una unidad en la que instalé Windows7; inicialmente pensé que no necesitaría más de 10 gigas para esta partición, pues era para realizar una tarea puntual, pero hoy he necesitado instalar otras aplicaciones para actualizar mapas en el TomTom, y la capacidad del disco de la máquina virtual (vdi) se me quedó pequeña; sin embargo es posible hacer una redimensión del disco:

  1. Desde un terminal ejecutamos “VBoxManage modifyhd pathArchivoVdi –resize  nuevoTamaño” siendo nuevoTamaño el nuevo tamaño que deseamos para el disco en megas (por ejemplo para 12 GB sería 12228). Finalizado le proceso ya tenemos el disco con el tamaño adicional.
  2. Descargamos la iso de gparted (que podemos buscar en google); una vez tengamos la iso vamos a la configuración de nuestra máquina virtual, y en almacenamiento, en controlador IDE, seleccionamos una nueva unidad a partir del ISO descargado.
  3. Ahora arrancamos e iniciará desde el iso montado; hará un chequeo, nos preguntará por el idioma del teclado, y si deseamos interfaz gráfica (si). Ahora veremos el tamaño adicional en el disco. Pinchamos sobre la partición principal y le damos a redimensionar, y desplazamos el tamaño hasta el máximo que nos permite. Una vez finalizado el proceso apagamos.
  4. Desmontamos el iso de nuestra máquina para que no arranque desde esta unidad.
  5. Arrancamos normalmente. Durante el arranque, si es una máquina Windows, realizará un checkdisk; una vez iniciado tendremos disponible el nuevo tamaño del disco.

Fotos en Streaming – iCloud

Desde hace poco soy usuario de iPhone, y estaba interesado de tener algunas fotos en streaming para tenerlas disponibles desde cualquier dispositivo. El problema es que no sabía como funcionaba este servicio, y cuales eran realmente sus limitaciones y virtudes.

Empezando…
En el iPhone con iOS7 vamos a Ajustes > iCloud > Fotos y activamos Mis fotos en Streaming; con esta opción activada, al ir a la app Fotos veremos un nuevo álbum llamado Mis Fotos en Streaming; ahí se descargaran las fotos que tengamos en streaming; además a partir de ahora las fotos que creemos o que sean añadidas al carrete, se cargarán en fotos en Streaming; la subida de las fotos nuevas se realizará cuando tengamos WIFI y la batería sea superior a un valor que creo que es el 20%. No he encontrado ninguna opción que permita tener las fotos en Streaming pero que no se suban las nuevas fotos, de forma que podamos subir las que nos interese de forma manual. Por tanto con esta opción activada:

  • tendremos en Fotos las fotos en Streaming
  • las nuevas fotos (creadas con la cámara u obtenidas desde otras aplicaciones como Washap que se añaden al carrete) se subirán cuando tengamos wifi y batería suficiente.
Otra opción de Ajustes > iCloud > Fotos es activar Compartir fotos; con ello aparecerá en Fotos una nueva sección llamada Compartido, y donde se descargarán los contenidos (fotos o vídeos) que nos comparten otros usuarios, y podremos compartir contenidos con otros usuarios.
Es importante destacar que todos estos contenidos se descargan al dispositivo; si desactivamos Mis fotos en streaming o Compartir fotos, los contenidos que se descargaron se eliminarán (aunque podríamos haber guardando en otros álbures los contenidos que deseáramos conservar).
En OSX, vamos a la aplicación iPhoto, y vamos a iPhoto > Preferencias > iCloud; activamos Mis fotos en Streaming; de esta forma, las fotos que se vayan añadiendo desde otros dispositivos irán apareciendo en el menú de la izquierda, en iCloud; también, y de forma similar a como podíamos hacer en el iPhone, podemos activar Compartir fotos, y aparecerá en la parte de iCloud los videos compartidos. De nuevo, y como pasaba en el iPhone, si desactivamos estas opciones, los contenidos se eliminan de nuestro equipo; sin embargo desde iPhoto de OSX podemos mejorar la configuración, con 2 opciones que están dentro de iPhoto > Preferencias > iCloud al activar Mis fotos en streaming:
Importación automática: de esta forma, todo lo que se descargue en Streaming, se irá añadiendo a eventos que se van creando, de forma que estas copias no sirven de respaldo; si luego desactivamos las fotos en streaming, se elimina el evento de iCloud y las fotos de ese evento, pero no las fotos que se han importado a eventos con esta función. Por tanto esta opción la tengo activada en el iMac, que es el centro donde guardo todos los contenidos y desde donde hago todas las copias de seguridad.
Carga Automática: si la activamos, todas las fotos nuevas que añadamos a iPhoto desde el equipo se añadirán a fotos en Streaming; lo desactivo, pues no me interesa esto. Esta es la opción que tiene configurado iOs por defecto y que no podemos cambiar, y por tanto todas las fotos se suben automáticamente.
Ahora llega el turno de configurar el iPad, y como tiene iOS, las opciones son iguales y en el mismo lugar que en iPhone. Activo fotos en streaming y compartir fotos (pero claro, aquí me gustaría tener desactivada la opción para que no se suban las fotos automáticamente, pues no me interesa que se suban a partir de este momento todas las imágenes que entren en el carrete del iPad; sin embargo, no es posible).
y por último, se puede activar la configuración en AppleTV para ver estas fotos en la televisión.
Ahora, y con este sistema básico configurado, empiezan algunas dudas a las que he ido encontrando respuesta:
¿Las fotos en streaming en los distintos dispositivos tienen la misma calidad?
NO. Las fotos en streaming descargadas en cada dispositivo se descargan con la calidad adaptada al dispositivo. Por tanto si hacemos una foto con el iPhone5, en el iPad no la veremos con la misma resolución. Según se indica en la web de Apple, la resolución se adapta al dispositivo para acelerar la descarta y ahorrar espacio de almacenamiento; esto sucede en iPhone, iPad, iPod touch y Appel TV; en el mac se descargan con la resolución original, lo nos puede servir para hacer las copias de seguridad.
Por ejemplo: hacemos una foto con el iPhone5S, automáticamente sube a Mis fotos en Streaming, vamos al iPad y la tenemos allí; sin embargo la calidad será inferior a la que tiene en el iPhone5S; importamos la foto al carrete del iPad. Ahora conectamos el iPad al iMac, y miramos la resolución de esa foto: será inferior a la que tenga la misma foto en la sección de Mis fotos en streaming en iPhoto del iMac, ya que esta se descarga con la resolución completa, pero la que se descargo al iPad tiene menos resolución. Para hacer las copias de seguridad “automáticamente” y con la calidad de la foto original, configuramos en el iPhoto del mac donde queramos conservar las fotos la opción de importación automática (y las fotos se van importando a eventos).
¿Podemos tener tantas fotos en streaming como quedamos?
NO. Solo se almacenarán las 1000 últimas fotos; después las nuevas irán pisando a las viejas. Además solo se almacena cada foto en streaming durante 30 días, de forma que si utilizamos estas imágenes para hacer las fotos de seguridad, debemos tener en cuenta que 30 días después de realizada una foto, es eliminada y ya no la tendremos disponible en fotos en Streaming. Pero si en iPhoto de mac tenemos activada la importación automática, y lo abrimos la aplicación una vez al mes por ejemplo, no deberíamos preocuparnos por perder fotos que deseemos conservar.
¿Como elimino fotos en streaming?
Desde cualquier dispositivo donde tengamos Fotos en Streaming, simplemente eliminamos la foto de este álbum y se actualizará en el resto de dispositivos. En mi caso será importante hacer limpieza de algunas fotos de forma habitual, ya que por ejemplo muchas fotos de washap no me interesa guardar ni visualizar en el AppleTV.
¿Mis Photos en en Streaming ocupan espacio de nuestra cuenta de iCloud?
NO. Al igual que iTunes Match, los contenidos de Fotos en Streaming no ocupan espacio en la cuenta de iCloud, aunque tenemos la limitación de 1000 fotos y estarán durante 30 días.
¿Como utilizar estas fotos en iPhoto de iOS?
iPhoto en iOS utiliza las librerías de la aplicación Fotos; por tanto,  podemos usar la librería de Mis fotos en Streaming como si de otra se tratara dentro desde iPhoto.
¿Qué pasa si se eliminan las fotos en streaming de fotos que se han utilizado en proyectos de iPhoto para iOS?
En principio, no hay problema, ya que cada foto que se utiliza en algún proyecto de iPhoto se guarda dentro de iPhoto (en la sección recientes, o utilizadas, creo recordar), y aunque el origen sean las librerías de la aplicación de fotos, al utilizarlas se crean copias.

DIA para OSX

DIA es una aplicación para crear diagramas; he probado bastantes, y esta lo bueno que tiene es que es multiplataforma y gratuita.
La versión de DIA dejó de funcionar para Lion, pero tras unos meses sacaron una versión compatible (eso sí, es un port que utiliza X11): http://dia-installer.de/
En OSX, para eliminar algún objeto del escenario debemos pulsar Fn+Suprimir.

Cambiar iconos de aplicaciones y carpetas en OsX

Vamos a la información de la app o carpeta a la que deseamos cambiar el icono, pinchando en cmd+i y pinchando en el icono que aparece en la parte superior izquierda, y que corresponde con el icono de esa aplicación o carpeta, lo copiamos (cmd+c) y lo pegamos en otro con el mismo procedimiento (cmd+v); también podemos arrastrar una imagen, icono o aplicación a ese icono de la parte superior izquierda, y el icono cambiará.
otra opción: CandyBar:
Podemos agregar iconos que hemos descargado, creando nuestra librería; podemos cambiar los iconos de aplicaciones, carpetas del sistema… pero si queremos cambiar el icono de una aplicación o carpeta en concreto, seleccionamos el icono que deseamos colocar y lo vemos en el quickDrop; ahora desde finder, arrastramos la carpeta a esa zona y el icono cambiará.