Consertando o Macports 2.3.0 no OS X Mavericks

Uma das medidas de manutenção que realizo semanalmente em meu macbook é a atualização do macports e dos pacotes que instalo através dele.

Continuar lendo

Instalando a suite Free PGI no OS X (e mais um pouco)

Esta semana a Portland Group – empresa desenvolvera de compiladores fortran e C (e outros produtos), lançou uma versão gratuita de seus compiladores para o OS X (exceto o compilador C++). Infelizmente, uma versão gratuita ainda não parece estar disponível para o Linux ou Windows. A instalação é bastante simples e direta: basta abrir uma imagem DMG e arrastar o aplicativo para a pasta Applications do OS X. Mas acontece que a utilização dos compiladores fica restrita apenas ao Terminal.app! Isto significa dizer que, caso você utilize outro emulador de terminal, como o iTerm2.app, você simplesmente não consegue invocar os compiladores! Isto acontece porque para utilizar os compiladores, você não deve abrir o Terminal.app, mas você precisa clicar no ícone do programa instalado (Free PGI.app) e aí sim ele abre um terminal e então os compiladores podem ser utilizados. Mas que bobagem…

Continuar lendo

Transferindo arquivos para o Motorola Razr D3 (XT920) com o Android File Transfer no OS X

Quando adquiri meu Motorola Razr D3, qual não foi minha decepção ao perceber que não conseguiria transferir minhas músicas e arquivos entre ele e o OS X utilizando o Android File Transfer? Depois de pesquisar por alguma solução, acabei escrevendo um post com algumas alternativas para sanar este problema, mas obviamente, nenhuma delas tão prática quanto ligar o telefone pela porta USB e transferir arquivos, assim como é possível fazer no Windows. No OS X, entretanto, esta tarefa não parecia ser tão simples assim… Mas eis que surge uma solução, e simples!

Continuar lendo

Transferindo arquivos do OS X para um dispositivo Android

Transferir arquivos entre um computador e um smartphone ou tablet é algo bastante simples. Diversas opções estão disponíveis, desde ligar o smartphone ao computador via cabo USB até a sincronização via Bluetooth. No entanto, quando se trata de transferir grandes quantidades de dados (por exemplo, alguns gigabytes de músicas, filmes etc), muitas vezes pode ser inconveniente utilizar o bluetooth (pela limitação da velocidade da rede) ou via USB – neste caso especifico, dependendo do software utilizado, este tipo de tarefa tem as suas limitações.

Continuar lendo

Compilando LAPACK e BLAS com ifort

