04/04/2014

Modificando o cursor no vim

Se sua rotina de trabalho incluir análise de arquivos texto, como layouts fixos, arquivos xml ou mesmo arquivos de log, uma boa alternativa para o vim é setar cursorline, que apresentará uma linha indicando a linha do cursor. Alternativamente, sete também cursorcolumn para ver a coluna do cursor; Para numerar as linhas, use set nu, finalmente, para linhas longas utilize set nowrap para apresentar linhas continuamente, sem a quebra na tela.

:set cursorline
:set cursorcolumn
:set nu
:set nocursorline
:set nocursorcolumn
:set nonu
:set nowrap

17/03/2014

Sequências com vim / shell

Gerar uma sequência numéria pode ajudar em muitos casos, como por exemplo, gerar uma lista de números ip; com o Vim isto fica fácil de resolver por exemplo, suponha que necessita gerar uma lista do ip 192.168.1.0 até 192.168.1.254, então o comando para obter o resultado ficaria:

:for i in range(1,254) | .put ='192.168.1.'.i  | endfor

Uma sequência numérica normal também pode ser obtida usando a função put:

:put =range(30,40)

Pode se usar valores negativos:

:put =range(-30,-40)

Gerar uma sequência no shell, por exemplo de 1 a 10

for ((i=1;i<=10;i++));do echo $i;done
for i in $(seq 10); do echo $i;done




13/02/2014

Wiki como ferramenta de colaboração ...

2012, ano que o mundo não acabou apesar das promessas de ir para um "mundo novo", algums pessoas foram sim para o "Novo Mundo" e de  ônibus. Brincadeiras a parte, realmente foi um ano dificil inclusive para este que lhes escreve, com desáfios em todas as areas da vida. Mesmo assim, conclui um curso de especialização e o resultado está disponível para quem tiver interesse. Considere que é um TCC e não uma tese de mestrado ou doutourado. Espero que seja útil.

18/11/2013

Fórum Permanente Paraná - Software Livre - 1ª Etapa

Nos últimos tempos, pode-se constatar que o avanço da tecnologia da informação contribuiu  para aumentar as opções de Softwares Livres e Proprietários  disponíveis  no mercado. Os usuários tem a liberdade de escolher as opções adequadas para o seu uso profissional e pessoal, assim como os governos, porém, as  deliberações  decorrentes  de políticas  públicas afetam  diretamente todos os cidadãos.

A adequação das políticas públicas às necessidades coletivas é um ponto  que  deve  ser  tratado em todos os setores da sociedade. As decisões dos governantes  devem estar em conformidade com os anseios dos cidadãos. Em se tratando do uso de softwares, esse é um fator para reflexão.  O processo de seleção dos  softwares para o uso público torna-se um assunto de importância ímpar em nosso cotidiano, bem como a manutenção de políticas que visem a difusão da tecnologia associada a redução de custos para permitir o acesso a tecnologia principalmente para os indivíduos em situação de fragilidade  social.

A primeira edição do Fórum Permanente em Prol do Software Livre no Paraná tem por objetivo refletir sobre as políticas públicas e a adesão ao uso de Software Livres em nosso  estado.  O  evento é organizado  pela  comunidade  Curitiba  Livre  e ocorrerá no dia 23 de Novembro de 2013.

A sua presença irá enriquecer esse debate! Quem mora em outras cidades poderá acompanhar a transmissão online.

Na primeira edição estarão presentes os seguintes debatedores:


  •  Deputado Pastor Edson Praczyk (PRB) - autor da leis estaduais sobre
  • Software Livre (Leis 14058 e 14195) e Open Document Format ODF (Lei 15742).
  •  Prof. Dr. Marcos Castilho - Chefe do Departamento de Informática da UFPR.
  •  Rodrigo Robles - membro da comunidade Curitiba Livre.
  •  Eng. Msc. Juliano Bueno de Araújo - Secretário Executivo do Fórum do Movimento Ambientalista do Paraná.


Detalhes:

- Horário: 14:00 horas
- Local: Auditório do Fórum Ambientalista do Paraná.
- Endereço: Rua Gaspar Carrilho Júnior, 001 - Jardim Schaffer
- Vista Alegre/Bom Retiro (anexo ao Bosque Gutierrez)

Mais informações e inscrição:

Fonte: Comunidade de Software Livre de Curitiba e Região

06/09/2013

Software Freedom Day 2013


A comemoração do Software Freedom Day (ou dia da liberdade do software) é um excelente motivo para reunir as pessoas interessadas na cultura do Software Livre. É um evento mundial e este ano acontece no dia 21/09/2013. No Brasil já são 16 cidades inscritas [1]. Procure em sua cidade onde terá o evento e considere ser organizador e increva sua cidade. Em Curitiba, o evento será na Fesp com uma excelente programação [2]. Será oferecido certificado para quem se inscrever [3], mas a inscrição não é obrigatória. 


16/08/2013

Parabéns Projeto Debian pelos 20 anos




O Projeto Debian é do tipo de criação que se não existisse deveria ser criada. Exemplo de organização por meritocracia que coloca seus usuários no topo e alvo de seus desenvolvimentos, previlegiando do pequeno ao grande consumidor de software livre, promovendo uma clareza e defesa dos interesses comuns através da sua DFSG. É um Projeto grande, pujante, agregador da maior força de usuários, desenvolvedores, hackers, curiosos, etc, mas com uma leveza próprios daqueles que são transparentes e preocupados com a liberdade das pessoas.

Parabéns pelos 20 anos! Agradecemos por oferecer-nos um sistema robusto e confiável para nosso servidores, desktop's e para outros produtos derivados. 

Continuaremos usando apt-get moo por muito tempo e oferecendo tuxpaint para os pequenos, mais novos que o projeto :)



26/07/2013

SysAdmin Day

SysAdmin
Seria muito simples e bom se o trabalho de SysAdmin continuasse no scopo de alguns anos atráz, como por exemplo, melhorando redes, firewall, switchs, roteadores ou instalando novos servidores. Não é nada chato monitorar todo o sistema remotamente quando é conhecido a manutenção da concessionária de energia ou internet; pesquisar e testar novas ferramentas, sistemas operacionais, etc

Mas pelas suas competências (thanks all!)  muitas outras atividades coube  embaixo do guarda chuva do SysAdmin, como a gestão de certificados digitiais, a gestão de dados, serviços e servidores na nuvem, cuidados com as conexões voip, entre outras coisas e até as tarefas chatas, como trocar o tonner da impressora ou descobrir que existe um atolamento de papel. Outras coisas boas, como a Governança de TI,  Gestão de Projetos são desafios que exigem desenvolvimento constante da equipe do SysAdmin (que normalmente é ele com ele mesmo :) )

Algumas tarefas de usuários deixam a vida do SysAdmin muito angústiante, por exemplo, a) configurar aquele sistema de e-mail que não permite um arquivo de Inbox maior que 2gb; descobrir que o sistema de e-mail corrompeu os dados do usuário que não quer e não entende o problema e não permite migrar para uma ferramenta nova; b) quando o usuário reclama que não salva o documento e você percebe que ele foi capaz de abrir um arquivo compactado, acessar o documento e quer que seja salvo; c) o usuário quer abrir uma planilha apartir de um editor de textos (e o contrário também); d) o usuário "salva como" para transferir um arquivo para outro dispositivo, gerando versões do mesmo arquivo, ignorando pra isso o "gerenciador de arquivos"; e) o usuário faz o passo acima e quer criar uma nova pasta e reclama que o SO fica lento, ignorando mais uma vez o "gerenciador de arquivos"; f) o usuário torce o nariz quando é proposto alternativas livres; g) o usuário tráz o PC de seu "home office" para correção de seu SO e acha que o SysAdmin é sócio da MS; o usuário não entende o conceito de "martelada no cravo e na ferradura" (vista, xp, seven, 8,...); i) o usuário cola uma planilha como imagem e quer editar o resultado ;j) usar gravatas em alguns casos também é angustiante.

Parabéns à todos os SysAdmin's pelo seu dia e motivem-se para um mundo melhor!

05/05/2013

Lançado o Debian 7.0 "Wheezy"

Debian
Obrigado Projeto Debian por mais um lançamento tão esperado como o Wheezy; Para nós que mantemos nossos próprios sistema operacionais em computadores pessoais e em servidores, é uma satisfação muito grande contar com um projeto tão envolvido com qualidade, segurança e liberdade para seus usuários;

Vamos continuar incansávelmente divulgando o projeto para outras pessoas, não somente como alternativa de um sistema operacional, mas como o melhor Sistema Operacional Universal.


Notas de lançamento:
http://www.debian.org/News/2013/20130504
http://www.debian.org/News/2013/20130504.pt.html
http://bits.debian.org/

19/04/2013

Aprendendo Shell / Bash


Em uma aula de Software Livre, abordei as questões da necessidade de uma certa fluência na utilização dos comandos mais conhecidos por linha de comando, ou CL (Command Line); Quando menciono certa fluência, o que quero dizer é o conhecimento básico para administração de um sistema, manipulação de arquivos de configuração, cópias de arquivos, uso de utilitários de atualização do sistema, como "aptitude", "apt-get", "dpkg" ou edição de textos com "vim".

