ago 2010 07

Quem chega ao Mac OS X passando por outros UNIX, Linux por exemplo, logo percebe que a Apple aparou todas as arestas de usabilidade deste tradicional sistema operacional. Uma das adequações para usabilidade do Mac é ocultar tudo aquilo que 99% dos usuários jamais utilizarão.

Enquadram-se nessa lista os arquivos de sistema, e diretórios tradicionais do UNIX : /usr /lib /bin e por aí vai. Nenhum desses arquivos estão visíveis no Finder, é preciso ativar essa função, então lá vai a dica de como fazer.

Abra um terminal, copie e cole o comando:


defaults write com.apple.Finder AppleShowAllFiles YES

Tecle ENTER.

Agora será necessário reinicar o Finder para a nova configuração ter efeito. Só que o Finder é o shell do sistema, então não dá para usar command + Q e reiniciar.

Reiniciando o Finder
Pressione e segure a tecla OPTION, clique e segure o botão do mouse clicado no ícone do Finder: aparecerá um menu contextual. Clique em “Relaunch”, ou “Reiniciar”. Isto não reiniciará sua máquina, apenas o Finder lerá novamente suas configurações e reiniciará, é quase transparente para o usuário.

E pronto! Visite algumas pastas no Finder, tudo estará à mostra.

AVISO: Janelas configuradas para não mostrar arquivos de sistema, como instaladores, por exemplo, ficarão uma bagunça completa. Para quem usa o Mac OS X a trabalho, como eu, isso não é um problema, mas para usuários finais o novo visual pode ser indesejável.
ago 2010 07

Uma das bibliotecas C mais úteis já produzidas é a GLib. Trata-se de um aglomerado de utilidades para linguagem C que inclui utilidades para strings, gerenciamento de memória, utilitários para arrays, listas, enfim, pense em algo e a GLib tem.

Compilei a GLib no Mac, porém ela exigia uma versão diferente da libiconv. Baixo e compilo a libiconv, volto pra GLib e tudo funciona sem problemas.

Muitas luas depois, preciso do VirtualBox para rodar o Windows, pois há um certo banco aqui no Brasil cujo home-banking não funciona no Mac. Então descubro que o VirtualBox não funciona mais…. A interface gráfica não dá dicas de por que o ícone aparece e some rapidamente. Parece um crash durante a inicialização, e nessa hora o terminal é nosso amigo.

Através do terminal, vou até /Applications/VirtualBox.app/Contents/MacOS e rodo o aplicativo ./VirtualBox. Para minha surpresa, o VirtualBox reclama que não encontrou o símbolo _iconv na bibliotea /usr/lib/libiconv.2.dylib

Recompilo o libiconv para outra arquitetura, usando um configure diferente. Usei ./configure –prefix=/usr CFLAGS=’-arch i386′ (cuidado, não compile usando esta opção). Tentei também outras arquiteturas, como x86_64. A experiência com arch i386 foi um desastre completo, tudo parou de funcionar. Não tinha mais acesso ao terminal, pois nenhum shell funciona sem o libiconv incluindo /bin/ksh, /bin/zsh e /bin/csh – todos que acompanham o Mac OS X.

Pior, o make não funciona sem o libiconv….ou seja, não tinha como recompilar a fonte da libiconv novamente para x86_64 – A solução era baixar uma versão binária do libiconv…mas onde? Busquei por toda parte, mas a única que encontrei era para Power PC, não ia resolver. O site DarwinPorts tem links para download que não funcionam, não conseguí testar.

DVD do Mac OS X ao Resgate
O jeito foi usar o DVD de instalação do Mac OS X. Já que não tenho shell, preciso fazer tudo pelo Finder. Primeiro é preciso expor os arquivos ocultos. Depois, é só navegar até usr/lib no DVD e copiar libiconv.2.dylib para /usr/lib – e pronto! Esquecí a GLib por agora, o importante é ter o resto do sistema funcionando.

jul 2011 19

O leitor astuto deve ter percebido o endereço deste post: “Mac OS X Sucks”. Na verdade ele não é um sistema ruim, tenho usado há um ano e meio, e confesso que fiquei impressionado com esse UNIX pra lá de bem implementado.

Mas a impressão inicial passou, e o dia a dia tornou-se complicado.

Hoje foi a gota d’agua: copiei e colei uma pasta através da rede, de meu notebook Mac para este computador. A pasta “fotos” já existia no computador destino, portanto o Mac perguntou se desejava “sobrescrevê-la”. Para quem mexe com Windows e Linux(que juntos somam 90% dos usuários de PC) “sobrescrever” uma pasta signfica “gravar por cima dos arquivos nela contidos”(‘merge’, no jargão do Linux). Ou seja, somam-se os arquivos – apenas são sobrescritos aqueles de mesmo nome.