Este tutorial é muito simples e mostra como compilar as bibliotecas de Álgebra Linear BLAS e LAPACK do netlib (http://www.netlib.org) utilizando os compiladores C e fortran da Intel (icc e ifort).

Tanto para Linux (Ubuntu 11.04) quanto no OS X (Mountain Lion), os procedimentos são os mesmos:

$ wget -c http://www.netlib.org/lapack/lapack-3.4.2.tgz
$ tar -zxvf lapack-3.4.2.tgz
$ cd lapack-3.4.2
$ cp INSTALL/make.inc.ifort ./make.inc
$ make lapacklib
$ make blaslib

Como resultado da compilação, duas bibliotecas (libs) deverão ser criadas:

  • liblapack.a
  • librefblas.a

Dependendo da sua aplicação, pode ser necessário atribuir algum valor para a variável “LAPACK_PATH” indicando o caminho das libs que foram geradas. Se a compilação das libs foi feita em /home/user/lapack-3.4.2, então, pode-se fazer:

$ export LAPACK_PATH=/home/user/lapack-3.4.2

Este comando pode ser incluído no seu ~/.bashrc ou mesmo em /etc/bash.bashrc.

Referência:

SSH sem senha no OS X Mountain Lion

O SSH é um serviço de rede que permite fazer um login seguro em máquinas remotas. Basicamente, informa-se o login, o nome (ou endereço) da máquina à qual deseja-se conectar e depois a senha. Dependendo do uso que se faz do SSH, pode ser necessário e/ou conveniente configurar o software para guardar as senha com uma chave pública de forma que o login é feito de forma automática, sem a necessidade de perdir uma senha a cada pedido de login. De forma semelhante, quando trabalha-se com processamente paralelo utiizando, por exemplo, o MPI, é necessário que a máquina seja configurada para fazer o login no localhost sem pedir senha. Neste caso, isto acontece porque cluster são geralmente configurados em rede e para que a compilação possa aproveitar os processadores das diferentes máquinas localmente, é necessário que todas as máquinas sejam acessíveis na rede. Você consegue imaginar como seria a compilação e a execução de uma grande software de forma paralela em um ambiente de rede e tendo que digitar a senha de login das máquinas a todo instante? No caso dos processadores multicore, a situação é bastante semelhante: os softwares que podem tirar vantagem de máquinas com este tipo de processadore, enxergam cada um dos cores como um processador independente. Então, torna-se necessário configuarar a máquina em questão para que ela possa acessar ela mesma através do terminal via SSH. Confuso? É um pouco, mas é bastante simples.

Em uma máquina Linux, podemos gerar uma chave pública com os seguintes comandos:

$ ssh-keygen -t rsa 
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys2

No OS X Mountain Lion, o processo é bastante semelhante e requer uma configuração adicional:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Mas para que tudo funcione, é preciso configurar o OS X Mountain Lion para permitir logins remotos. Para isto, basta abrir o painel de “Preferências do Sistema” (System Preferences), clicar no ícone “Compartilhamento” (Sharing) e marcar a opção “Login Remoto” (Remote Login).

Painel de Preferências do Sistema

Depois disso, basta testar:

$ ssh localhost

Referências:

Utilizando a VPN através do Tunnelblick

O Tunnelblick é um software que utiliza o openvpn e fornece uma interface gráfica simples e funcional para gerenciar conexões VPN. Ele é bastante útil para quem precisa gerenciar várias conexões VPN. No meu caso, tenho apenas uma conexão disponível e por isso utilizava um script fornecido pelo administrador dos sistemas que eu uso. Aliás, por utilizar o Mac OS X, um dos requisitos para que minha conexão VPN funcione é a utilização do Tunnelblick, porque o script fornecido pelo administrador utiliza o openvpn que vem junto com o Tunnelblick. Mas isso não é uma necessidade real, pois pode-se instalar o openvpn através do port do Mac OS (sudo port install openvpn), embora a versão disponível no port seja mais antiga.

Neste artigo, vou mostrar rapidamente como configurar uma conexão VPN através do Tunnelblick para poder aproveitar melhor o que este software tem de bom.

Se você não tem o Tunnelblick, pode baixá-lo neste link (link direto). Como estou utilizando o OS X Mountain Lion, preciso da versão 3.3 beta 21a do Tunnelblick. Se você utiliza outra versão do Mac OS X, verifique qual versão melhor se adequa ao seu Mac. Instale o Tunnelblick e inicie a configuração da sua VPN.

Depois de instalar o Tunnelblick e abrí-lo pela primeira vez, o configurador irá perguntar se você tem arquivos de configuração ou não. Vou clicar na opção “I have configuration files” (ou Eu Tenho Arquivos de Configuração), pois vou aproveitar os arquivos de configuração do meu script VPN:

Configurando o Tunnelblick: utilizando arquivos de configuração externos

No passo seguinte, o Tunnelblick perguntará se os arquivos de configuração que você tem já são arquivos do Tunnelblick ou não. No meu caso, não são e eu configurarei minha conexão manualmente, que é o que valida este artigo 😉 Se este for também o seu caso, escolha a opção “OpenVPN Configuration(s)” (ou Configurações OpenVPN):

Tunnelblick: criando uma conexão VPN com as informações prévias da sua conexão

Depois disso, o configurador perguntará qual tipo de configuração você quer criar. Escolha a opção “Open Private Configurations Folder” (ou Abrir Pasta de Configurações Pessoais). Com esta opção, uma pasta do Finder será criada no desktop e é nela em que serão colocadas as informações que temos sobre a VPN:

Tunnelblick: criando pasta de configurações personalisadas

Nesta etapa, as informações que deverão ser colocadas nesta pasta são as seguintes:

  • Um script de configuração openvpn (eg., config.ovpn)
  • Uma chave criptografada para a conexão com o servidor (eg., chave.key)
  • Um certificado de segurança (eg., certificado.crt)

Lembre-se que estas informações são fornecidas pelo seu administrador de sistemas e que são pessoais e intransferíveis. Portanto, se você não tem estas informações, peça-as ao seu administrador de sistemas.

Depois de ter colocado as informações (arquivos) dentro da pasta que o configurador do Tunnelblick abriu no seu desktop, clique em “Done”(ou Pronto) na janela anterior, renomeie esta mesma pasta para um nome que você queira para a conexão e adicione a extensão “.tblk”. Feito isto, terá sido criado um arquivo de configuração VPN do Tunnelblick. Para adicioná-lo ao Tunnelblick, basta dar um duplo clique sobre ele (que na verdade é a pasta em que foram salvas as configurações da VPN):

Configurações salvas para uso no Tunnelblick (clique duas vezes para adicionar)

Depois disso, basta utiliza o Tunnelblick através do ícone que fica no painel do Mac OS, próximo ao ícone do Spotlight:

Tunnelblick: menu com as conexões disponíveis

Ao clicar no ícone do Tunnelblick, um menu com as conexões disponíveis será aberto. Para conectar, basta clicar no nome da conexão configurada e realizar a conexão:

Conectando com o Tunnelblick à esquerda (em amarelo) e à direita, conexão relizada (em verde)

Depois que o Tunnelblick estiver ativo em uma conexão, i ícone do painel fica com uma cor diferente (o que pode ser alterado depois):

Ícone de atividade do Tunnelblick

Para desconectar, basta clicar no ícone do Tunnelblick e clicar em “Disconnect NOME_CONEXÃO” (ou Desconectar NOME_CONEXÃO).

Vale lembrar que, caso o seu administrador de sistemas requer alguma camada extra de segurança, e esta não estiver contemplada nas configurações do Tunnelblick, será necessário ativá-las antes de se realizar a conexão.

É isso!

Mouse e Trackpad com rolagem diferente no Mac OS X

No Mac OS X é possível configurar a direção de rolagem das páginas ou de qualquer coisa que possa ser rolada com a rodinha do mouse, com o trackpad do MacBook ou com o Magic Trackpad da Apple. Por padrão, o sistema utiliza a direção “natural”, em que a página sobe quando move-se os dedos para cima e desce quando move-se os dedos para baixo. Utilizando o trackpad neste modo me pareceu bastante confortável e intuitivo, mas o problema começou quando pluguei um mouse: a direção de rolagem da rodinha ficou invertida e difícil de se acostumar, além disso, se você alterar a direção de rolagem do trackpad, também vai alterar a direção de rolagem do mouse! Até parece que é uma falha do sistema, mas o fato é que a Apple pensa em seu Magic Mouse, que possui as mesmas “gestures” que o trackpad do MacBook e Magic Trackpad.

Configurações de rolagem nativa iguais para mouse e trackpad no Mac

Mas ainda sim, é possível separar as coisas e atribuir configurações diferentes para o trackpad e o mouse (seja ele qual for, Blutooth ou não). Procurando aqui e ali, encontrei um programa chamado “Scroll Reverser” que faz o trabalho de ajustar um opção de rolagem para o trackpad e outra para o mouse. Assim, pode-se plugar o mouse e utilizá-lo sem se preocupar em alterar a configuração de rolagem no Mac OS X:

Scroll Reverser: permite atribuir uma configuração de rolagem diferente para o Mouse e para o trackpad do Mac (fonte: http://pilotmoon.com/scrollreverser/)

Referência

http://pilotmoon.com/scrollreverser/

OS X Mountain Lion: vale a pena!

Há alguns meses atrás comprei um macbook pro de 13” com 4GB de memória RAM e com Mac OS X Lion. Nos primeiros dias de utilização, não pude deixar de esconder uma certa desconfiança em relação do Mac OS X Lion, pois este não apresentava o desempenho que eu esperava. Por duas vezes, o macbook travou em situações em que vários programas estavam abertos; em outras situações (mais comuns) me irritava a lentidão de algumas animações do sistema e a beach ball of death (quando o aquele cursor colorido de espera fica girando indefinidamente esperando algum programa responder). Isso me irritou bastante, e percebi que os 4GB de RAM do macbook não eram suficientes. Resolvi colocar 8GB de RAM no macbook e ver se conseguiria um pouco mais de fôlego. O desempenho melhorou bastante, mas os pageouts continuaram e alguns programas ainda eram lentos, o que pude comprovar com a quantidade de pageouts que havia no sistema, mesmo com memória RAM de sobra:

Pageouts excessivos no Mac OS X Lion: gerenciamento de memória ruim…

Com o lançamento dos previews do OS X Mountain Lion, fui acompanhando o depoimentos de quem estava testando e o consenso era de que a nova versão do Mac OS X – ou melhor OS X, já estava mais estável em termos de gerenciamento de memória. Fiz o upgrade – um tanto quanto receoso pois tratava-se de uma versão recém-lançada e eis minha surpresa:

Sem pageouts no OS X Mountain Lion: enquanto tem memória RAM disponível, nada de lentidão no sistema!

Com o OS X Mountain Lion, meu macbook pro ficou bastante rápido e confiável, uma vez que não enfrento mais lentidões por conta dos excessivos pageouts que o Mac OS X Lion insistia em criar. Memória RAM tem que ser usada, até o último byte; se o sistema operacional não consegue utilizar de forma eficiente os seus 2, 4, 6 ou 8GB que você tem, o investimento não vale à pena!

Ok, com as declarações acima, dá pra ver que o OS X Mountain Lion é mais eficiente no gerenciamento de memória, mas o que o page out realmente representa?

Segundo as informações da Apple (neste link), as funções de cada um desses elementos é a seguinte:

  • VM size: é a quantidade total de memória virtual para todos os processos executados no Mac OS
  • Page out: é a quantidade de informação que saiu da memória RAM e foi para o disco rígido (quanto mais, pior)
  • Page in: é a quantidade de informação que sai do disco rígido e volta para a memória RAM, quando a memória antes ocupada, é liberada
  • Swap used: é a quantidade de informação copiada para o arquivo de paginação (swap file) no disco rígido

Além disso, outras informações que o monitor de atividades do Mac OS fornece em relação ao uso da memória RAM, são:

  • Free: é a quantidade de memória RAM que não está sendo utilizada
  • Wired: é quantidade de memória RAM que está sendo utiliza e que não pode ser movida para o disco rígido (este valor depende dos programas que estão abertos)
  • Active: é a quantidade de memória RAM recentemente utilizada
  • Inactive: semelhante a active, é a quantidade de memória RAM que foi recentemente utilizada mas que ainda não foi liberada
  • Used: é a quantidade total de memória RAM utilizada pelo Mac OS

Comandos úteis:

Caso seja necessário forçar a liberação da memória “inativa” do Mac OS, você pode utilizar o comando purge. Para isso, basta abrir o terminal do Mac OS X e digitar:

$ purge

*No OS X 10.8.1 este comando está com um bug (na verdade você não consegue executá-lo, obtendo a seguinte mensagem:

[ERROR] <CPPathUtils.c:526> The device-file for this operating system, 'osx-12.1.0.xml', was not found. An attempt to revert to a previous revision of the OS device-file: 'osx-12.0.0.xml' has been made. Please file a Radar report with Apple, on the 'CoreProfile' component, version 'X'.

*O problema acima já foi resolvido e o comando purge funciona sem problemas no OS X 10.8.2.

Depois que o comando purge for executado, alguns programas podem ficar mais lentos na inicialização, pois terão sido removidos da memória RAM.

Exemplo de um antes e depois do comando purge:

Antes de rodar o comando purge: observe a quantidade de memória inativa (inactive, em azul) utilizada

Depois de rodar o comando purge, a quantidade de memória inativa (em azul) é liberada

Outro comando útil, mas para o monitoramento da memória RAM, é o comando vm_stat. Para utilizá-lo, basta abrir o terminal e digitar:

$ vm_stat

Para fazer com que o comando seja atualizado automaticamente, digamos, a cada 3 segundos, basta fazer:

$ vm_stat 3

e assim por diante.

Referências: