Mostrando postagens com marcador Tutoriais. Mostrar todas as postagens

[TUTORIAL] How to easily convert Audible AAX files to MP3 on Linux

Easily convert Audible AAX files to MP3 on Linux: https://github.com/paladini/aax2mp3-easy


If you bought audiobooks from Audible and use Linux in your daily live, you're probably in bad hands: besides Audible web player, there's no client that you can run using Ubuntu or a Linux distribution. In order to listen to your Audible stuff you can use this Web Player, but what if you don't have Internet access in the moment? In this case the best thing you can do is convert your AAX files to MP3 files, allowing you to listen to your Audible stuff using any media player at any given moment.

So you're looking for a way to convert your Audible AAX files (.aax) to MP3 files (.mp3) on Linux? There's two programs and some Python dependencies that can make it for you: Audible Activator and AAXtoMP3. The problem is that you don't have a integration between these two softwares and for those who don't have knowledge with scripts, programming or even basic Linux, using these two softwares can be little challenging.

With this people in my mind, I've made a little script that allows you to easily convert Audible .aax files to .mp3. Just download a single script, run it with the correct parameters and it's done!

You can take a look in aax2mp3-easy here. There you can find some instructions on how to download, install and use aax2mp3-easy too. If you have any problem, feel free to contact me in Github or even using the blog comments.




How to use Robomongo to connect to MongoDB server running in a Docker container inside AWS EC2

Using Robomongo to connect to MongoDB server running in a Docker container inside AWS EC2

Recently I've meet the awesome Rocket.Chat and for internal reasons I need to access its database using Robomongo, a cross-plataform MongoDB client. The problem is that Rocket.Chat was running in a Docker container, it's MongoDB database was running in another Docker container, all running inside an Amazon Web Service (AWS) EC2 instance.

I thought that would be very hard to connect to my MongoDB database using Robomongo, but it was actually quite easy. In the following steps you'll discover how to use Robomongo to connect to a MongoDB database running in a Docker container inside an AWS EC2 instance.

1º Step) Discover your EC2 instance public IP and make sure you can access it through SSH. You can find your instance public IP from your EC2 Management Console:




2º Step) Discover the IP from Docker container running your MongoDB server / database. In order to do that, login to your AWS EC2 instance through SSH and then run:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <YOUR_MONGODB_DOCKER_INSTANCE_NAME>
If you don't know your instance name, type "docker ps" and try to figure it out. In my case the instance name was "chat_db_1", so I run:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' chat_db_1
And it gives me:
[ec2-user@ chat]$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' chat_db_1
172.17.0.2
From here we'll call this value by "MongoDB IP".

3º Step) Now that you have the public IP from your AWS EC2 instance and also the IP from the Docker container running MongoDB, open Robomongo and create a new connection filling the "Address" field with MongoDB IP and the "Port" field with 27017 (MongoDB default port):




Now go to the "SSH" tab and fill the fields with the following:

SSH Address: public IP from your AWS EC2 instance. Port 22.
SSH User Name: "ec2-user"
SSH Auth Method: select "Private Key".
Private Key: select the .pem file you use to access your EC2 instance through SSH.

Right now you should have the following:


4º Step) Done! Now you can visualize, edit and insert new data as you want.



If you have any questions or issues following this tutorial, let me know through the comments. Leave your comment if you liked it, too!

[Tutorial] How to fix slow performance on Fedora 22 (using Intel processors)

[Fernando Paladini] [Tutorial] How to fix slow performance on Fedora 22 (using Intel processors)

Are you having several performance issues after upgrade from Fedora 21 to Fedora 22? Do you have big delay when you start softwares like Firefox, Chrome and others? Are you experiencing system glitches and regular freezes?

If you had a notebook or desktop that runs on the top of Intel processors or GPUs and you're experiencing slow performance on Fedora 22, so this article can help you. If it doesn't work, check this question.

First of all, you need to remove all the following packages:

sudo dnf remove xorg-x11-drv-intel intel-gpu-tools libva-intel-driver
After that, just install the same packages again:

sudo dnf install xorg-x11-drv-intel intel-gpu-tools libva-intel-driver
This will probably solve all your problems with Intel and Intel drivers on Fedora 22. Hope it helps!

Based on my answer at Ask.FedoraProject.
Fernando Paladini.

[Tip] How to compare strings or char pointers case insensitive in C++?

[Tip] How to compare strings or char pointers case insensitive in C++?

Do you want compare two strings or two char pointers case-insensitive using C++? Here's the most useful and intuitive form I have found to make this comparison.