Eis que o Mac pensa diferente(“think different”, soa familiar?). Ele decidiu que era uma ótima idéia apagar minha pasta de fotos inteira e gravar só os arquivos que ele estava transferindo. Em outras palavras, o Mac apagou a pasta original e depois gravou outra de mesmo nome, no mesmo diretório destino.

Sem qualquer aviso, O Mac apagou 48 GBytes de fotos anteriores e escreveu meia dúzia de fotos por cima.

Qualquer iniciante nos estudos de usabilidade conhece a regra mais importante de qualquer sistema: não devem haver efeitos colaterais destrutivos, muito menos sem um aviso claro daquilo que será destruido. “Todos os arquivos existentes na pasta destino serão destruidos, proceder?” seria a mensagem correta, e não “sobrescrever a pasta?”. O comportamento padrão em qualquer outro sistema, como já mencionamos, é sobrescrever apenas os arquivos de mesmo nome – jamais apagar arquivos sem avisar.

De início não acreditei. Para ter a certeza do que acabara de ver, criei uma pasta ‘teste’ na origem e outra no destino. Inseri alguns arquivos-cobaia no destino, e repetí a experiência, a pasta origem contendo arquivos diferentes. Novamente ele apagou e recriou a pasta contendo apenas os arquivos do Mac – os arquivos anteriores da pasta destino foram todos para o espaço.

Aviso, esta caixa de dialogo parece inocente, mas é um perigo para seus dados: ao confirmar aqui que deseja “Replace”, sua pasta anterior será totalmente apagada, e os novos arquivos gravados nela.

 

Abaixo, a mesma tela no Linux: repare que há a opção “merge”, que significa “juntar os arquivos”. Ou seja, fosse o Linux, ele não teria apagado todas as minhas fotos.

 

Não foi a primeira vez que o Mac OS X destruiu arquivos importantes inadvertidamente. Em outra ocasião recente, o sistema sobrescreveu um CompactFlash inteiro com arquivos antigos, destruindo as fotos do trabalho de todo um dia. Demorei a compreender o que houve. No cansaço do dia anterior, fechei o MacBook antes de “desmontar” a unidade de compact-flash. No dia seguinte, quando reinserí o cartão, a tabela de alocação de arquivos anterior foi “sync”ronizada de volta para o cartão. Os arquivos anterioes, que todos sabemos não são realmente apagados(apenas marcados para apagar), apareceram de volta, magicamente. E todas as fotos tiradas naquele dia desapareceram. Felizmente o Photo Rescue conseguiu ler todos os arquivos e resgatá-los – pagou o preço da licença logo no primeiro uso.

“Pensar diferente” tem limites.

Não bastasse a Apple quase ter falido nos anos 1980 devido a sua arrogância, eles parecem querer testar a paciência do consumidor novamente com seu sistema operacional para PC’s. Quem foi que lhes disse que reinventar o gerenciador de arquivos que todo mundo já sabe usar seria uma boa idéia? Quem foi que disse que a ausência de confirmações para operações destrutivas seria uma boa idéia?

E mais. Para quem se vangloria pela usabilidade de seus produtos, deviam saber que o mouse de um botão só é menos produtivo que o de 3 botões. O teclado reduzido é charmoso mas difícil de usar – e onde está o teclado numérico? Onde estão Home, End, Insert e Delete? (Já sobre a falta de Page up/down, dá pra enganar com gesto de dois dedos no mouse.) Delete é delete, mas OPTION + delete não substitui o backspace(e são duas teclas) – então, onde está o backspace?

fn, control, option e COMMAND geram uma confusão imensa – chega a ser difícil compreender como este mapeamento de teclado passou pelos testes de usabilidade da Apple. O que o fn faz? Troca a função das teclas… O que control faz? Depende. E alt/option? Tem hora que é “Alt”, tem hora que é “option”. Na maior parte das vezes é “confusão”.

Onde está o comando para recortar e colar um arquivo? Não existe. E quando crio um arquivo novo e o Finder não ficou sabendo ainda(via rede, por exemplo)…onde fica o botão “Refresh” ou F5? Não tem. Espere o Finder decidir enxergar o arquivo(ou alterne entre visualizações com COMMAND + 1 ou 2 ou 3…custava ter um refresh?).

E a rede Wi-Fi que insiste em desligar se você transferir muitos arquivos em sucessão? Acontece em todos os Apple baseados em Darwin que já testei – inclusive iPhones com jailbreak. Pesquisei e não encontrei mais detalhes sobre este problema, no entanto é fácil de reproduzir, basta rodar o rsync com um grande volume de arquivos, por exemplo. (O rsync é uma maravilha para copiar arquivos para fora de um iPhone…mas o wi-fi desconecta toda hora.)

Apagar todas as minhas fotos foi uma baita fi@#$@#%^$gem. Penso seriamente em tirar o Mac OS X e instalar o Windows no MacBook. Se não conseguir recuperar as fotos perdidas o Mac OS X vai sumir deste MacBook tão rápido quanto meus arquivos que ele apagou. O indicador está ansioso para dar enter/return no root# fdisk.