Arquivar

Archive for the ‘Tecnologia’ Category

Searching…

03/11/2009 memphyx 1 comentário

Deitado e olhando para o teto…. meu único foco era a lampada acesa, onde um pernilongo teimava em circulá-la, seguindo a luz artificial. O momento menos inoportuno da noite, o sono se passa e a insonia tenta me perseguir… mas resisto… e resisto mais, até que o cansaço e o sono vencem. Dia seguinte, estou acordado… e muito cansado … muito mesmo: As horas não passam; meu andar é lento; os músculos quase parando, doem! Pior são as pálpebras pesarem e termos a sensação de que estamos dormindo. Estou? Não tenho certeza.

Chega a noite, deito-me e meu cérebro não para: -Vejo números, códigos, criptografia.. soluções para algoritmos que anteriormente não via solução… escuto tudo; qualquer ruído… como um alfinete caindo, eu percebo; mas não abro os olhos, e fico neste transe como um zumbi! Estou acordado? Também não tenho certeza. E é assim durante algum tempo, até que corpo e mente não suportam mais, e você apaga por umas 36/48 horas… não sei ao certo, só sei que não lembro o que aconteceu!

Outro tempo.. meses depois, e tudo parecia estar normal. E esta busca insaciável por conhecimento retorna a minha vida trazendo consigo os efeitos colaterais. E tudo recomeça naquele vicioso ciclo.

Desta vez, as coisas pioram…. no meio de um destes sonhos que mais parecem pesadelos, onde meu corpo dorme e minha mente permanece acordada, onde vejo cálculos e formulas, vendo mais códigos que tudo; de repente, sinto um estouro de alta voltagem, meu cérebro estala como se fosse eletrocutado, um choque.. como uma explosão de neurônios e meu corpo desperta como em um susto. (louco)

Pela primeira vez, percebo que não estou tão bem. O que ando fazendo comigo mesmo!?

Percebo se continuar neste ritmo, posso pirar, ficar louco ou tão fora do normal que acredito que não terei mais uma vida social (se é que ando tendo durante estes eventos). Esta bendita álgebra linear (não, não! Não a matéria em si, não os professores … mais minha cabeça!) Sonho vetores, sonho matrizes, sonho binários! Mesmo quando não quero, estou contando octetos.

Vejo uma garota, um sorriso quase perfeito, traços lindos, que seguram a atenção.. e, me vejo, imaginando, geometria, losangos, gráficos cartesianos aplicados á quela feição.. depois de tudo, estimo os bytes provindos destes resultados em uma imagem em um conjunto de oled’s. Isto não é normal!

Agora, o que me vem a mente é:  – O que me levou a isto? O que estou procurando? Como consigo pensar em caracteres binários, ou mesmo hexadecimais ou compilados ao mesmo tempo que admiro um belo rosto feminino e suas atribuições mais humanas!? Ainda não sei.

Psicologicamente, ando no limite de uma axioma: – Acreditando, que tudo pode-se chegar a um resultado desejável, mesmo que a fórmula não seja a correta, basta aplicar o conceito correto, não a fórmula!

- Humm… ainda tento me recordar como tudo isto começou e chego ao meu elétron base. Massa, Velocidade e Energia! A busca pelo conhecimento.

Precisamos tanto assim deste conhecimento?

O que sei, é que, enquanto não provarem o gênesis do dínamos, onde esta incógnita nos persegue, jamais saberemos através de nossos próprios meios e méritos, onde, como e quando a definição da metamorfose e o quanto isto nos afeta como humanos.

Uma frase que vale a pena ser lembrada, vinda de um game violento, onde tudo nasceu de uma sátira ao cinematográfico : – Não há conhecimento que não seja poder!

É como o velho game já nos preditava, hoje o mundo é regido pelo conhecimento, e quem os detém, permanecem no poder. Informação!!!

Esta mesma informação, é o que buscamos para nos preencher de nosso vácuo extra-universal, mas basta um único átomo de amor, que isto nos basta para sermos preenchidos por completo.

Uma coisa irrelevante, é o que buscamos nos informar, conhecimento nunca é demais, informações sim! Ainda mais com o predicado de tamanha boas novas que nos cercam, precisamos a começar a criar filtros mais autônomos e automatizados para que consigam concorrer com a mesma velocidade que as recebemos.

Newton, aprendeu com seus erros, e talvez, Albert, tenha sido mais emocional que racional… sabemos? Não podemos afirmar, muito menos, negar!

Quem sabe!

Por um instante.. quero voar e ser livre! Quero mais simplicidade.

Shell Script: Verificar conexão de rede, criar diretórios e mapear unidades de rede em seu Linux!

Não tinha nada o que fazer e resolvi “tentar” adiantar meu próprio lado criando um pequeno shell script para conectar em um servidor em que, de vez em nunca, preciso restaurar ou copiar alguns arquivos de backups da rede ( … tipo naquelas… de uma vez por ano ou uma vez na vida e outra na morte… quando o chefe quer as “fotos da festa de mil novecentos e lá vai bolinha”… ) … sabe como é, existem momentos que ficamos “ociosos”!

Pois bem, o script é muito simples e pode ser útil para diversas outras opções além de “copiar” fotos para seu superior ou para aquela garota que sempre está “incomodando” o cara de T.I. ;-).

O ambiente é simples:

Tenho um servidor Windows 2000 Server, com algumas pastas compartilhadas no AD (com restrições de acesso, leitura e escrita, onde cada usuário possui permissões diferentes: login e senha).

O endereço do servidor é 192.168.0.100, e as pastas compartilhadas, digamos que sejam F, G, H, Informatica, X e Z.

Como não quero utilizar a interface gráfica para isto e quero utilizar um terminal, a “temida” linha de comando (escovando bits no CLI), a maneira mais chata, e a princípio, parecendo a mais rápida, seria fazer isto aqui:

mkdir /media/W2KServer && mkdir /media/W2kServer/F

mount -t cifs -o username=jeferson,password=minhasenhasecreta,gid=users,iocharset=utf8,rw,users,file_mode=0777,dir_mode=0777 //192.168.0.100/F /media/W2kServer/F

Sinceramente, esta não é uma boa ideia, ainda mais que meu usuário e senha, ficaram gravados nos históricos de comandos do bash, e se eu levantar da mesa por um minuto, chegar alguém e ficar por um tempinho em minha sessão aberta, logo poderá ter tais dados muito facilmente.

Ainda bem e para minha própria segurança, posso usar a opção credentials e indicar um arquivo que contém meu usuário e senha, e nisto, não fica a senha a Deus dará… vejam:

mount -t cifs -o credentials=/root/.smb-credents,gid=users,iocharset=utf8,rw,users,file_mode=0777,dir_mode=0777 //192.168.0.100/F /media/W2kServer/F

O ‘pulo do gato’ se dá na criação do arquivo /root/.smb-credents. E o conteúdo do arquivo ser semelhante a este modelo:

username=jeferson

password=minhasenhasecreta

Com isto, resolvo meu problema de segurança de informações pertinentes a meu usuário e senha, mas… Todas as vezes que eu precisar mapear apenas uma unidade na rede, terei que fazer estes passos de criação e montagem de diretórios?

Não é mais fácil colocar tudo no /etc/fstab e pronto?

E se eu ter mais diretórios para mapear, também terei que repetir todos estes comandos para cada unidade de rede presente no servidor que pretendo acessar?

Calma pequeno padawan… paciência é uma virtude!

Não quero ficar digitando estes comandos, toda as vezes que eu precisar acessar tais pastas e creio que você também não. Então, depois de criado o /root/.smb-credents, vamos criar nosso primeiro script para começarmos a automatizar o processo. Criei o arquivo /bin/map.sh, contendo os comandos para montar os diretórios do servidor “SMB“:

http://paste.archlinux-br.org/1351

Veja que não temos nenhum tipo de controle neste arquivo… não há verificação da existência de conexão com o servidor; não verifica a existência dos diretórios necessários a montagem das unidades (/media/W2kServer/?) e muito menos, se há automação de todos estes processos… então, pensei em melhorar isto com a criação de um último script, que se valerá do /bin/map.sh.

O batizei de mapping.sh e o que ele faz exatamente o que o título do post indica:

  • Verifica se há conexão de rede e se o servidor com o qual quer se conectar, está ‘ouvindo’ (ou de ‘pé’, como preferir);
  • Havendo conexão, ele criará a estrutura necessária para a conexão no diretório /media e por fim;
  • Mapeará as pastas disponíveis no servidor, tornando-as acessíveis ao meu usuário.

Para isto, a primeira parte do script definirá uma Variável ( LREAD ):

LREAD=/tmp/lread.pid

LREAD, aponta para um arquivo que ainda não existe (/tmp/lread.pid) , mas que será essencial para o funcionamento de nosso pequeno notável.

Como sei o endereço IP de nosso servidor, e que este endereço nunca mudará, ou não mudará tão cedo até que eu decida que ele mude (forte isto.. neh? xD), utilizo o comando ping, verificando se tal host está visível na rede interna:

ping -c 1 192.168.0.100

O ping com a opção “-c 1“, irá enviar apenas uma requisição solicitando resposta de tal host. O servidor, respondendo, teremos uma saída de informação que se diferencia da saída de erro deste, e isto, nos traz a possibilidade de ‘moldar’ ações, conforme os resultados se apresentem.

Resolvi então, concatenar e “filtrar o resultado” analisando suas diferenças (o caso do comando ping, irá sempre mostrar em suas saídas a ‘palavra’ “icmp_seq=1“), conseguindo isto com ajuda do comando grep. Aproveitando, concateno mais uma vez o resultado, utilizando-se agora do do comando “cut“, veremos que na coluna (carácter) 27, temos números que se diferenciam, trazendo possibilidades, vejam:

O erro nos mostraria a seguinte mensagem:

From 192.168.0.2 icmp_seq=1 Destination Host Unreachable

Caso o servidor estiver funcionando e aceitando conexões, nos mostraria isto:

64 bytes from 192.168.0.100: icmp_seq=1 ttl=128 time=3.43 ms

Em meu caso específico, se houver erro, a coluna 27, me trará o valor 1 no campo ‘icmp_seq’, pelo simples motivo do endereço IP do host que uso, seu último octeto estar abaixo do decimal 10, tendo apenas hum (1) numeral: 192.168.0.2.

Já se houver conexão e resposta, por causa do IP “pingado” ser 192.168.0.100, a coluna 27 da saída do comando ping -c 1 192.168.0.100 | grep icmp_seq=1 | cut -c27 seria o caracter numérico 0, provindo do último octeto do número IP (100).

Então peguei o resultado disto (0 ou 1) e redirecionei para nossa variável LREAD (lembram-se dela, no começo de nossa história? Pois é…).

ping -c 1 192.168.0.100 | grep icmp_seq=1 | cut -c27 > $LREAD

Um passo importante…

Poderiamos utilizar-se do cat, mas neste caso, eu não precisaria declarar a variável LREAD, e prá deixar a coisa mais “bonita”, preferi utilizar-me do ’sobrenatural’ while read para ler o conteúdo do arquivo contido na primeira variável e transformá-lo em uma String lógica temporária. Para isto….

VRF=`while read LN; do echo $LN ; done < $LREAD`

Hehehe…condições… o restante é história, e em um shell script começa a mágica com o uso de if, then, else if, else, fi:

if [ $VRF == 1 ] ; then

Aqui, estou dizendo o seguinte: - Se a variável VRF for igual a 1, então faça…

echo Falha de Conexão com o Servidor

echo Verifique se há conectividade de rede local, ou se o servidor responde a conexões