This way you just need include a standard library for C++: that is, you don't need download anything nor create a new method. Below we'll see some quick examples of how to compare two strings or char pointers by case-insensitive in C++ - but I already must say: it's very simple.

Comparing strings:
#include <strings.h>
#include <string>

string var1 = "goal", var2 = "boal";
if (strcasecmp(var1.c_str(),var2.c_str()) == 0) {
    cout << "This will NOT print" << endl;
} else {
    cout << "This will print." << endl;
} 

Comparing char pointers:
#include <strings.h>

char* var1 = "goal", var2 = "boal";
if (strcasecmp(var1,var2) == 0) {
    cout << "This will NOT print" << endl;
} else {
    cout << "This will print." << endl;
} 

The comparision of equals 0 is needed because strcasecmp returns an integer, so if the returned integer is equals to zero, the chars / strings are equal. Any different value from zero indicates that the strings are different.
You can find the documentation here: http://man7.org/linux/man-pages/man3/strcasecmp.3.html

Thanks!
Fernando Paladini.

[TUTORIAL] Como desinstalar / remover pacotes .RPM no Fedora?

[Tutorial] Como remover ou desinstalar pacotes RPM do Fedora?

Você é um usuário novo no Fedora ou apenas esqueceu de como se removem pacotes RPM do seu sistema? Então você veio ao local certo: vamos aprender a desinstalar pacotes RPM do Fedora rapidamente. 

Antes de mais nada precisamos saber o nome completo do pacote que queremos remover. Para isso digite o seguinte comando no Terminal (CTRL+ALT+T):
rpm -qa | grep -i nomeDoPrograma
Isso te retornará todos os pacotes que tem esse nome. Para desinstalar ou remover um pacote RPM em específico basta digitar:
rpm -e nomeCompletoDoPacote
Exemplo real:
Quero remover o Mozilla Firefox, mas não sei o nome do pacote completo. Pesquiso por ele:
[paladini@pet01 ~]$ rpm -qa | grep -i firefox
firefox-33.0-1.fc20.x86_64
Agora que sei o nome do pacote, já posso deletar:
[paladini@pet01 ~]$ rpm -e firefox-33.0-1.fc20.x86_64
E pronto, terminamos o nosso tutorial! Bem simples, não? Quaisquer dúvidas, podem utilizar os comentários.

Fernando Paladini.

[Tutorial] Como ativar o clique do touchpad no GNOME

[Tutorial - Fernando Paladini] Como ativar o clique do touchpad no GNOME

O Gnome é sem sombra de dúvidas uma das interfaces gráficas mais utilizadas nas distribuições Linux. Um pequeno "problema" que pode atrapalhar alguns usuários de notebook que usam o Gnome é uma configuração que bloqueia o uso do clique do touchpad.

Essa função, de grande importância para muita gente, já vem desabilitada por padrão na interface Gnome. Se você deseja ativar o "click" no touchpad, esse tutorial é para você. 

O Tutorial

Passo 1 - Abra a sua tela de configurações:
[Tutorial - Fernando Paladini] Como ativar o clique do touchpad no GNOME

Passo 2 - Clique em "Mouse & Touchpad", então uma nova janela será aberta:
[Tutorial - Fernando Paladini] Como ativar o clique do touchpad no GNOME
 
Passo 3 - Na caixinha onde está escrito "Tap to click", clique para deixá-la marcada / selecionada:
[Tutorial - Fernando Paladini] Como ativar o clique do touchpad no GNOME

E pronto, o seu touchpad agora já tem a função de clique! 

Se tiver alguma dúvida, sugestão ou crítica, fique a vontade para utilizar a seção de comentários logo abaixo, cada uma será lida!

[Tutorial] Como ativar o clique no botão do meio (scroll) do mouse no Fedora / Ubuntu / Gnome

Você é um dos que está totalmente acostumado a utilizar o "clique no botão do meio do mouse" para algumas tarefas simples, como abrir links em outras abas, colar conteúdo copiado e fechar abas do navegador? 

Se sim, conhece o grande problema que é não ter essa ferramenta disponível no seu dia-a-dia, o custo que é para se adaptar. Se você não consegue utilizar o "clique no scroll do mouse" no seu Fedora, Ubuntu ou qualquer outra DISTRO que tenha como interface o Gnome, saiba que aqui você vai encontrar a solução.

Depois de muito pesquisar na Internet, achei uma solução simples que precisa de apenas uma linha de comando no Terminal. O comando a seguir deve ativar o clique no botão do meio do mouse.  Abra o seu Terminal (Ctrl + Alt + T) e digite o seguinte comando:

gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true

 Espero que isso tenha solucionado o seu problema, caso não, sinta-se à vontade para perguntar nos comentários. Se te ajudou, também deixe um comentário de incentivo :) 

Obrigado!

[Tutorial] How to install the unaccent extension for PostgreSQL 9.3

[Fernando Paladini] [Tutorial] How to install the unaccent extension for Postgresql 9.3

Sometimes you need to "unaccent" words, phrases or long texts, but how can you do that using a database? PostgreSQL, the "world's most advanced open source database" provide a nice solution to this common problem: the unaccent extension. 

Our point is not to show you how to use the unaccent extension, but how to install it. If you already know how to install this extension, you can read the official documentation of unaccent extension here

If you're receiving one of these errors:

ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/unaccent.control": No such file or directory
ERROR: could not open extension control file "/usr/share/postgresql/9.3/extension/unaccent.control": No such file or directory
This tutorial is for you. Now let's solve this thing once. 

How to install unaccent extension for PostgreSQL 9.3:

Ubuntu / Debian:
sudo apt-get install postgresql-contrib
Fedora:
yum install postgresql-contrib
CentOS:
sudo yum install postgres*contrib
I hope this solves your problem. If this not helps, please let me know through the comments below. Otherwise, I'm waiting for feedback in the comments too :)

Thanks!

[Tutorial] Instalar Afinador de Violão e Guitarra no Ubuntu 14.04

[Tutorial] Instalar Afinador de Violão e Guitarra no Ubuntu 14.04

Você toca algum instrumento como Violão e Guitarra e está com problemas para achar um afinador para Ubuntu? Neste pequeno tutorial pretendo mostrar como instalar um ótimo afinador para violão e guitarra no seu Ubuntu, seja o Ubuntu 14.04 LTS ou anteriores. 

Vou ensinar você a instalar o Lingot, um dos afinadores de violão e guitarra mais usados no Ubuntu. Será bem rápido e simples, para instalar basta abrir o seu terminal (Ctrl + Alt + T) e então digite o seguinte: 

sudo apt-get install lingot

Pressione a tecla "Enter" e então apenas insira sua senha e aguarde a instalação ser concluída. Depois disso basta abrir o aplicativo no seu Dashboard (lembrando, o programa se chama "Lingot") e ser feliz com o seu violão afinado!


[Tutorial] Lingot, um afinador de Violão e Guitarra para Ubuntu

Espero que aproveite o seu novo afinador e antes que eu me esqueça, boas cifras!

[Tutorial] Como enviar e-mails no Rails utilizando Sendgrid e Heroku

[Tutorial] Como enviar e-mails no Rails utilizando Sendgrid e Heroku

Recentemente tive que implementar um sistema de envio de e-mails em um projeto que tenho trabalhado e como sou iniciante em Ruby on Rails senti certas dificuldades. Por isso criei esse pequeno guia onde você vai aprender como enviar e-mails no Rails utilizando o Heroku e a gem Sendgrid

Antes de mais nada, tenha o seu projeto já online no Heroku. Você provavelmente já deve ter feito isso, então vamos para o primeiro passo.

1º Passo - Abra o terminal e navegue até a pasta do seu projeto. Feito isso, adicione o Sendgrid ao seu projeto:
heroku addons:add sendgrid:starter

2º Passo - Para testar se o Sendgrid foi adicionado com sucesso ao Heroku, digite no terminal o comando abaixo. Se retornar algo, então está tudo certo.
heroku config:get SENDGRID_PASSWORD

3° Passo - No arquivo "config/environments/production.rb" adicione as seguintes linhas:
ActionMailer::Base.smtp_settings = {
    :address => ‘smtp.sendgrid.net’,
    :port => ’587′,
    :authentication => :plain,
    :user_name => ENV['SENDGRID_USERNAME'],
    :password => ENV['SENDGRID_PASSWORD'],
    :domain => ‘heroku.com’
}
ActionMailer::Base.delivery_method = :smtp

Com a configuração atual, você só poderá testar o envio de e-mails na Produção, ou seja, no Heroku. Isso porque as variáveis ENV estão configurados somente no Heroku, não no seu localhost. Se você acha melhor testar no seu localhost antes de enviar para o Heroku, siga o próximo passo (depois dos testes iniciais, é bom remover a configuração descrita no passo abaixo).

4º Passo - No arquivo "config/environments/development.rb" adicione as seguintes linhas:
ActionMailer::Base.smtp_settings = {
    :address => ‘smtp.sendgrid.net’,
    :port => ’587′,
    :authentication => :plain,
    :user_name => "substituir_aqui",
    :password => "substituir_aqui2",
    :domain => ‘heroku.com’
}
ActionMailer::Base.delivery_method = :smtp