Quem não conhece ou nunca utilizou os comandos presentes no shell, não imagina o ganho de produtividade e versatilidade em administrar Sistemas Linux. Naturalmente, o aprendizado não é somente memorização de comandos e suas sintaxes, mas no curto e médio prazo, ja é possível tirar bons proveitos do estudo de cada domando. Além disso, altamente recomendado como uma primeira linguagem para aprender os primeiros passos em programação de computadores conforme Jon "Maddog" Hall no seu blog em [1].

Então, o shell é um interpretador que está entre o usuário e o kernel do sistema operacional, fazendo todas as análises dos comandos, checando por exemplo sua sintaxe, se o comando é válido e enviando as requisições para execução. Costumo dizer que o shell é o ponto mais próximos que podemos estar do kernel de um sistema Linux e, lógicamente, o kernel é o ponto mais próximo dos dispositivos de hardware própriamente dito, como execução de comandos de leitura e gravação em disco ou comunicação com impressoras por exemplo. Como dito no paragráfo anterior, outra grande utilidade do shell é ser uma linguagem de programação, conhecida como "script shell" com objetivos de automatizar programas, configurações, instalações, etc.

Crédito imagem: http://apoie.org/JulioNeves/PapoI.htm


O Shell mais conhecido no mundo Linux é o  bash − GNU Bourne-Again SHell. O Bash é um interpretador de comando compatível com sh capaz de executar comandos pela entrada padrão ou através de um arquivo. Também incorpora características úteis do ksh e csh, fielmente seguindo as especificações POSIX (IEEE Standard 1003.1).

Caso necessite informações sobre o bash, instale o bash-doc e vefifique sua documentação em /usr/share/doc/bash-doc ou sua man page (man bash);


Para trabalhar com eficácia no Shell, recomendo o estudo de alguns comandos simples e ter disciplina para aprender todo dia um pouco, por exemplo, iniciando por aqueles comandos mais simples, com manipulação de arquivos e diretórios; ao surgir dúvidas, a ferramenta mais acessível para ter informações sobre um comando é o próprio comando seguido do --help, como por exemplo ls --help, ou usando a man page (man ls); Abaixo vou listar comandos que julgo ser necessário seu estudo para uma utilização do estudante de Software Livre:


pwd mostra o diretório atual
ls                 lista arquivos no diretório corrente (ls -l, ls -lhat)
man             exibe um manual do comando especificado (man ls)
mkdir          cria um diretório
rm               remove arquivo
rm -rf          cuidado, remove diretório de forma recursiva
|                  pipe, concatena comandos
>            cria arquivo
>>     cria ou adiciona dados em um arquivo
/dev/null      direciona a saida descartando os resultados
find             comando útil para localização de arquivos
ps               mostra os processos correntes, ex ps -aux
kill              mata um processo pelo seu número
pkill            mata um processo pelo seu nome
alias           útil para dar "apelidos" a comandos, ex: alias cp='cp -i'
cal             apresenda o calendário
chmod       permite atribuir modos a um arquivo
less            similar ao more, premite visualizar o conteúdo de um arquivo
chown       permite alterar dono e grupo de um arquivo
clear (ctrl+l)  limpa a tela
tar             comando para backup
gzip           comprime ou expande um arquivo
date           mostra a data corrente, configura data no sistema
du              disk user
df               reporta o espaço usado no disco
file             determina um tipo de arquivo
find            procura por arquivos na hierarquia de diretórios          
head          mostra o inicio de um arquivo
ln              cria links simbólicos
mail            envia e-mail
more            controla a saida de um comando
password        cria, altera senha, bloqueio/desbloqueio de usuário
ping            não conhece o ping?
hostname        retorna ou configura o hostname de uma máquina
reboot          reinicia o sistema
shutdown        desliga o sistema
rmdir           exclui um diretório
tail            útil para checagem de logs
su              sudo user
wc              util para contar linhas, palavras de um arquivo
whereis         mostra o local de um comando    
who             who am i
top             mostra informações sobre o sistema, atividade, uptime, etc
uptime          mostra tempo do sistema ligado
mount           monta dispositivos de blocos, discos, etc
umount        

Alguns comandos, podem necessitar de poderes de sudo ou ainda utilizar a conta de root! Sobre isto, veja mais em root, direitos, privilégios e segurança;

O domínio dos comandos acima, mesmo que básico, já ajuda o estudante a ter fluência na manipulação de dados via linha de comando; Aproveite as possibilidades de usar Linux e divirta-se.


[1] http://www.lpi.org/blog/shell-powerful-first-computer-language

27/03/2013

Dia da Liberdade dos Documentos (27/03/2013)

Dia da Liberdade dos Documentos
#dfd
Pensando no dia da liberdade dos documentos, lembro-me dos primeiros editores de textos e das primeiras planilhas eletrônicas. Por exemplo, no MSX (HotBIT Sharp) trabalhava muito bem com o HotCalc, um programa que era carregado de um cartucho inserido no Slot A; O programa para edição de textos, era carregado diretamente do tape recorder através de cabos na entrada "aux", após alguns minutos de leitura e um pouco com sorte. Neste cenário, minhas planilhas e documentos, incluindo coisas profissionais, eram salvos nestas fitas cassete. As coisas profissionais a que me refiro, também eram  impressas em uma impressora eletro-mecânica, que era o caso da Praxis 20, uma Olivetti devidamente adaptada com uma interface paralela. Nos 1980-1990 era assim, todo mundo que aprendeu naquele tempo, tem conceitos. No anos 1990-2000, experimentamos diversas tecnologias para edição de documentos e planilhas, dentre estas tecnologias o Editor Fácil, para texots, EasyCalc para planilhas para citar somente alguns. Empresas com poder econômico e reserva de mercado, transformaram a Fácil Informática em sombra do passado! 

Segundo Maiko Rafael Spiess / Marcos Antônio Mattedi [1] "Enquanto o Fácil para MS-DOS traduzia interesses com uma facilidade espantosa, por justamente “se deixar alistar” pelos interesses alheios, como a adequação à língua portuguesa, o Fácil para Windows encontrou um ambiente muito mais hostil. Enquanto o primeiro, em termos práticos, precisava apenas demonstrar ser um todo coerente e funcional para ser adotado, utilizado e incorporado por outros atores, o segundo precisou envolver-se em traduções de interesses cada vez mais tortuosas e menos favoráveis. Eventualmente, as bem-sucedidas estratégias de translação de interesses empregadas pela Microsoft, envolvendo um novo paradigma de sistema operacional, aplicativos integrados e a opinião especializada, fortaleceram ainda mais uma rede local coerente e estável, a ponto de ela atrair para si a força da grande maioria dos usuários de microcomputadores desde então. Os usuários foram convencidos pela Microsoft que a realização de seus interesses e o futuro da informática passavam necessariamente pelo Windows e pelo processador de textos Word. O Fácil, por outro lado, ainda um produto viável, mas progressivamente com menos destaque na mídia especializada, sem o aparato de marketing e pesquisa da gigante norte-americana, atraía cada vez menos aliados e consumidores. Conforme ele se enfraquecia, menos convincente se tornava em uma futura negociação de interesses. Com seus antigos compradores sendo convencidos pela Microsoft, a força dos processadores de textos Fácil foi rapidamente drenada em direção ao Microsoft Word e seus programas irmãos..."

Dito isto e torcendo muito que você tenha se interessado até aqui, lembro que as fitas citadas acima já não são mais possíveis de  serem lidas e os arquivos não são mais recuperáveis. Então, da mesma forma que somos atores no cenário da tecnologia, somos impactados por ela enquanto cidadãos, empresas ou governos. A experiência, estudos e organizações mostram que cuidados devem ser tomados para que nossos documentos (no sentido amplo) devão ser tratados como um bem que precisa ser preservado. Iniciativas como Document Freedom Day [2] ou Dia da Liberdade dos Documentos [3] devem ser estimuladas como uma grande conquista, ou ainda, uma grande "construção social", mesmo que  pressionada pelos formatos fechados;

Finalizo com o pensamento abaixo do Sr Charles-H. Schulz, Director da Document Foundation e Membro da administração do OASIS Consortium:

"Liberdade Documental é uma parte enorme da nossa liberdade digital, e no entanto a que se presta pouca atenção. Toda a gente devia poder usar, reutilizar e distribuir livremente documentos digitais e os dados contidos neles. Infelizmente formatos fechados e proprietários restringem a nossa liberdade de poder usufruir dessas liberdades e de interoperar bem com outros. Para que se possa permitir e garantir a liberdade documental precisamos de usar, promover e desenvolver verdadeiros standards abertos que não tenham problemas de patentes, e de usar software e tencologias inovativas e inclusivas. O Software Livre pode ter um papel para ajudar muito nestes assuntos." Fonte http://www.documentfreedom.org/testimonials.html

Referências:
[1](Maiko Rafael Spiess, Marcos Antônio Mattedi, pg 463 <http://www.scielo.br/pdf/mana/v16n2/08.pdf>, acesso em 27/03/2013)
[2] http://www.documentfreedom.org/index.pt.html
[3] http://documentfreedom.org.br/