terça-feira, 21 de maio de 2013

Removendo programas indesejados do seu browser

No último artigo falei sobre como evitar a instalação de programas indesejados como barra de tarefas em seu navegador. Neste falarei sobre como remover esses programas, caso já tenham sido instalados. Para testar e demonstrar instalei um programa clicando em sim para todos os programas que pediam pra instalar. Espero que eu não me arrependa. :(

Pra começar, só pra terem uma ideia segue uma imagem do meu browser depois da instalação. Circulei ou marquei em vermelho os pontos que indicam os softwares adicionais instalados:


Mostrarei como remover esses softwares e configurações no Chrome e no Internet Explorer, mas em outros browers o processo é semelhante. Sugiro, porém, que você utilize o Chrome, pois além de, na minha opinião, ser mais fácil de usar e ter uma interface mais limpa que o IE, é mais fácil de remover os complementos.

Complementos de navegador

Um complemento é uma ferramenta que é adicionada ao seu navegador para executar alguma tarefa adicional. Alguns complementos podem até ser úteis, mas esses instalados automaticamente geralmente só substituem o mecanismo de busca, mostram propagando ou recolhem informações do seu computador. Felizmente, os navegadores atuais fornecem um meio fácil de remover esses complementos. No Chrome( ), clique no botão com 3 faixas localizado no canto superior direito do navegador. No menu que aparecerá vá na opção "Configurações", como mostra a figura ao lado. 
Ao clicar no item Configurações, aparecerá a tela abaixo. No lado esquerdo, há uma lista de opções, entre elas a opção "Extensões". Ao clicar nessa opção será exibida uma lista das extensões. É aí que estão os principais programas instalados indevidamente. Para cada extensão você tem duas opções: Desativar ou Remover. A primeira, acionada clicando no campo "Ativada", para desmarcar, desativa a extensão mas não a remove, permitindo ativá-la novamente se necessário. Essa opção é interessante no caso de você não ter certeza se a extensão deve ou não ser removida. Desative-a, e se perceber que a extensão era algo que você realmente utilizava, é só reativar. 
A segunda opção, acionada clicando no ícone de lixeira, remove a extensão permanentemente do navegador. É o ideal para quando se tem certeza que a extensão é indesejada.



No IE (Internet Explorer) (), o procedimento é semelhante, mas com algumas diferenças. O botão para acionar o menu, está na mesma posição que no chrome, mas o ícone é uma engrenagem, e o item de menu é "Gerenciar Complementos".
A tela que irá aparecer irá listar os complementos e você poderá desabilitar os complementos que quiser. Basta clicar no complemento e clicar na opção desabilitar que aparecerá na parte de baixo da tela. No teste que eu fiz, alguns complementos eu não consegui desabilitar, mas há uma forma de remover o complemento, que falarei adiante. 

Configurações

Além de instalar esses complementos, esses programas costumam alterar algumas configurações básicas do navegador, como a página inicial (página que é aberta assim que se abre o navegador), e os mecanismos de pesquisa (site de busca usado quando se pesquisa um termo direto pelo barra de endereços do browser. Para restaurar essas opções no Chrome, vá na mesma opção "Configurações", mas dessa vez a página é a inicial, "Configurações":
 A primeira opção destacada na página anterior permite escolher a página inicial. Você pode escolher abrir a página Nova guia, do Chrome, que mostra os últimos sites visitados, ou escolher uma página específica. Muitos programas mudam a página inicial para a página do programa.
Na opção de pesquisa, você pode escolher qual site de busca será utilizado quando pesquisar um termo usando a barra de endereços do Chrome. Sugiro que escolha o Google, pois atualmente não vejo um mecanismo de pesquisa que consiga concorrer com ele. No botão "Gerenciar mecanismos de pesquisa..." é possível até excluir os demais mecanismos da lista.

No IE, use o mesmo botão com ícone de engrenagem, mas vá no item "Opções da Internet". Na primeira página ("Geral"), haverá a opção home page. Na imagem ao lado, você pode ver que a página inicial foi alterada para a da Ask toolbar. Coloque aqui a página que deseja usar de página inicial (Ex: www.google.com.br) e clique em OK.
Para alterar o mecanismos de pesquisa no IE, vá na opção "Gerenciar Complementos" (Veja como um pouco acima no artigo). Lá há uma opção "Provedores de pesquisa". Antes de desabilitar o provedor atual, é preciso definir um novo provedor de pesquisa padrão. Selecione o provedor desejado e clique em "Definir como padrão". Em seguida, clique no outro mecanismo de pesquisa e clique em remover.

Desinstalando os programas

Após executar os comandos acima, será necessário mais um passo para remover completamente os programas. Clique no botão iniciar do Windows, e vá ao Painel de controle. Dependendo da versão do seu windows, aparecerá um ícone "Adicionar ou Remover programas". Se aparecer um campo para digitação no canto superior direito da tela escrito "Pesquisar Painel de Controle", digite "Remover programas". Um dos primeiros resultados que aparecer será "Adicionar ou remover programa". Clique nessa opção.
A tela pode ser usada para remover um programa qualquer do programa, não apenas esses complementos. Talvez a lista de programas demore um pouco para exibir todos os itens. Selecione o programa que deseja remover (cuidado para não remover o programa errado). Uma dica é anotar os nomes dos complementos nas etapas anteriores para encontrá-los aqui. Após selecionar o programa, clique na opção "Desinstalar" e siga os passos na tela. Geralmente é só clicar em "Avançar" ou "Next" até o término da desinstalação.
Segue alguns exemplos de programas que podem ser removidos: 
  • DealPly
  • Ask Toolbar
  • FindLyrics
  • Hotspot Shield 2.84

Termino o artigo por aqui, espero que essas instruções possa te ajudar. Qualquer dúvida ou comentário, deixe uma mensagem nos comentários que tentarei ajudar. Seria legal também colocarem uma lista de nomes de complementos como o que citei acima, que atualizo o artigo com a nova lista. 



sexta-feira, 15 de fevereiro de 2013

Dicas para a Internet - Instalação de programas (Parte 1)

Estou escrevendo esse artigo pois sempre que vejo o computador de alguém que não tem muita experiência com Internet, está cheio de programas estranhos, barras de ferramentas e outras coisas, baixadas muitas vezes sem saber ao se instalar algum programa de internet. Sempre dou umas dicas para a pessoa, de como evitar isso, então achei melhor unir essas dicas nesse artigo. A idéia original era escrever um artigo com várias dicas, mas a primeira delas já ficou grande o suficiente para um artigo sozinho, então acho que vou escrever uma série de artigos, fica mais fácil de ler do que tudo acumulado em um só.

Essa ainda não é uma tentativa de ressuscitar meu blog. Este costumava ser um blog de programação que tentei fazer. Não passou de umas poucas postagens, mas pretendo retomá-lo algum dia. Estou usando ele apenas por ser uma ferramenta mais adequada para distribuir esse artigo. Pelo menos é melhor que passar um arquivo do PowerPoint, não?

A primeira dica diz respeito à instalação de programas gratuitos baixados da Internet. A maioria desses programas são gratuitos porque estão associados a algum patrocinador, que instala junto com os programas alguma barra de ferramenta ou até mesmo muda a página de busca do navegador. Essas modificações são opcionais, mas estão marcadas por padrão, ou seja, se o usuário não desmarcar, serão instaladas.

Para dar um exemplo, baixei um programa chamado "aTube Catcher". É um programa que baixa um vídeo do Youtube para um arquivo no seu computador. O programa até é bom, mas é preciso tomar cuidado ao instalar. Logo nas primeiras telas do instalador aparece isso:




Como você pode ver, o programa oferece duas "opções de instação", mas na verdade a primeira instala um desses programinhas que citei. Veja o que diz o texto, traduzido para o português:

Instalação padrão
Iminent - Faça o download de milhares de smileys divertidos, animações e jogos para redes sociais e programas de mensagem instantânea. Personalize sua HomePage com o "Iminent SearchTheWeb". Obtenha novos conteúdos semanais graças à publicidade nas páginas que você navega."
Ou seja, esse programa muda sua HomePage (A página que abre quando você inicia seu navegador), muda a página de pesquisa, de forma que quando você usar a função de pesquisa do navegador, ao invés de pesquisar no google, irá pesquisar no site deles. E ainda adiciona uma barra de ferramentas que ficará mostrando propaganda para você. Nem preciso dizer que é melhor não instalar essa opção. Clique no botão "Custom Installation" (Instalação personalizada) então, e foi isso que me apareceu:

Não irei traduzir cada opção, mas as opções são o que foi dito no texto anterior: Instalar a toolbar, mudar a página inicial e mudar o mecanismo de pesquisa. Desmarquei todas as opções. O programa ainda me mostra mais uma tela de confirmação (Esse programa é chato, hein? ) :
O que a mensagem diz é, em uma tradução bem meia boca, que o "Iminent Toolbar" é um aplicativo muito legal .. bla bla. " O Importante é a última mensagem: "Click OK to install the Iminent Toolbar", ou seja, se você clicar em OK, IRÁ instalar a Toolbar. Cliquei em Cancelar.

Achei que tinha terminado, e finalmente ia instalar o programa que eu queria, mas qual foi a minha surpresa quando me aparece outra tela:



Não sei falar Italiano, mas acredito que é só desmarcar a opção que marquei em vermelho para não instalar esse programa também.

Depois que desmarquei esse, parece que finalmente instalou o programa que eu queria. Começou a copiar os arquivos e instalar...Oops, Mais uma :


Bom, nem preciso dizer, né? Demarque tudo. Em seguida apareceu mais uma tela, mas não vou colocar aqui, o procedimento é o mesmo, desmarque todas as opções.

Viram? Se eu não tivesse me atentado, ia instalar uma batelada de programas indesejados no meu computador. Esses programas não são vírus, mas também não servem pra nada, e podem deixar seu computador mais lento, além de ficar mostrando um monte de propagando inútil. Sinceramente, a minha vontade era de desistir de instalar o programa, já estava me enchendo.

A mensagem final é: você até pode baixar programas e instalá-los, mas cuidado ao instalar. Fique de olho nessas opções. Se você não sabe inglês, é só desmarcar as opções , principalmente se tiverem a palavra "toolbar" nelas. Pergunte a alguém que saiba, ou até mesmo use o Google translator.

No próximo artigo vou mostrar como identificar se esses programas já estão instalados no seu computador, e como removê-los.


quarta-feira, 6 de fevereiro de 2008

[Off-Topic] Português correto

Eu sei que português e gramática eram matérias chatas na escola (pelo menos eu achava..rs), e que ficar estudando todas aquelas regras de ortografia era chato pra caramba, mas escrever corretamente é fundamental.

Sim, esse blog é de programação, mas resolvi escrever sobre isso pois, de vez em quando, nos fóruns e grupos de discussão que participo vejo mensagens como essa :

"Pessoal meu projeto sumiu tudo que tinha nele de visual ficando com essatela em todos mas compila e roda beleza sem problemas mas se preciso alteraralguma form nao da"


Se o autor da mensagem ler esse post, por favor, não se ofenda. Veja como uma crítica construtiva, ok? :) se você tivesse escrito melhor, poderia ter obtido mais respostas. E não estou me referindo apenas à sua mensagem, usei-a como exemplo, mas esse tipo de problema é bem comum na internet.

Depois de ler algumas vezes, até entendi alguma coisa, mas qualquer um com menos paciência vai descartar o email na primeira leitura, e quem mandou a mensagem vai ficar sem ajuda.

Não é preciso usar uma linguagem rebuscada, mas alguns cuidados com o texto podem melhorar o entendimento de quem lê, e no caso de uma mensagem em um fórum, fazer com que você obtenha ajuda mais facilmente. Vou deixar três dicas que podem ajudar.

  • Use pontuação. Em um texto muito grande, sem vírgulas nem ponto, não dá pra entender nada. Fica parecendo aquelas mulheres de alguns filmes que falam chorando e sem nenhum pausa e você não entende nada :).
  • Não escreva como você fala. Quando você está falando, existem uma série de fatores que não estão presentes na escrita, como entonaçao da voz, pausas e tons irônicos. No texto escrito, deve se escrever de forma que seu leitor o entenda.
  • Leia seu texto. Muitos erros e problemas podem ser corrigidos apenas com uma leitura do que você escreveu.

quarta-feira, 23 de janeiro de 2008

Enviar email pelo .Net

No framework 2.0 para cima, você pode usar a classe SmtpClient para enviar um email em sua aplicação. Veja o código abaixo:

// Cria o cliente Smtp passando o endereço e porta do host
SmtpClient client = new SmtpClient();
client.Host = "smtp.seusitedeemail.com.br";
client.Port = 25;


// Passa o usuário e a senha se o servidor SMTP requer autenticação
client.Credentials = new NetworkCredential("usuario", "senha");



// Cria a mensagem a ser enviada
MailMessage msg = new MailMessage();
msg.From = new MailAddress("fulano@email.com.br", "Fulano");
msg.To.Add(new MailAddress("email1@provedor.com.br", "Destinatário 1");
msg.To.Add(new MailAddress("email2@provedor.com.br", "Destinatário 2");


msg.Subject = "Assunto da mensagem";
msg.Body = "Corpo da mensagem";



client.Send(msg);




P.S: Se estiver usando o framework 1.1, tente esse link :

http://msdn2.microsoft.com/en-us/library/system.web.mail.smtpmail(VS.71).aspx

Nunca usei essa classe, mas parece atender às necessidades.




sábado, 19 de janeiro de 2008

DataReader vs Dataset

Lá vai eu mais uma vez tentar ressuscitar esse blog. Vamos ver se dessa vez eu consigo :)

Um tema clássico em artigos sobre .Net é a rapidez do DataReader em comparação com o Dataset carregado por um DataAdapter. Isso realmente é verdade, mas não significa que você deva substituir todos os Datasets de sua aplicação por datareaders. Dependendo da forma que está utilizando o DataReader, ele pode ter a mesma performance que um DataSet*.

Primeiro é preciso entender porquê o DataReader é mais rápido que um DataSet*. A vantagem do DataReader consiste no fato de não precisar carregar todo o conteúdo da tabela em memória, e de retornar os registros à medida que são disponibilizados pelo banco.

Quando se usa o DataSet*, todos os registros retornados são carregados em memória, para depois serem processados. Já o DataReader carrega na memória apenas o registro atual, diminuindo assim os custos de memória da aplicação. Dessa forma, porém, não é possível acessar registros anteriores.

Outra vantagem é que o DataReader retorna os registros coforme forem sendo disponibilizado pelo banco, enquanto o DataSet aguarda o término da execução da procedure para prosseguir a execução, ou seja, a aplicação ficará parada enquanto isso.

Entretando, se você estiver usando o DataReader para ler todos os registros do banco e carregá-los na memória (Que é exatamente o que o DataAdapter faz, pois ele usa um DataReader) para então processá-los, estará anulando as duas vantagens do DataReader. Nesse caso seria melhor usar um DataSet, que teria a mesma performance e requeriria menos código.

Ou seja, um DataReader só será vantajoso se você carregar na memória apenas um registro de cada vez, e processar os registros um a um, conforme os ler do DataReader.

* - Sempre que eu mencionar o DataSet nesse artigo, como em "performance do DataSet", entenda que estou falando não só do DataSet, mas do processo de usar um DataAdapter para carregar os registros do banco em um DataSet.

sexta-feira, 14 de setembro de 2007

Um Try..catch em cada método

Muitos desenvolvedores acham que o ideal é colocar um try...catch em todo método. É comum ver blocos assim :

try
{
{Código}
}
catch(Exception ex)
{
throw ex;
}

No exemplo acima, o try .. catch é inútil, pois o efeito seria exatamento o mesmo, caso não se usasse try.. catch. Nos dois casos, quando um erro ocorresse, esse erro seria lançado para o método superior, a diferença no caso do exemplo acima é que o erro seria lançado duas vezes, uma na origem do erro e outra no comando throw ex.

A própria Microsoft recomenda que o catch seja utilizado apenas quando alguma coisa for feita com a exceção, ou seja, quando a presença do try..catch fizer alguma diferença. Caso contrário será uma sobrecarga desnessária.

Concordo que seja necessário tratar todos os erros, mas isso não precisa ser feito em todas as funções, se você tratar o erro nas funções principais, os erros das subrotinas também serão capturados.

segunda-feira, 27 de agosto de 2007

Classe ReadOnlyCollection

Recentemente tive um problema que outros já podem ter tido.

Tinha uma classe com uma coleção (List<>) private que queria disponibilizar, mas queria que quem utilizasse a classe pudesse apenas ler o conteúdo da lista, sem alterá-la. Se eu simplesmente colocasse uma propriedade pública com a lista, ia permitir que alguém adicionasse ou removesse elementos dela.

Entre outras soluções que pensei para isso, descobri uma classe que ajuda bastante. A ReadOnlyCollection. Ela é na verdade um Wrapper para uma coleção. Vamos supor que você tem uma lista de string na sua classe:

private List _linhas;

Para publicá-la como somente leitura , use :

public ReadOnlyCollection Linhas
{
get { return new ReadOnlyCollection (_linhas); }
}

Vale lembrar que esse método não duplica o conteúdo da lista. Como a classe é apenas um wrapper, qualquer alteração no conteúdo da lista será refletida no objeto ReadOnlyCollection já criado.