5° Passo -Digite os seguintes comandos no Terminal. O texto em negrito deve ser substituído por eles.
heroku config:get SENDGRID_USERNAME #=> O que retornar, coloque em "substituir_aqui".
heroku config:get SENDGRID_PASSWORD #=> O que retornar, coloque em "substituir_aqui2".

Agora você deve adicionar um ActionMailer, que é um modulo padrão do Rails que serve para enviar e-mails. Não vou falar muito sobre o ActionMailer aqui, só vou usar um exemplo simples. Para saber mais sobre ActionMailer, veja isso e isso.

6° Passo - Adicione um ActionMailer para quando um novo usuário se registra no site, por exemplo:
rails g mailer UserMailer

7º Passo - No arquivo gerado em "app/mailers/user_mailer.rb", adicione o seguinte método (substitua por um e-mail seu, para testar se está funcionando):
def novo_usuario
    mail(:to => “seu@email.com”, :subject => “Bem vindo ao meu site!”)
end

8º Passo - Agora precisamos testar e ver se está tudo funcionando. Entre no "Rails Console" digitando "rails c" no terminal e então coloque:
UserMailer.novo_usuario.deliver

Em instantes você deve receber uma mensagem no seu e-mail com o assunto "Bem vindo ao meu site!". E pronto, finalizamos! Agora basta você aprender a usar o ActionMailer e seja feliz!

Quaisquer comentários são bem vindos, se não tem nada para comentar, então curta no Facebook ou retweet.

[Tutorial] Como instalar o Image Magick no Ubuntu

[Tutorial] Como instalar o Image Magick no Ubuntu

Tenho trabalhado em um projeto open-source chamado BTC-Stores, o primeiro diretório Bitcoin open-source do mundo, e durante seu desenvolvimento tenho enfrentado diversos problemas. O mais recente dos meus problemas é com a biblioteca (ou "gem") Paperclip, e especificamente com um programa que ela usa internamente: o Image Magick.

Aqui vou ensinar rapidamente como instalar o Image Magick no Ubuntu, o que vai resolver todos os seus problemas. 

1º Passo: Abra o seu "Terminal" e digite os seguintes comandos, em ordem:
sudo apt-get install aptitude
sudo aptitude install libperl-dev
sudo aptitude install libmagickwand-dev
sudo aptitude install libmagickcore-dev libmagick++-dev

2º Passo: Após rodar todos esses comandos no Terminal, faça o download do Image Magick mais recente clicando aqui

3º Passo: Vá ao Terminal e navegue até a pasta que você baixou o Image Magick. Chegando nela, digite os seguintes comandos, em ordem:
tar xvzf ImageMagick.tar.gz
cd ImageMagick-6.8.8 
./configure 
make
sudo make install
sudo ldconfig /usr/local/lib
Pronto, você acabou de instalar o Image Magick no Ubuntu! Para saber aonde ele foi instalado, digite o seguinte comando no Terminal:
which convert
O console irá imprimir na tela o local em que o Image Magick foi instalado acrescido do "/convert" no final. 

Qualquer dúvida ou comentário, a seção de comentários existe para isso (:

[Tutorial] Rails 4 - Como renomear Rotas REST da URL

Recentemente criei um novo projeto em Rails 4 e estou quebrando um pouco a cabeça com as grandes mudanças sofridas neste fantástico framework. 

Alguma vez você já deve ter criado algum modelo com determinado nome e se arrependeu disso depois, pois a URL não condizia com o conteúdo das páginas. Imagine você tendo um agregador de links, faria sentido ter uma URL como a seguinte?
http://www.meusite.com/items/1

Provavelmente não, mas felizmente o Rails fornece uma grande opção para você renomear as suas rotas REST da URL. Nesse caso, no seu arquivo routes.rb teria algo como:
resources :items

Caso você queria renomear todas as suas Rotas para algo da sua escolha é muito fácil:
resources :items, :path => "links"

Agora teremos uma nova URL para a mesma Rota:
http://www.meusite.com/links/1

Muito simples, não? Esta postagem foi baseada nesta pergunta do Stack Overflow

[Tutorial] Como instalar impressoras HP no Ubuntu / Linux


[Tutorial] Como instalar impressoras HP no Ubuntu / Linux (HP Device Manager - HPLIP)

Você tem uma impressora HP e está tendo problemas para conectá-la com seu computador que roda algum sistema operacional baseado no Linux? Neste pequeno tutorial você vai aprender a instalar o "HP Device Manager" no seu Ubuntu, Linux Mint, Elementary OS, Fedora, SUSE, Debian e outras distribuições Linux. Vamos usar o HPLIP OpenSource para isso.

Seguindo este tutorial você conseguirá instalar os drivers da sua impressora HP e rodar o programa da sua impressora (conhecido como HPLIP) em praticamente qualquer distribuição Linux. 


[Tutorial] Como instalar impressoras HP no Ubuntu / Linux (HP Device Manager - HPLIP)

Antes de mais nada, verifique se a sua impressora HP é suportada pelo HPLIP OpenSource. A grande maioria das impressoras HP é suportada, mas é bom verificar para ter certeza.

1º Passo: Baixe os arquivos necessários:
cd ~/Downloads && wget http://prdownloads.sourceforge.net/hplip/hplip-3.15.11.run

2º Passo: Execute o arquivo:
sudo sh ~/Downloads/hplip*.run
Agora siga o guia da instalação e vá respondendo as perguntas necessárias. A instalação é muito simples, basta seguir todas as instruções - mas caso você tenha dúvidas, sinta-se a vontade para perguntar.

Depois de todos os procedimentos, eis que podemos usar o HPLIP no Linux:


[Tutorial] Como instalar impressoras HP no Ubuntu / Linux (HP Device Manager - HPLIP)

Este tutorial foi útil para você? Não se esqueça de nos ajudar dando +1 na página! Qualquer dúvida ou agradecimento, use os comentários abaixo :)

[Tutorial] Resolvendo 'An upgrade from 'luna' to 'precise' is not supported with this tool.'


Se você é usuário do novíssimo Elementary OS talvez já se tenha deparado com algumas instabilidades desse novo sistema operacional. Mas claro, ele é tão lindo que você não larga ele por nada no mundo, assim como eu.

Neste pequeno tutorial vou mostrar como resolver um erro que me perturbou por muito tempo:

An upgrade from 'luna' to 'precise' is not supported with this tool.

Esse erro acontecia toda vez que eu ia atualizar o sistema e seus pacotes através do "Update Manager", o que me deixava muito irritado. Abaixo são os erros que eu recebia:

Elementary OS: "An upgrade from 'luna' to 'precise' is not supported with this tool."

Elementary OS: "An upgrade from 'luna' to 'precise' is not supported with this tool."

O seu problema é o mesmo que acima, ou ao menos similar? Se for, vamos resolver!

1º Passo - Abra o seu Terminal apertando "Ctrl + Alt + T".
2º Passo - Digite os seguintes comandos, na ordem que estão:
sudo apt-get update
sudo apt-get dist-upgrade

Pronto, agora o seu problema provavelmente deve ter sido resolvido! Se você ainda continua com o erro "An upgrade from 'luna' to 'precise' is not supported with this tool." ou tem outro, poste nos comentários para que eu possa ajudá-lo. 

[Tutorial] Como importar arquivos JavaScript usando JSF

Se você é um viajante de primeira viagem e está tentando usar JSF com suas páginas HTML pode estar tendo muitas dúvidas. Mas não se preocupe, dúvidas são comuns, mas com o tempo e a experiência elas vão diminuindo progressivamente.

Durante a conversão das suas tags HTML4 ou HTML5 para JSF podem acontecer alguns problemas e para prevenir isso é bom utilizar as tags JSF sempre que possível. Neste tutorial vamos aprender a importar os nossos arquivos JavaScript utilizando o JSF 2.0 (versões posteriores também deve funcionar).

Atualmente o seu projeto deve se parecer com algo como:
|-- WebContent
   |-- images
   |-- js
   |-- web-inf
   |-- meta-inf

Crie uma pasta "resources" dentro da pasta "WebContent". Após isso, jogue os seus arquivos JavaScript (.js) dentro da pasta "resources". Assim o JSF vai conseguir localizar os arquivos sem chiar. 

Seu projeto deverá estar similar a isso agora:
|-- WebContent
   |-- images
   |-- resources
      |--js
   |-- web-inf
   |-- meta-inf

Esse é o código padrão para chamar um arquivo JavaScript externo em HTML:
<script type="text/javascript" src="nomeDoArquivo.js" />
Você deve trocar esse comando por:
&lth:outputscript library="js" name="nomeDoArquivo.js">
</h:outputscript>
Pronto, agora já sabemos como importar arquivos JavaScript utilizando JSF. Ficou alguma dúvida sobre o tutorial, está com problema, algo pode melhorar?