Archive for Dicas

Quero aprender programar. E agora José?

Já estava planejando este post a um bom tempo, mas devido à alguns contra tempos e preguiça para abordar o assunto, acabei deixando de lado.

Parece coisa até de destino, MAS… Hoje, já estava programado em meu cronograma/horário no sunbird, uma galerinha no #archlinux-br do IRC, estavam falando sobre o assunto. Pois bem, aí vai a minha opinião, que para a maioria não vale de nada. HUhUHUhuHuhUhUHuhUhUH!!!!!!!!!!!

Não tem problema, mesmo assim vou falar.

Inicialmente a pessoa que hoje quer aprender a programar, tem que ter em mente é: Aprender L-Ó-G-I-C-A!

É isso mesmo, lógica de programação, pois sem isso não vai sair do canto. Independente disso, alguns tentam sempre falar, “Ah, usa python”, outros “que python que nada, vai de java” e os mais afoitos (como eu), “vai de C, C é o poder”! Se olharmos bem a situação, chega a ser engraço. 😉

Sendo que muitas vezes você só vai aprender a programar, ou seja, aprender a lógica da “coisa”, pegando uma linguagem e “caindo pra dentro”. Um passo importante é sempre ater-se aos conceitos de programação e aos da linguagem diferenciando um do outro. Isso só vai acontecer estudando.

Contudo, para iniciarmos essa jornada é preciso pegar várias literaturas e ler, ler muito, além disso é claro, PROGRAMAR, E MUITO.

Tenha sempre em mente que uma boa literatura, para aqueles que querem aprender a programar é claro, tem abordar desde o início, do básicão, o que são dispositivos de E/S e outras coisinhas, estimular você a pensar!

Outra coisa, não adianta eu, você, o fulaninho que manja de php, ou de python, ou de java ficar indicando a linguagem preferida, pois nem sempre vai dar certo, você vai acabar não gostando da linguagem e vai acabar pegando desgosto por programar (como acontece na velha briga das distros). Antes de mais nada leia sobre as linguagens, tenha em mente o que você quer fazer quando se está programando. Assim fica mais fácil de obter resultados e começou não pare no meio do caminho, termine.

Uma dica sobre o que falei acima é ler o livro “Concepts of Programming Languages”, dica passada pelo Robson Peixoto no #archlinux-br.

Então, aqui vão algumas sugestões de literatura (não vou comentar sobre elas) para C, Shell Script e Java. Não vou postar sobre Python, PHP e muito menos sobre Ruby on Rails, pois não procurei nada sobre essas coisas, se algum leitor tiver algo, pode comentar aqui.

C:

1. Aprendendo a programar programando em linguagem C;
2. Curso de C da UFMG;
3. C Completo e Total;
4. The C Programming (ANSI C);
5. The C Book (Esse livro tenho em pdf perdido nos arquivos, mas tinha lido algumas páginas e achei interessante).

Shell Script:

1. Shell Script Profissional;
2. Programação Shell Linux;
3. Bash Guide for Beginners;
4. ABS (Advanced Bash-Scripting Guide).

Java:

1. Java: Como Programar.

Bom, acho que por enquanto é só… E mais um recado, depois que aprender a programar aprenda sobre Engenharia de Software, não seja mais um ‘POG’ramador.

UPDATE:

Dica passada pelo Estevão: uma dica interessante pra quem tá começando tb… é ler código, ler muito código e pensar em programação como solução de problemas, imaginar um problema, bolar uma solução, escrever no papel, visualizar bem a coisa, e depois implementar…

UPDATE 2:

Dica passada pelo Rodrigo Flores: Saber lógica e algoritmos, estuda o Sedgewick ou o Cormen. E resolver problemas de olimpíadas de programação, a linguagem seja C, Java, Cobol, Ada, Fortran, Haskell é o de menos.

A coisa tá ficando boa… Valeu ao pessoal que tá passando mais informações sobre o assunto.

Microsoft keyboard Elite Bluetooth

Bom dia,

Já tem um tempinho que não escrevo nada aqui, estava planejando postar umas dicas para iniciantes sobre como comecar a programar, dizendo quais livros, tutoriais, aulas que podemos encontrar por ai, são bons para entender os conceitos básicos (da programacão e da linguaguem que ele pretende aprender) e a syntax. Mas vai ficar para depois…

Agora vamos ao post realmente… Como tenho 2 mouses Microsoft, e estou gostando muito, resolvi comprar um teclado MS também. Um amigo tem alguns contatos e pedi a ele um teclado que fosse confortável e bom, para usar diariamente e dar aquela jogadinha no bom e velho CS.

