sábado, 20 de fevereiro de 2010

Cronômetro em Shell Linux

Este é um script em Shell que simula um cronômetro simples.

O código mostrado aqui é outra tentativa de aprendizado em Shell Linux. Na prática pode não ter utilidade nenhuma, dada sua simplicidade. Mas me ajudou a praticar novos conhecimentos.

Talvez sirva de ajuda pra alguém que também esteja estudando linguagem de terminal.

Código fonte no Pastebin: Clique AQUI

Abaixo o código original. Lembrando que ele pode ser melhor visualizado no Pastebin.

   1.      #!/bin/bash
   2.      #   Cronometro simples feito em Shell.
   3.      #   Script criado apenas para fins de estudo.
   4.      #   Para parar, use um [ctrl] + C.
   5.      #   Autor: Fabio Lima CE
   6.      #   Data: 2009-02-14
   7.       
   8.      #   Inicializacao das variaveis
   9.      SS=0;
  10.      MM=0;
  11.      HH=0;
  12.       
  13.      #   Inicio do 'loop infinito' que atualizara
  14.      # as variaveis a cada segundo.
  15.      #   A condicao 'sleep 1' se encarrega de gerar
  16.      # atrasos de um segundo a cada passagem.
  17.      while (sleep 1)
  18.      do
  19.              #   Testa a quantidade de segundos
  20.              #   Se SS > 59 entao MM++
  21.              if ( test $SS -gt 59)
  22.              then
  23.                      SS=0
  24.                      MM=$(echo "$MM + 1" | bc)
  25.              fi
  26.       
  27.              #   Testa a quantidade de minutos
  28.              #   Se MM > 59 entao HH++
  29.              if (test $MM -gt 59)
  30.              then
  31.                      MM=0
  32.                      HH=$(echo "$HH + 1" | bc)
  33.              fi
  34.       
  35.              #   Testa a quantidade de horas
  36.              #   Se HH > 23 entao Zera todas variaveis
  37.              if (test $HH -gt 23)
  38.              then
  39.                      MM=0
  40.                      HH=0
  41.                      HH=0
  42.              fi
  43.       
  44.              #   Mostra o tempo decorrido depois de atualizado
  45.              #   Opcoes do 'echo':
  46.              #   -n: desabilitar nova linha no final do comando (\n)
  47.              #   -e: habilitar o uso de caracteres de scape (\t, \n, \a \r etc)
  48.              echo -n -e "\rTempo decorrido: $HH h $MM min $SS seg "
  49.       
  50.              #   Acrescenta um segundo
  51.              #   O 'bc' eh uma realiza calculos com inteiros
  52.              SS=$(echo "$SS + 1" | bc)
  53.       
  54.      done

Bateria de Notebooks em Shell Linux

Estou disponibilizando um script para verificação de status de bateria em notebooks.

Esse pequeno programa é escrito para Shell, mais especificamente Bourne Again Shell (Bash). Tive a idéia de fazê-lo para por em prática o que eu tenho estudado sobre a linguagem. A melhor maneira de aprender uma nova linguagem é praticando, não tem outro jeito!

Pra quem gosta de trabalhar em linha de comando esse programinha pode ser muito útil. Pelo menos pra mim está sendo...

Ele pode ser visualizado e baixado no Pastebin AQUI.

O código é este abaixo. Porém ele fica mais legivel no Pastebin.

   1.      #!/bin/bash
   2.      # Bateria: programa de medicao de status da bateria.
   3.      # Autor: Fabio Lima CE
   4.      # Data: 25-12-2009
   5.       
   6.      # Lendo os arquivos de parametros de
   7.      # kernel para obter as informacoes
   8.      # e o status da bateria.
   9.      echo ""
  10.      cat /proc/acpi/battery/BAT1/info  \
  11.      | grep "last full capacity:"      \
  12.      | cut -c26-29                     \
  13.      > /tmp/bat-capacity              
  14.      BATCAP=$(cut -f1 -d" " /tmp/bat-capacity)
  15.      echo "    Ultimo carregamento:       $BATCAP mAh"
  16.       
  17.      cat /proc/acpi/battery/BAT1/state \
  18.      | grep "remaining capacity:"      \
  19.      | cut -c26-29                     \
  20.      > /tmp/bat-remaining
  21.      BATREM=$(cut -f1 -d" " /tmp/bat-remaining)
  22.      echo "    Capacidade atual:          $BATREM mAh"
  23.       
  24.      echo " ($BATREM * 100) / $BATCAP " | bc \
  25.      > /tmp/bat-percent
  26.      BATPER=$(cat /tmp/bat-percent)
  27.       
  28.      echo "    Percentual remanecente:    $BATPER%"
  29.       
  30.      # Simulando uma barra de progresso para
  31.      # mostrar o nivel da bateria.
  32.      # A barra de progresso tera a seguinte aparencia:
  33.      #     Nivel [||||||||||..........]
  34.       
  35.      # Variaveis do tipo string que armazenarao
  36.      # as barras e os pontos da barra de progresso.
  37.      BARRS=
  38.      DOTS=
  39.       
  40.      # Calculando a quantidade de barras
  41.      # e armazenando na variavel BARRS.
  42.      for i in $(seq -s  " " $BATPER)
  43.      do
  44.              if [ $(echo "$i % 4" | bc) -eq 0 ]
  45.              then
  46.                      BARRS=$(echo $BARRS\|)
  47.              fi
  48.      done
  49.       
  50.      # Calculando a quantidade de pontos
  51.      # e armazenando na variavel DOTS.
  52.      for j in $(seq -s " " $(echo "100 - $BATPER" | bc))
  53.      do
  54.              if [ $(echo "$j % 4" | bc) -eq 0 ]
  55.              then
  56.                      DOTS=$(echo $DOTS.)
  57.              fi
  58.      done
  59.       
  60.      # Juntando e mostrando as barras e os pontos.
  61.      # Mostrando a barra de progresso pronta.
  62.      echo ""
  63.      echo "    Nivel: [$BARRS$DOTS]"
  64.      echo ""

sábado, 23 de janeiro de 2010

Código Fonte da Vida

Queria ter o código fonte da vida
Saber em que linguagem está escrita.
Que o código fosse liberado sob a GPL;
e a obra, sob a Creative Commons.
Tudo que temos é uma documentação desatualizada
e um monte de paradigmas que TENTAM explicar as coisas.
Talvez a única alternativa seja a engenharia reversa mesmo...

domingo, 18 de outubro de 2009

Instalação do Windows XP a partir de pendrive

Nesta postagem demonstraremos uma forma bem simples de instalar o Windows XP. Embora esse sistema operacional seja relativamente antigo, ele ainda é bem popular.

As placas mãe atuais possibilitam a inicialização do computador a partir de pendrives. Esse recurso é bastante útil para os casos em que a leitora de mídias ópticas não esteja disponível. Um exemplo disso é a instalação de sistemas operacionais em netbooks. Como sabemos, esses mininotebooks não possuem unidades de leitura óptica, daí a necessidade de instalar por meio de memórias do tipo flash.

No Linux é bastante comum a instalação de distribuições utilizando pendrives. Diversas dessas distros disponibilizam imagens de instalação. Mas como esta postagem é dedicada ao Windows XP, vamos diretamente aos passos...

Material necessário:

Preparação do pendrive:

  • Colocar o CD na unidade ótica;
  • Plugar o pendrive ao PC;
  • Baixar e instalar o programa WinSetupFromUSB;
  • Abrir o programa instalado;
  • Apertar o botão [browse] para marcar selecionar a unidade de ótica;
  • Logo abaixo, selecionar o dispositivo USB localizado**;
  • Apertar o botão [HP format tool] para formatar o pendrive;
  • Na janela de formatação, selecionar o sistema FAT (FAT16)*** e confirmar;
  • Depois de sair da janela de for aperte o botão [GO] para iniciar;
  • O programa começará a transferir os arquivos da pasta I386*** do CD para o pendrive.
  • Ao acabar o programa irá lhe avisar para reiniciar o computador.

Passo a passo instalação:

  • Com o pendrive conectado, reinicie o computador;
  • Entre no setup e habilite pendrive como primeiro na sequência de boot;
  • Depois de salvar a configuração aparecerá a tela do Grub4DOS;
  • Dê um entrer quando aparecer "Windows xp/2000/2003...";
  • Dê outro enter no item 1 para começar a primeira parte da instalação;
  • Nessa parte começa a instalação em si, você deve saber fazer isso, por isso não entrarei em detalhes;
  • Quando reiniciar, você selecione o item 2 para começar a segunda parte da instalação. Você também já deve saber como se faz isso;
  • Ao final o Windows XP irá iniciar pela primeira vez. Pronto.

Parabéns e obrigado por ler até aqui.

Observações:
1. Entre 1 e 2 GiB é suficiente. O sistema FAT16 não funciona em pendrives a partir de 4 GiB. Eu tive problemas quando usei um pendrive de 4 GiB e FAT32.
2. O programa pode não detectar pendrives em FAT32 (acima de 2 GiB).
3. Caso ele não seja detectado, você pode digitar diretamente a letra da unidade USB, por exemplo, "K:". Só que isso não garante que irá funcionar. Comigo não deu.

Nota importante: Caso você não tenha experiência em instalação de sistemas operacionais, chame outra pessoa que entenda. É sempre recomendado fazer backup de todos os arquivos importantes. O autor desta postagem não se responsabiliza por eventuais danos ou perdas. Faça isso por sua conta e risco.

quarta-feira, 7 de outubro de 2009

Telefonemas indesejados: como descobrir quem incomoda

A cada dia que passa aumenta mais a briga pelas empresas de telemarketing por clientes. Este mês recebi várias ligações de empresas oferecendo cartão de crédito, vendendo serviços etc. Algumas ligações achei bastante suspeitas.

Quando atendemos essas ligações geralmente nos dizem que somos clientes especiais, bem vistos no mercado e que por isso ganhamos um prêmio. Tudo conversa de telemarketing. O eles que querem é nos convencer a adquirir uma coisa que não precisamos.

Gostaria de saber se existe alguma lei que que puna as empresas que vendem e as que compram dados confidenciais de clientes. Isso não acabaria com o marketing indesejado, mas com certeza ficaria mais difícil. (Algum leitor conhece?)

Há também ligações que são feitas por pessoas mal-intensionadas. Já houvi diversos relatos de estelionato e extorção por telefone, geralmente aplicados contra pessoas de idade e pessoas de pouca instrução. São lorotas do tipo: "você ganhou um carro do Programa do Gugu, mas para receber o prêmio precisa fazer um depósito de R$ 100,00 na conta xxxxxx". Sem falar nas ligações como o objetivo de coleta de informações, para um posterior golpe de sequestro. Muito comum infelizmente.

Eu queria nesta postagem deixar uma dica para quem se incomoda com essas chamadas inconvenientes e às vezes perigosas. Na internet existe um site cuja idéia é bem simples: armazenar informações sobre números de telefones. Cada um pode cadastrar o número de uma chamada que recebeu, dizer quem está por trás daquele telefone e querendo o quê. A interface do site é bem simples, mas é de bastante utilidade. Sempre que que recebo uma ligação que não está na minha lista de contatos, eu verifico primeiro nesse site. Serviço recomendadíssimo!

Link para o site Quem Perturba?

Lembre-se que esse site é atualizado pelas próprias pessoas que o utilizam. Então, sempre que receber uma ligação incômoda ou suspeita, contribua com essa lista negra.

Caso algum leitor tenha outra dica de serviço parecido, comente neste este blog. Obrigado por ler até aqui.

domingo, 13 de setembro de 2009

Acentuação do Opera no Linux - Solução

Alguns usuários têm relatado problemas ao digitar acentos no Opera. As palavras acentuadas ficam assim: n~ao, 'e, c^amera etc. Esta postagem expõe uma solução simples para esse problema de acentuação do Opera em distribuições Linux.

O Opera é um browser muito bom que chega a bater o firefox em alguns aspectos, especialmente no quesito velocidade. Estou até pensando em migrar aos poucos para esse navegador, deixando o firefox para situações em que a segurança é mais importante que a velocidade. No entanto apareceu um entrave a essa migração: a acentuação parece não funcionar nativamente nesse software.

