R, dplyr e o Debian Jessie

Contexto: Estou fazendo o curso “Getting & Cleanning Data” do Coursera. O Curso é orientado à utilização da linguagem de programação R, e há a recomendação que se utilize a biblioteca ‘dplyr’ do R para manipulação dos dados.

Porém, a versão atual (26/07/2015) da biblioteca dplyr exige a versão 3.2.1 do R, e no debian Jessia (atual versão estável) o R está na versão 3.1.1. Assim, é preciso atualizar a versão do R para se poder utilizar a biblioteca dplyr. Então vamos ao processo de atualização do R e instalação da biblioteca dplyr.

Atualizando a versão do R

Para atualizarmos o R precisaremos de um novo repositório de pacotes. Então precisamos adicionar, ao arquivo “/etc/apt/sources.list” a seguinte linha:

# R PACKAGES
deb http://www.vps.fmvz.usp.br/CRAN/bin/linux/debian jessie-cran3/

Este repositório não tem sua chave-pública inserida no repositório de chaves que o Debian utiliza, então precisamos baixar a chave pública para evitar mensagens de erro, fazemos isso com os comandos (executados como usuário root):

gpg –keyserver keyserver.ubuntu.com –recv 06F90DE5381BA480
gpg –export –armor 06F90DE5381BA480  | apt-key add –

Agora basta atualizarmos a versão dos pacotes:

aptitude update
aptitude safe-upgrade

Pronto, agora devemos ter o R já na versão 3.2.1 em nossas máquinas.

Atualizando pacotes do R

O próximo passo é atualizar todos os pacotes do R instalados em sua máquina. Para isso, rode o comando abaixo no R ou no RStudio:

update.packages(.libPaths()[1])

O pacote dplyr exige uma versão atualizada do pacote Rcpp (>= 0.12), porém a versão disponível no repositório debian é inferior a esta versão. Então precisamos removê-la pelo gerenciador de pacote do debian (apt ou aptitude) e,  em seguida, instalá-la pelo próprio R (que irá buscar a versão mais atual).

Assim, para desinstalar utilizamos, no console (terminal), o comando:

aptitude remove -y Rcpp

 E para instalar pelo R, executamos o comando (no console do R):

install.packages(‘Rcpp’)

Pronto, agora podemos realizar a instalação do dplyr.

install.packages(‘dplyr’)

 

Python/Django Social Auth

http://www.artandlogic.com/blog/2014/04/tutorial-adding-facebooktwittergoogle-authentication-to-a-django-application/

 

Fixing google-oauth2 403 error:

http://es.axiacore.com/blog/como-arreglar-el-error-403-de-python-social-auth-con-google/

Debian Bluetooth Headphone e AD2P

Links de referência para configurar seu headphone bluetooth utilizando AD2P (melhor qualidade de áudio) no Debian.

https://wiki.debian.org/BluetoothUser/a2dp

https://www.debian-administration.org/users/dammitjim/weblog/2

(Se estiver com problemas para conectar o headphone com o computador veja este link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743568 )

Drupal + Nginx + Varnish + APC + Memcache + MariaDB

Site do PoliGNU e PoliGen na Digital Ocean (VPS) com Drupal, Nginx, Varnish, APC, Memcache e MariaDB. Tudo isso rodando num Debian Wheezy 7

Nginx atualizado no Debian Wheezy 7

http://oskarhane.com/install-nginx-stable-1-4-1-on-debian-squeeze/

#Start with downloading and installing PGP keys
wget -O key http://nginx.org/keys/nginx_signing.key && sudo apt-key add key && sudo rm -f key

#Add these lines to /etc/apt/sources.list
deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx

#Update apt lists
sudo apt-get update

#Upgrade or install nginx
sudo apt-get upgrade
#or
sudo apt-get install nginx

Instalando PHP-FPM
http://www.ubuntubrsc.com/instalando-nginx-php-fpm-apc-varnish-mysql-ubuntu-server-12-04.html

sudo aptitude install php5-fpm php5-gd php-apc php5-imagick php5-curl php-pear php5-cli php5-common php5-mysql

Instalando o MariaDB (versão 5.5)
https://downloads.mariadb.org/mariadb/repositories/#mirror=jmu

sudo aptitude install python-software-properties
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/5.5/debian wheezy main'
sudo aptitude update
sudo aptitude install mariadb-server

Instalando o Varnish

https://www.varnish-cache.org/installation/debian
  1. curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
  2. echo "deb http://repo.varnish-cache.org/debian/ wheezy varnish-3.0" >> /etc/apt/sources.list
  3. aptitude update
  4. aptitude install varnish

Configurando e fazendo os serviços se comunicarem


Configuração do /etc/varnish/default.vcl
http://www.lullabot.com/blog/article/configuring-varnish-high-availability-multiple-web-servers

Acertando as configurações/permissões das pastas:
chown -R polignu:www-data <drupal_root_folder>
find <drupal_root_folder> -type d -exec chmod g+s {} \;
MySQL/MariaDB small config
https://raw.github.com/ottok/pkg-mariadb/master/support-files/my-medium.cnf.sh

Outras refs:
http://andrewdunkle.com/how-install-varnish-drupal-7
http://www.danielmiessler.com/blog/handling-redirects-with-varnish-and-nginx

Utilizando o software Ftool no Ubuntu Lucid Lynx 10.04

O software Ftool[1] é “Um Programa Gráfico-Interativo para Ensino de Comportamento de Estruturas“.

Hoje, me pediram para ajudar na “instalação” do mesmo num notebook cujo sistema operacional é o Ubuntu Lucid Lynx (10.04).

A primeira coisa que me veio à mente foi: “Vou precisar usar o Wine ou o DosBox” para fazê-lo funcionar. Porém, ao entrar no site do programa tive uma agradabilíssima surpresa. Lá estava disponível uma versão “para Linux” para se fazer o download. Eu, enquanto estudante de engenharia, sei o quão difícil é encontrar, na área técnica, pessoas e programas preocupados em atender a demanda de usuários de software livre. Por isso faço questão de dizer quando encontrar algum bom exemplo.

Infelizmente este software não é um Software Livre, seu código fonte não está disponibilizado, mas já é um grande avanço ele oferecer algum tipo de suporte para usuários de sistemas operacionais livres. Será muito bom se ele veier a ser liberado sob uma licença livre em algum momento, para que a comunidade possa contribuir para o desenvolvimento desta ferramenta e de muitas outras. Seria, inclusive, boa, do ponto de vista didático, a possibilidade de estudantes de engenharia participarem deste desenvolvimento.

Voltando à questão inicial, da “instalação” do programa.

A instalação

No site há disponibilizado para download os arquivos “ftool212linux24g3.tgz” e “ftool212linux26g4.tgz“. A diferença entre eles é que o primeiro foi compilado para o kernel 2.4 e gcc3, enquanto o segundo foi compilado para kernel 2.6 e gcc4.

Seguindo a sugestão do comentário do Leonardo Goliatt, o processo para instalar (num sistema 64 bits) fica assim:

cd /tmp
sudo aptitude install libmotif3
mkdir -p ftool212linux26g4
cd ftool212linux26g4
wget -c http://www.tecgraf.puc-rio.br/ftp_pub/lfm/ftool212linux26g4.tgz
tar -zxvf ftool212linux26g4.tgz
sudo cp Ftool /usr/local/bin/
sudo ln -s /usr/local/bin/Ftool /usr/local/bin/ftool
sudo wget -c http://mirror.pnl.gov/ubuntu//pool/multiverse/o/openmotif/libmotif3_2.2.3-2_amd64.deb
sudo dpkg -x libmotif3_2.2.3-2_i386.deb /tmp
sudo cp /tmp/usr/lib/libXm.so.3 /usr/lib32/
cd -
ftool

Caso você queira instalar num sistema operacional 32bits basta mudar a linha

sudo wget -c http://mirror.pnl.gov/ubuntu//pool/multiverse/o/openmotif/libmotif3_2.2.3-2_amd64.deb

por

sudo wget -c http://mirror.pnl.gov/ubuntu//pool/multiverse/o/openmotif/libmotif3_2.2.3-2_i386.deb

O primeiro erro que encontrei foi que a versão que estava tentando ser rodada era a para kernel 2.4 e gcc3, enquanto o sistema operacional possui o kernel 2.6 e gcc4.

Assim, a primeira coisa que fiz foi baixar a versão correta. Ao descompactar o arquivo tgz encontrarmos um executável. Tentei executá-lo pela interface gráfica mas não obtive sucesso. Em seguida tentar pelo terminal (fui até a pasta aonde o arquivo executável estava e digitei [code] $ ./ftool [/code]), mas também não obtive sucesso. Porém tive uma mensagem de retorno de erro:
error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory“.

Procurei a tal da biblioteca “libxm” no repositório do ubuntu
[code] $ aptitude search libxm [/code]
mas não encontrei nada que pudesse realmente me ajudar.
Fui então ao site do programa ver se havia alguma referência, e reparei que o programa utiliza a biblioteca “OSF Motif”. Entrei no site da biblioteca[2], fiz o download do instalador “.deb” para ubuntu lucid lynx 32bits e instalei-a. Porém o programa continuou não funcionando, acusando o mesmo erro de antes.

Parti então para a busca na internet.
Já no primeiro link[3] encontrei a sugestão de instalar a biblioteca libmotif3 presente no repositório oficial do sistema operacional.
Ao tentar instalar tal biblioteca ([code] $ sudo aptitude install libmotif3 [/code]) fui alertado que a “openmotif” seria desinstalada. Aceitei o procedimento e segui à frente.

Com isso consegui fazer funcionar o Ftool até agora perfeitamente, ainda não apresentou nenhum erro ou problema.

Portanto, para os que desejam utilizar o Ftool no ubuntu (10.04), o procedimento, só pela interface gráfica, é:

1) Faça o download da versão para kernel linux 2.6 e gcc 4: http://www.tecgraf.puc-rio.br/ftp_pub/lfm/ftool212linux26g4.tgz
2) Descompacte o arquivo numa pasta de sua preferência (Clique com o botão direito do mouse e clique em extrair).
3) Agora vá ao menu APLICATIVOS > CENTRAL DE PROGRAMAS UBUNTU e busque por libmotif3 e instale o resultado da pesquisa.

Pronto, agora seu Ftool já deve estar funcionando! =)

Espero ter contribuido, e me coloco à disposição para dirimir quaisquer possíveis futuras dúvidas e dificuldades!

[1] https://web.tecgraf.puc-rio.br/ftool/#download
[2] http://www.openmotif.org/
[3] http://ubuntuforums.org/showthread.php?t=39556

[Update]
O desenvolvedor do Ftool, Luiz Fernando Martha, colocou este post como referência no site do Ftool, agradeço pelo prestígio!