Acabei pegando um “Microsoft keyboard Elite Bluetooth”. Quando peguei pensei, “como vou fazer pra esse infeliz funcionar no Arch também?”. Até que foi simples, veja como foi…

Vou precisar do dbus, bluez e bluez-hcidump instalados, como já tenho o GNOME instalado, consequentemente já tinha o dbus, mas não tinha o bluez, ou pelo menos, não sabia que tinha.

# pacman -Sy bluez bluez-hcidump

Vai retornar um “reinstall package”, quando vi, achei estranho pois não tinha instalado o bluez antes, quando executei:

$ pacman -Qi bluez

Retornou:

Required By : gvfs

Bom, como já tinha o pacote, só instalei o bluez-hcidump. Feito isso, comecou a brincadeira… Precisei configurar algumas coisas.

Primeiro verifiquei se o dispositivo estava ativo:

# hciconfig

Se ele retornar:

hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0

Será necessário você, levantar o infeliz com:

# hciconfig hci0 up

Para verificar se realmente subiu, use apenas o comando hciconfig, novamente. Agora a parte boa, procurar pelo teclado.

$ hidd scan
00:12:5A:9C:18:DD Microsoft A keyboard

A saída será algo semelhante a essa que você está vendo. Mas quero o teclado funcionando amigão, calma calma, é mais fácil ainda.

# hidd --connect 00:12:5A:9C:18:DD

Você pensou, “Pronto agora tenho meu teclado funcionando!!!! x)”… Ai que você se engana, o bluetooth no linux ainda é um lixo (essa é a minha opinião e já já vão descobrir o por que). Inocente o garotão vai lá e comeca a digitar e nada do teclado funcionar, mas fiz tudo certinho. Nem tudo amigão. x)

Depois que você conectou, verifique se realmente está conectado com:

$ hidd show
00:12:5A:9C:18:DD Microsoft A keyboard that runs over Bluetooth [045e:0099] connected

Tem que mostrar aquela palavrinha mágica ali, connected, “ahhhhh mas não funcionou”. Tente:

# hidd --search
Searching ...
Connecting to device 00:12:5A:9C:18:DD

Pronto, agora você já pode digitar e sair pulando de alegria. x)

Se você quer ter seu teclado funcionando depois do boot, faca o seguinte… Edite o arquivo /etc/conf.d/bluetooth, procure pela variáveis HIDD_ENABLE e HIDD_OPTIONS, descomente ambas e adicione a elas…

HIDD_ENABLE="true"
HIDD_OPTIONS="--connect 00:12:5A:9C:18:DD"

Adicione ao rc.conf no DAEMONS, o bluetooth. Quando reiniciar teoricamente você já deveria ter seu teclado funcionando né??? Mero engano… Aqui só funcionou na base da gambiarra e mesmo assim, tive que botar o bluetooth depois do dbus no rc.conf. Para ter funcionando corretamente, vá ao seu rc.local e adicione “sleep 20” e “/usr/bin/hidd –search”.

Tiveram 3 coisas que não agradou muito, primeiro que precisei dessa bela “gambe”, a segunda é, passou de 3 a 5 minutos sem usar o teclado preciso usar e a terceira, é que preciso usar o outro teclado pra acessar a bios (isso já era esperado) e como fallback quando o bluetooth não funcionar. x)

Se alguém tiver alguma solucao para esses inconvenientes, ficarei grato.

Já ia esquecendo, veja este guia de bluetooth, essa dica e mais esse link do wiki, caso tenha dúvidas.

PS.: Se você sentiu falta dos cedilhas na minha escrita, não se assuste… ele tá saindo assim, ć, por isso não usei. 😉

Nobreak SMS Net3+ Expert

Olá,

Quem tem um nobreak sabe o quanto esse equipamento é essencial para o dia-a-dia de quem é Geek. x)

Pois bem, comprei o meu já tem 1 ano e a minha belezinha é esse aqui. O interessante do mesmo é que ele tem gereciamento via software o que é muito útil para você que se preoculpa com seu(s) querido(s) HD(s).

Através desse gerenciamento, posso programar a hora de desligamento do mesmo e do meu PC, sem causar danos ao meu hardware, além de prover outros recursos como acesso remoto, testes em geral para o nobreak e alerta sobre o que está acontecendo com a energia da sua casa/empresa via SMS. x)

O mesmo estava instalado e funcionando tranquilamente, até ter a idéia de testar o Gentoo quando o Arch estava em “TPM”, como não tive paciência para tá baixando pacotes no Gentoo (lembrando que o tempo de compilação dos pacotes é menor do que baixar os infelizes na velox 300Kbps) resolvi reinstalar o Arch (pois já tinha os pacotes em cache) que levou menos de 10 minutos pra ter o meu sistema básico atualizado e também, com X, Gnome e outras firulas.

Passei mais de um mês sem instalar o software do nobreak e vi que realmente não dá pra viver sem ele, vou demonstrar os passos de instalação e comentar algumas partes.

Antes de começar precisamos do software, não é? Vá ao site alerta24.com.br e baixe o arquivo SMS_Power_View_Linux.tar.gz

Se você possui a versão que vem com a conexão USB (no meu caso) é interessante saber qual o módulo do nobreak que é, cypress_m8.

Precisamos instalar o jdk (afim de evitar possíveis dores de cabeça vamos instalar também o jre) para ter o software funcionando, como estamos no Arch:

pacman -Sy jre jdk

OBS.: Na antiga instalação usava jdk e como a distribuição migrou para o openjdk, acabei usando esse. Você pode até perguntar se funciona, sim funciona, mas não da mesma forma que o jdk da SUN, tive instabilidade no software, logo recomendo usar o jdk que está no community.

Instalando o SMS Power View

  1. A instalação será feita no diretório /opt/sms;
  2. Efetue o download do arquivo SMS_Power_View_Linux.tar.gz e salve-o dentro de qualquer diretório de sua preferência e após isso descompacte-o (#tar –xzvf SMS_Power_View_Linux.tar.gz);
  3. Entre     na    pasta    onde      os    arquivos      foram    descompactados (# cd /installSMSPowerView) e execute o arquivo install.sh (#./install.sh);
  4. Você será questionado sobre o local onde se encontra instalado o JDK (java);
  5. Após informar o local onde o java esta instalado, você será questionado o valor da variável DISPLAY, se o valor for o default pressione a tecla Enter.
  6. Informe o local onde deseja instalar o SMS Power View (passo 1, /opt/sms);

Como executar o SMS Power View O software SMS Power View poderá ser configurado através do Console ou Ambiente Gráfico (navegador), conforme descrito abaixo.

Modo Texto (Console):

  1. Acesse o diretório SMS (cd /opt/sms) e execute o comando abaixo utilizando letras maiúsculas:  ./RODAR_SMS.sh
  2. Aguarde alguns instantes para que o sistema termine de carregar o software e execute o seguinte comando: ./CONSOLE.sh
  3. Escolha a opção “3.Configuração” e configure a porta de comunicação onde o cabo USB.

Ambiente Gráfico (navegador):

  1. Abra uma janela de “console” e acesse o diretório SMS (cd /opt/sms). Execute o comando abaixo utilizando letras maiúsculas: ./RODAR_SMS_POWERVIEW.sh
  2. Abra um navegador de seu sistema e digite o  seguinte endereço: http://localhost:8080/sms/
  3. Clique no item “Configurações”;
  4. Configure a “porta de comunicação” onde o cabo do nobreak foi conectado;
  5. Para finalizar clique em “Salvar”.

OBS.: Para acessar via browser precisei fazer ./RODAR_SMS.sh e depois ./RODAR_SMS_POWERVIEW.sh Para carregar o software Power View automaticamente na inicialização do sistema operacional, acrescente a linha abaixo no arquivo “rc.local”:

su root /opt/sms/RODAR_SMS.sh

OBS.: O procedimento acima foi testado e homologado na distribuição Ubuntu Kernel: 2.6.15-23-386. Arch Linux: kernel26 2.6.29.3-1.

UPDATE

Os trexos “Modo Texto” e “Ambiente Gráfico”, foram usados até a versão 2.04.00 (que eu conheça), ontem (24/05/09) atualizei pra versão 2.07.00 a qual já vem com uma novidade interessante. A versão 2.07.00 já tem systray, coisa que só tinha na versão para windows e, a parte de instalação continua a mesma, mudou só na parte de executar o software.

Para executar o mesmo, basta entrar no /opt/sms e digitar:

./powerview

Será mostrado um help com as opções que você precisa para iniciar o mesmo, usando GUI (systray) ou não. Para usar o “rc.local” para iniciar o software do nobreak basta adicionar:

su root /opt/sms/powerview start

Até a próximo, essa a minha dicazinha… Lembrando que os passos aqui apresentados foram retirados do manual de instalação e quando possíveis, modificados para as minhas necessidades. Creio que o próximo post será alguma coisa relacionada a programação. 😉

Saudações, Leandro “skate_forever” Inácio