else if [ -e /media/W2kServer/I ]; then

Caso a variável seja diferente de 1, temos a possibilidade de executar outros comandos e até mesmo buscar e aplicar outras soluções/comandos para potenciais problemas que possam ocorrer, e isto é o que o “else if” me permite ter. Reparem bem que o ‘[ -e /media/W2kServer/I] ‘,verificará se o diretório existe, existindo, ele executará uma ação:

sh /bin/map.sh

echo Unidades de Rede Mapeadas com sucesso

Caso não existir, executará outra ação (; then).

else if [ -e /media/W2kServer ]; then

Observando de perto, criamos inclusive, diretórios que não existem para que o mapeamento funcione corretamente, fechando o circulo perfeitamente (penso eu).

echo Recriando estrutura de diretórios

mkdir /media/W2kServer/{F,G,H,I,X,Z} && sh /bin/map.sh

echo Unidades de Rede Mapeadas com sucesso

E assim, vou testando as possibilidades até elas se findarem e o script se tornar um pequeno programa (quase perfeito), cobrindo todas as possibilidades existentes em meu ambiente.

Continuando… e finalizando!

else

echo Criando estrutura de diretórios

mkdir /media/W2kServer && mkdir /media/W2kServer/{F,G,H,I,X,Z} && sh /bin/map.sh

echo Estrutura recriada e unidades de redes mapeadas com sucesso

fi

fi

fi

Por fim, temos 3 arquivos essenciais (2 shell scripts, e 1 arquivo contendo as credenciais para acesso ao host).

Como escrevi a principio, estes arquivos para me conectar com tal servidor, me atendem perfeitamente, pois, não há a necessidade de que a conexão seja permanente, sendo executada a cada boot. Porém, ter que digitar vários comandos de criação ou verificar se os diretórios existem, e posteriormente, montar as pastas compartilhadas de servidor em tais diretórios, é algo muito massante com o tempo. O ideal, é ser adaptável e nunca tornar seu trabalho algo chato de se fazer, e com isto, ganho em tempo e agilidade, e também não fico “ocioso” com os meus neurônios. Fico feliz de poder compartilhar este pequeno script com todos vocês leitores.

Ahhh… quem ter uma solução melhor, ou ainda, me passar umas ideias, ou mesmo de como aperfeiçoar e diminuir o tamanho dos scripts eu ficarei grato e receberei com alegria tais colaborações.

Os scripts podem ser baixados e visualizados no paste.bin do Archlinux-br, segue os links:

http://paste.archlinux-br.org/1351

http://paste.archlinux-br.org/1353

E nunca se esqueçam do Guia Foca GNU/Linux.

Linux Magazine Community Edition

Linux Magazine Community Edition 60: baixe a sua hoje!

Já está no ar a Linux Magazine 60 Community Edition em primeira mão para os assinantes da newsletter. Confira nesta edição os assuntos principais da Linux Magazine de novembro (RAID, Samba e Backup) e leia artigos completos sobre segurança de aplicações web e OpenSolaris, o sistema de código aberto da Sun.

Linux Magazine Community EditionNa seção de colunas, confira a opinião de Augusto Campos sobre os grandes avanços que os sistemas Linux já conquistaram, além da polêmica posição de Maddog quanto à cobrança de CDs de instalação de Linux. Veja ainda como a Unimed Londrina vem colhendo ótimos frutos após a adoção de Software Livre em sua infraestrutura de TI, e feche essa agradável leitura com mais uma tirinha do Nerdson, o mais divertido retrato dos departamentos de TI do Brasil.

A Linux Magazine Community Edition surgiu em agosto deste ano. Trata-se de um arquivo em PDF com 30 páginas do conteúdo original da Linux Magazine do mês, disponível para download uma semana antes do lançamento da revista nas bancas – exclusivo para assinantes e cadastrados na newsletter.

O sumário da Community Edition contém a relação de todas as matérias da revista. Algumas são de livre acesso e outras são artigos que podem ser adquiridos pelo site. O material de livre acesso representa 30% do conteúdo da edição do mês, uma prática já adotada pela Linux Magazine. Pode-se navegar pelo documento, acessando o material gratuito ou adquirindo o material exclusivo em nosso site. Basta clicar para ser levado à página do artigo correspondente. Tudo isso antes mesmo de a revista chegar às bancas ou ser publicada no site.

A melhor parte é que você pode baixar o arquivo e enviar para quem você quiser. Por meio da licença Creative Commons, a Community Edition pode ser livremente copiada e distribuída. Assim, baixe, copie, envie para os seus amigos e faça parte de uma comunidade que não para de crescer. Participe de forma ativa na divulgação da tecnologia que mais traz benefícios para as pessoas e para o mercado em geral.

Quando a revista chegar às bancas, a Community Edition será disponibilizada gratuitamente para download para qualquer visitante do site. Mas você, assinante da newsletter, tem a exclusividade de acesso em primeira mão.

Fonte: http://www.linuxmagazine.com.br/noticia/linux_magazine_community_edition_60_baixe_a_sua_hoje

Desenvolvimento atual do KDE valendo muita grana… muita mesmo: R$ 297.944.652,48

Dólar fechando o dia em R$ 1,699 (quase 1,70) e recebo esta maravilhosa notícia via e-mail pela Linux Magazine me contando que um “geek”, muito geek mesmo,utilizando de uma outra ferramenta desenvolvida por outro geek, mais geek ainda(!), chegou nesta incrível marca!!! xD

Como pode ser visto no blog do geek (Cornelius Schumacher), ele utilizou a ferramenta SLOCCount de David A. Wheeler para chegar nos números por ele apresentado. O resultado, é que o desenvolvimento destas 4,2 milhões de linhas de puro código fonte aberto, segundo as estatísticas, é estimado em US$ 175.364.716.

Que bom que C. Schumacher  resolveu compartilhar conosco estes dados! :-)

Vejam neste link, um gráfico com as contagens de cada módulo do KDE, totalizando a esta incrível marca.

C. Schumacher, ainda nos diz, que isto é interessante mas não muito significativo, ao ponto de termos uma ideia sobre o que está acontecendo no KDE, e nos faz lembrar, que os bons programadores (voluntários), reduzem o tamanho do código liberado.  E ainda, afirma que estes 4,2 milhões de linhas de código, são apenas uma parte de todo o código escrito do KDE. Existem milhares de aplicações que não entram na distribuição padrão do KDE (…) Seria interessante se fazer as estatísticas completas, mas isso é um tanto quanto difícil. Como se tornar dono de todo o código fonte existente do KDE?

Para quem tem interesse na ferrameta SLOCCount, seja feliz… Quem sabe, você também não descobre o quanto suas contribuições valem para todos nós. =)

Duzentos e noventa e sete milhões de dólares…. agora fiquei curioso para saber o quanto é o custo de desenvolvimento do Kernel Linux segundo o SLOCCount. Se orgulhem Linuxers!

Fontes:

http://www.linuxmagazine.com.br/noticia/kde_vale_us_175_milhoes

http://blog.cornelius-schumacher.de/2009/10/4273291-lines-of-code.html

Governo Lança Sistema de Gestão Integrada para Municípios

Os municípios brasileiros terão à disposição um software público capaz de gerenciar em um único sistema as principais áreas da prefeitura. Trata-se do e-cidade, desenvolvido para integrar áreas diversas do município como educação, controle de medicamentos, orçamento, finanças públicas, recursos humanos e tributária. A solução também permite gerir serviços que prestam atendimento ao cidadão ao gerar guias para pagamento bancário sem a necessidade de deslocamento.

Todas as prefeituras poderão acessar a ferramenta e-cidade, que será lançada e disponibilizada gratuitamente no Encontro Nacional de Tecnologia da Informação para os Municípios Brasileiros. O evento será promovido pelo Ministério do Planejamento, nos dias 27 e 28 de outubro, no Centro de Convenções Brasil 21, em Brasília.

O Encontro é direcionado a prefeitos, secretários, gestores e técnicos municipais que atuam na área de Tecnologia da Informação. O objetivo é debater o potencial das Tecnologias da Informação e Comunicação (TICs) na melhoria da gestão municipal e no oferecimento de serviços virtuais para qualificar o atendimento ao cidadão. As inscrições são gratuitas e devem ser feitas no endereço www.softwarepublico.gov.br/4cmbr

A liberação do e-cidade é fruto de uma parceria entre a empresa Dbselller e a Secretaria de Logística e Tecnologia da Informação (SLTI) do Ministério do Planejamento. Entre as suas funcionalidades estão a autorização, emissão e liquidação de empenhos totalmente integrados ao processo de aquisições e emissão de notas fiscais.

O e-cidade também integra os módulos de compras com os almoxarifados, registra a prestação de contas e gerencia procedimentos como pagamentos de diárias e de restos a pagar. Possibilita o controle dos imóveis, das obras executadas e da dívida ativa do município, além da consulta a processos administrativos. E administra ainda as informações relativas ao Plano Plurianual (PPA), Lei de Diretrizes Orçamentárias (LDO) e Lei Orçamentária Anual (LOA), entre outros.

A solução está em funcionamento em 15 municípios brasileiros e será disponibilizada no Portal do Software Público Brasileiro (www.softwarepublico.gov.br). No local, há um ambiente direcionado ao apoio tecnológico para os municípios, o 4CMBr – Colaboração, Comunicação, Conhecimento e Compartilhamento -, que já disponibiliza outros softwares para a gestão municipal em www.softwarepublico.gov.br/4cmbr

O titular da SLTI, Rogério Santanna, salientou que a redução de custos é apenas um dos benefícios propiciados pela iniciativa “Não é só economia do ponto de vista do livre acesso a esses aplicativos de software, mas também pela melhoria da qualidade da gestão pública”, destacou. Santanna disse que os programas já são testados e que podem ser utilizados pelos municípios evitando o desperdício do dinheiro público e aumentando a eficiência da gestão.

“Quem ganha é o cidadão com a melhoria da qualidade dos serviços e com a presteza do atendimento por parte das prefeituras”, ressaltou. O secretário lembrou que o Portal do Software Público Brasileiro permite o compartilhamento das soluções e práticas bem-sucedidas nas prefeituras brasileiras e no Governo Federal.

No endereço http://www.softwarepublico.gov.br/4cmbr/xowiki/divulgacao_encontro estão disponíveis a entrevista do secretário à TV NBR do Governo Federal e à Voz do Brasil sobre o tema.

Consulta pública

A exemplo do e-cidade, outras empresas privadas, órgãos públicos, universidades, centros de pesquisas e entidades privadas sem fins lucrativos podem compartilhar suas soluções no Portal do Software Público Brasileiro. Para isso, a SLTI solicita que os interessados encaminhem propostas de softwares para a gestão de tecnologia da informação aplicáveis ao setor público.

Serão aceitas propostas de software de gestão de tecnologia da informação que estejam em produção em pelo menos um ente público. Os interessados devem encaminhar as informações pelo endereço https://www.consultas.governoeletronico.gov.br/ConsultasPublicas/andamento.do?acao=confirmarPesquisaAndamento.

A consulta pública estará aberta até às 24h do dia 14 de novembro. Os comentários, pedidos de esclarecimentos e propostas também podem ser enviados pelo endereço eletrônico guialivre@planejamento.gov.br.

Também serão consideradas as contribuições encaminhadas por carta registrada até o dia 13 de novembro de 2009, para o seguinte endereço: Ministério do Planejamento, Orçamento e Gestão; Secretaria de Logística e Tecnologia da Informação, Esplanada dos Ministérios, Bloco C, Sobreloja, Sala 133, 70046-900 , Brasília, DF.

Fonte: