Pesquisar no Programero

quinta-feira, 31 de março de 2011

Boa Senador !

Recebi um e-mail de minha amiga Malba essa semana falando sobre um projeto de lei do Senador Cristovam Buarque propondo que todo político eleito (vereador, prefeito, Deputado, etc.) seja obrigado a colocar os filhos na escola pública.

Bom se tal coisa realmente vier a acontecer (sem as ressalvas e brechas costumeiras) teríamos com toda certeza um empenho maior nas questões da educação, já que quase tudo o que os políticos fazem é para o próprio benefício (haja vista votações de ultima hora para aumento de salario, novos benefícios e por ai vai), nesse caso a população sairia ganhando de tabela.

Cristov%C3%A3o

O projeto de lei não é novo (precisamos acompanhar mais de perto o que fazem por lá, em breve estará ainda mais fácil), é de 2007 e ele está desde o dia 14/01/2011 na Comissão de Constituição, Justiça e Cidadania, para que quiser dar uma olhada é só acessar o portal do Senado, ou baixar o projeto de lei diretamente daqui. Vamos divulgar, de fato é uma ótima ideia, parabéns ao Senador.

quinta-feira, 17 de março de 2011

Um exemplo a ser seguido (até agora) deputado José Reguffe

Tenho certeza que todos, assim como eu, se espantaram ao saber que certo deputado estava recusando (totalmente ou uma parte considerável) certos benefícios ao qual ele teria direito, a cifra dessa economia nos quatro anos de seu mandato é incrível, vejamos:

Ele abriu mão do 14º e 15º salários, ficando com os treze salários que todo trabalhador tem direito, economizando R$ 213.723,13.

Reduziu sua cota parlamentar de R$ 23.030,00 para R$ 4.600,00, esse dinheiro é o usado para bancar os gastos do parlamentar no trabalho, como viagens e combustível e que infelizmente sempre aparece um escândalo a respeito, economizando R$ 884.640,00.

Abriu mão dos 25 assessores de direito, estabelecendo que terá no máximo nove, segundo ele se treze pessoas são suficientes para lotar no gabinete, economizou com salários R$ 624.000,00, além de reduções com benefícios desses funcionários onde só com vale-alimentação será economizado R$ 514.000,00.

Se eu não somei errado por baixo houve uma economia de R$ 2.235.670,13! Incrível não é? Incrível mesmo seria multiplicar esse valor por 513.

clip_image001O deputado José Reguffe foi o mais bem votado proporcionalmente falando, e gastou em sua campanha apenas R$ 143.000,00, de fato por enquanto ele tem sido um exemplo, acho até que suas atitudes deveriam se tornar regra.

É isso ai minha gente, nem tudo esta perdido.

quinta-feira, 10 de março de 2011

Array no PL/SQL (Oracle)

Trabalhar com estruturas indexadas pode nos poupar muito trabalho, deixar o código mais limpo e reutilizável, pois bem vamos dar um exemplo de como fazer isso no PL/SQL. Criaremos um tipo table que seja capaz de armazenar nomes de uma tabela de funcionários de forma indexada, e em seguida mostraremos o que foi armazenado, segue o código:

  1: declare
  2:   -- tipo tabela contendo apenas texto e indexado
  3:   type   TipoNomFunc is table of varchar2(200) index by binary_integer;
  4:   -- variável do nosso tipo (como nosso tipo é indexado ele funcionará como um array)
  5:   func   TipoNomFunc;
  6:   -- indice para loop
  7:   indice number := 1;
  8:   --
  9: begin
 10:   --
 11:   -- cursor para nossa tabela de funcionarios
 12:   for emps in (
 13:       select * 
 14:       from   funcionarios
 15:   ) 
 16:   loop
 17:     -- colocamos o nome do funcionario em nosso "vetor"
 18:     func(indice) := emps.nom_funcionario;
 19:     -- incrementamos o indice
 20:     indice := indice + 1;
 21:     --
 22:   end loop;
 23:   --
 24:   -- agora percorremos todo nosso "vetor" e mostramos seu conteúdo
 25:   indice := func.first;
 26:   loop
 27:     -- se não houver um próximo sai do loop
 28:     exit when indice is null;
 29:     dbms_output.put_line(indice || ':' || func(indice));
 30:     indice := func.next(indice);
 31:     --
 32:   end loop;
 33:   --
 34: end;

sexta-feira, 4 de março de 2011

Android e eu

No final de 2010 comecei a pesquisar alguns aparelhos celulares em busca de um smartphone que tivesse uma boa câmera, wi-fi, e é claro, Android. Acabei comprando um modelo LG com Android. Meu primeiro contato no mundo dos smatphones foi diferente, navegar pela internet, baixar aplicativos era algo novo para mim (ainda estou me acostumando).

apexwallpaper_android-wallpaper11

No inicio desse ano comecei meus estudos para desenvolver para essa plataforma, e para minha satisfação (e de certo modo surpresa) encontrei uma documentação completa e com exemplos, uma ferramenta no ponto, um SDK simples e emuladores funcionando muito bem, além de uma comunidade bem desenvolvida repleta de exemplos.

Ainda tenho muito a aprender, mas pretendo começar a postar meus primeiros exemplos por aqui, então para iniciar fica a lista de downloads necessários:

  1. Eclipse, é recomendado a versão clássica;
  2. SDK Starter Package, não é a versão completa, os outros componentes você baixa por meio dele;
  3. ADT Plugin para o Eclipse, integra as ferramentas de desenvolvimento do Android no Eclipse (tutorial para instalação);

Se tudo estiver correto, ao iniciar o Eclipse já será possível criar um projeto Android.

quinta-feira, 3 de março de 2011

É possivel ficar pior ?

A eleição do ilustre Tiririca deixou bem claro como os eleitores, principalmente os novos, encaram a politica, com o mesmo desdém com o qual encaram quase tudo (exceto o bbb e seu perfil no orkut), às vezes me pergunto por que as coisas estão nesse passo e tenho certeza que isso tem uma relação intima com a educação. Estudei a vida toda em uma escola pública, e me lembro de como foi estranho quando foi instalou uma grade que separava a área comum dos alunos da sala dos professores e da diretoria, esse era um indicio do medo crescente da administração em relação aos alunos, na época tirando a grande pichação e destruição dos banheiros nada de mais violento ocorria, os funcionários eram sempre respeitados.

Em menos de cinco anos retornei a essa mesma escola e para minha perplexidade me deparei com uma espécie de curso pré-presidio, havia grades por todos os lados, imagino que isso deveria ter bons motivos.

É engraçado como quase tudo público não passa de um depósito de pessoas, a diferença fica só no porque você foi parar lá e quanto tempo vai levar para sair, se você vai a um hospital ou posto de saúde é atendido por pessoas despreparadas, médicos arrogantes e fartos de suas rotinas, em presídios as pessoas são colocadas lá e ponto, a quem diga até que são estimulados a rebeliões para um extra de periculosidade para os funcionários e as escolas o aluno vai por que o pai manda, muitos deixam de entender o que o professor fala antes de chegar ao ginásio.

O fato é que mesmo num curto espaço de tempo, é perceptível uma decadência ainda maior do ensino, alguns de meus amigos chegaram ao colegial sem saber ler direito, mas acho que hoje os alunos em situação diferente é que são a exceção.

Recentemente vimos o Tiririca que passou por um processo de averiguação de escolaridade fazendo parte da comissão da educação, isso me soa como uma provocação por parte do governo, como pode uma situação tão bizarra assim, por mais bem intencionado que ele seja (se é que ele realmente o é) com o que ele poderia contribuir? Não faço ideia, sinceramente.

tiririca1300

quarta-feira, 2 de março de 2011

Manipular arquivos com PL/SQL (Oracle)

papelO bom e velho arquivo, é impressionante como lidamos com seus vários tipos durante todos os dias, bom hoje vamos mostrar um jeito simples de se escrever e ler arquivos apenas com a codificação nativa do Oracle.

A primeira coisa a fazer é criar um diretório válido configurado no Oracle, e permissões de acesso a esse diretório para o usuário de banco onde faremos o exemplo, sendo assim suponhamos que nosso usuário de banco se chame programero, e nosso diretório real esteja em c:\programero, então logado como SYSTEM devemos executar os seguintes comandos:

  1: -- cria diretorio   
  2: create or replace directory DIR_PROGRAMERO as 'C:\PROGRAMERO';   
  3: -- concede permissão de escrita e leitura para nosso usuário   
  4: grant read, write on directory DIR_PROGRAMERO to PROGRAMERO;

Para escrever, basicamente precisamos apenas saber onde esse arquivo ficará, no nosso caso no diretório criado acima, segue o código de escrita:

  1: declare
  2:   -- nosso handler
  3:   v_arq utl_file.file_type;
  4: begin
  5:   -- diretório oracle, nome do arquivo, w indica escrita
  6:   v_arq := utl_file.fopen('DIR_PROGRAMERO' , 'programero.txt', 'w'); 
  7:   -- escrevemos duas linhas no arquivo
  8:   utl_file.put_line(v_arq,'Primeira linha !'); 
  9:   utl_file.put_line(v_arq,'Segunda linha !'); 
 10:   -- e finalmente fechamos o arquivo
 11:   utl_file.fclose(v_arq);
 12: end;

Da mesma maneira a escrita também depende do local onde o arquivo está salvo, segue o código:
  1: declare
  2:   -- nosso handler
  3:   v_arq utl_file.file_type;
  4:   -- recebe a linha lida do arquivo
  5:   v_txt varchar2(200);
  6: begin
  7:   -- diretório oracle, nome do arquivo, r indica leitura
  8:   v_arq := utl_file.fopen('DIR_PROGRAMERO' , 'programero.txt', 'r'); 
  9:   -- loop de leitura
 10:   loop
 11:     -- pega linha do arquivo
 12:     utl_file.get_line(v_arq, v_txt);
 13:     -- imprime
 14:     dbms_output.put_line(v_txt);
 15:   end loop;
 16: exception  
 17:   when NO_DATA_FOUND then
 18:     -- quando não existirem mais linhas no arquivo o mesmo é fechado
 19:     utl_file.fclose(v_arq);
 20: end;

Bom é isso, os códigos são simples e estão bem comentados, acredito que não exista nada a ser acrescentado, no caso de dúvidas é só postar nos comentários.