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.
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.
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.
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!
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!
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.
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 (:
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:
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.
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:
<h: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?