Depois de pesquisar em diversos foruns e blogs, encontrei uma solução. Vamos aos passos:

1. Abra o arquivo /usr/bin/opera com seu editor de textos favorito.

2. Adicione esta linha no final do arquivo, antes da linha "# Running Opera"

XMODIFIERS= QT_IM_MODULE=

3. Salve o arquivo e, em seguida, execute o Opera.

Pronto! Agora a acentuação vai funcionar perfeitamente no Opera.

Obrigado pela visita. Comentários são sempre bem vindos.

Leia Também: Deadkeys em programas QT rodando no GNOME

sábado, 8 de agosto de 2009

Tema Linux para Nokia

Eu sou um dos milhares de usuários do celular Nokia 2630, que é um aparelho com um bom custo benefício. Ele possui os recursos básicos atualmente, como câmera, rádio, BT, MP3 etc. Além disso ele é um dispositivo bem leve e fino (slim). Dá pra colocar no bolso da calça sem fazer muito volume. A durabilidade da bateria também é muito boa. É um celular indicado para quem necessita de um celular de qualidade e barato. É também um celular ideal para quem anda muito nas ruas inseguras de nossos centros urbanos. Sem falar que é um Nokia. Por todas essas características eu gosto muito dele, apesar não ser um smartphone (passa longe do meu Palm Trëo 700p).

Há dois dias eu estava sem fazer nada e resolvi mudar a aparência do aparelho. Procurei na Internet algum tema visual que pudesse melhorar a interface do Nokia. Achei vários, e alguns até legais. Mas nenhum me agradou. Daí eu decidi olhar dentro dos arquivos que baixei pra tentar entender como se faz temas visuais. Acabei constatando que os temas visuais de extensão .NTH não passavam de arquivos ZIP. Dentro desses arquivos zipados havia um arquivo descritor em XML. Dentro desse descritor havia referências a imagens e outros recursos dentro do arquivo ZIP.

Daí eu tive a idéia de criar um tema personalizado. Como sou adepto ao movimento software livre, e gosto do GNU/Linux, criei um tema dedicado a esse sistema operacional. O trabalho não foi fácil, mas pra mim valeu a pena.

Caso alguém se interesse pelo tema eu deixei aqui o link:

Baixar Tema Linux para Nokia 2630

Podem modificar e distribuir à vontade.

Obrigado por visitar o blog.

sexta-feira, 7 de agosto de 2009

Aberto Concurso TRT-CE 7a Região 2009

Hoje foi publicado o edital para o concurso do Tribunal Regional do Trabalho da 7a Região, Ceará. O certame oferece vagas tanto para o nível médio quanto para o superior. Os salários são de R$ 4052,96 e R$6611,39, respectivamente.

São vários cargos ofertados, a saber:

  • Técnico Jurídico - Área Administrativa
  • Técnico Jurídico - Especialidade Transporte
  • Técnico Jurídico - Especialidade Enfermagem
  • Técnico Jurídico - Especialidade TI
  • Analista Judiciário - Área Judiciária
  • Analista Judiciário - Especialidade Execução de Mandados
  • Analista Judiciário - Área administrativa
  • Analista Judiciário - Especialidade Arquitetura
  • Analista Judiciário - Especialidade Engenharia Civil
  • Analista Judiciário - Especialidade Engenharia Elétrica
  • Analista Judiciário - Especialidade TI
  • Analista Judiciário - Especialidade Fisioterapia
  • Analista Judiciário - Especialidade Comunicação Social
  • Analista Judiciário - Especialidade Estatística
Sobre a inscrição

As inscrições serão realizadas apenas pela Internet.

Prazos de Inscrição:
Para isentos: 10 a 13 de agosto
Para pagantes: 10 a 14 de setembro

Taxas:
Médio: R$ 49,37.
Superior: R$ 63,37

O organizadora do concurso será a Fundação Carlos Chagas. O edital pode ser baixado neste link:

Edital Concurso TRT 7

Outras informações podem ser obtidas nos seguintes sites: