Posted: outubro 5th, 2010 | Author: coredump | Filed under: Linux e Open Source, Programação | Tags: linux, ncurses, python
Update: dei uma mexida nele e já coloquei a versão nova no github. Agora ele parece um pouco mais rápido para sair. Atualizei o screenshot também (os mais atentos vão notar que as barras estão sendo desenhadas com dados de teste, bem mais altos que os loads mostrados no cabeçalho). 
Nesse final de semana de eleição tivemos de colocar umas coisas no ar na EBC para atender as demandas de infraestrutura dos sistemas suportando as rádios, agência de notícias, apuração em tempo real e tv ao vivo, e para isso fizemos vários testes incluíndo balanceamento e carga. Num desses um dos colegas do desenvolvimento me sacaneou porque eu estava usando os gráficos do Zabbix para monitorar o load dos servidores, enquanto usava o iftop em um terminator todo repartido para ver como andava a rede dos mesmos.
Como nada é mais inspirador que uma boa aporrinhação-construtiva, tirei um tempo nas madrugadas para fazer um trequinho em python-ncurses para a próximas vez que eu precisar monitorar o Load Average de máquinas em modo console. Na verdade, eu imagino que já exista, mas como eu ando precisando reanimar meus skills em python eu nem me esforcei muito para procurar. Abaixo dois screenshots da paradinha em funcionamento:
Essa é minha máquina local, com quatro processadores e pouco load. Não tinha nada a mão para gerar um bom enfileiramento de processos então ficou assim mesmo.
A idéia é a seguinte: até o meio da tela eu mostro uma barra linear que vai até o valor de Load Average igual ao número de CPUs disponíveis na sua máquina (ou seja, até onde o seu Load Average está tranquilo, leia isso aqui para entender). Depois disso eu uso um multiplicador configurável (no código claro) para mostrar a barra de excesso de load. Visualmente é fácil de interpretar, mesmo se estiver com vários abertos na: se a barra passou do meio da tela o load está alto demais e processos estão começando a enfileirar, quanto mais pro final da tela, pior.
Ainda tem algumas coisinhas cosméticas para mexer, e eu ainda tenho de testar em uma máquina com load alto de verdade, para ver como ele se comporta (por exemplo, se ele vai conseguir se atualizar corretamente com um grande enfileiramento acontecendo).
Mais um screenshot, agora usando o terminator para mostrar duas telas simultâneas, no meu VPS que só tem uma CPU: 
O código está no Github, você pode baixar direto clicando aqui. Obviamente, é GPL. É um bom exemplo de como usar ncurses com python também, para quem quiser ter um feeling de como era programar na era dos terminais. Por exemplo, eu tinha me esquecido como era ter de se lembrar de re-escrever a tela. Ou fazer barras usando código ASCII. Mas foi bem divertido. Vou dar mais umas hackeadas nele depois se pensar em mais informações ou alguma otimização que for interessante de fazer.
intel.
No Comments »
Posted: setembro 17th, 2010 | Author: coredump | Filed under: Linux e Open Source | Tags: admin, artigos
Eu me associei a LOPSA no Sysadmin Appreciation Day deste ano, tava baratinho, dá uns descontos para OReilly e é uma comunidade de Sysadmins, que era o que eu estava procurando. Eles também tem um ótimo Código de Ética. Numa dessas madrugadas insones eu aproveitei para dar uma traduzida inicial nele, que está colocada abaixo. Ainda tem coisa pra mexer e estou aceitando dicas.
O Código de Ética do Administrador de Sistemas
Nós como Administradores de Sistemas profissionais nos comprometemos aos mais altos padrões de conduta ética e profissional e concordamos em ser guiados por este código de ética, e encorajamos a todos outros Administradores de Sistemas a fazer o mesmo.
Profissionalismo Irei manter a conduta profissional no ambiente de trabalho e não permitirei que questões ou crenças pessoais me façam tratar pessoas injustamente ou sem profissionalismo.
Integridade Serei honesto nas minhas relações profissionais e verdadeiro nas minhas competências e nos impactos dos meus erros. Buscarei assistência de outros quando for necessário.
Irei evitar conflitos de interesses e tendências sempre que possível. Quando meu conselho for procurado, se eu tiver algum conflito de interesse ou tendência, irei declará-los se apropriado, e recusar se necessário.
Privacidade Irei acessar informações privadas em sistemas computacionais apenas quando necessário no curso de meus deveres técnicos. Irei manter e proteger a confidencialidade de qualquer informação a qual eu tenha tido acesso, independente do método pelo qual eu tenha tido conhecimento à mesma.
Leis e Normas Irei me educar com relação a leis, regulamentos e normas relativas a execução dos meus deveres.
Comunicação Irei me comunicar com a gerência, usuários e colegas sobre assuntos computacionais de interesse mútuo. Irei me esforçar para escutar e entender as necessidades de todas as partes envolvidas.
Integridade dos sistemas Irei me esforçar para garantir a integridade, confiabilidade e disponibilidade dos sistemas pelos quais eu sou responsável.
Irei desenhar e manter cada sistema de maneira a suportar o propósito do sistema para a organização.
Educação Irei continuar a atualizar e melhorar meu conhecimento técnico e outras habilidades relacionadas ao trabalho. Irei compartilhar meu conhecimento e experiência com outros.
Responsabilidade com a Comunidade de Computação Irei cooperar com a comunidade de computação para manter a integridade de redes e recursos computacionais.
Responsabilidade social Como profissional informado, irei encorajar o desenvolvilento e adoção de normas e leis consistentes com estes princípios éticos.
Responsabilidade ética Irei me esforçar para construir e manter um ambiente de trabalho seguro, sadio e produtivo.
Irei fazer o meu melhor para tomar decisões consistentes com a segurança, privacidade e bem estar da minha comunidade e do público, e revelar rapidamente fatores que possam representar riscos ou perigos desconhecidos.
Irei aceitar e oferecer críticas construtivas de trabalhos técnicos quando apropriado e irei creditar corretamente as contribuições de outros.
Irei liderar por exemplo, mantendo elevados padrões éticos e graus de profissionalismo no exercício dos meus deveres. Irei auxiliar meus colegas a seguir este código de ética.
No Comments »
Posted: setembro 9th, 2010 | Author: coredump | Filed under: Linux e Open Source, Uncategorized | Tags: debian, linux, linuxcon, nerdagem
Continuando, o segundo dia da LinuxCon prometia ser tão interessante quanto o primeiro, mas como meu voo estava marcado para mais tarde eu tinha de ficar esperto com bagagem, aeroporto e essas coisas.
O Panel com os desenvolvedores do Kernel foi bem interessante. Foi meio um QA sobre futuro e passado do Kernel, com direito a casos pitorescos como “Qual o código menos mantido no código do kernel” (resposta, a camada TTY).
Outras palestras interessantes do dia incluiram a do Glauber da Red Hat sobre KVM, que me deixou bastante animado com relação a evolução do projeto. Ou “produto” como eles chamam lá na corporação deles.
Teve um palestrante que faltou. Foi… Trágico.
A palestra do Thomas Gleixner do RT Patch foi hilária. Eles são realmente meio malucos, mas aparentemente o patch está a caminho de ser aprovado. Claro que existem penalidades de performance em se usar um sistema Real Time, em torno de 25% até, mas se você quer usar um real time kernel você tem de se conformar.
No final das contas, a qualidade das palestras da LinuxCon é inegável, principalmente dos palestrantes internacionais.
intel.
1 Comment »
Posted: setembro 1st, 2010 | Author: coredump | Filed under: Linux e Open Source | Tags: debian, linux, linuxcon, nerdagem
Depois de algum tempo sem ir a eventos de SL eu finalmente me animei a ir ao LinuxCon. Não vou negar que a presença do Linus, Andrew Morton e Jon Corbet da LWN não contaram na decisão, claro, é por isso que eles são chamados keynote speakers.
Primeiro dia, cheguei mais o fike já no final da palestra sobre MeeGo, mas nem senti muito porque o assunto não é láááá esse meu interesse todo (ojeriza a QT dá nisso). Eu meio que assisti a fala do Ian Pratt do Xen Project sobre os novos rumos do Xen e quando terminou tudo que eu conseguia pensar era em KVM. Ele meio que me perdeu quando mostrou a Virtualização para Notebooks. A idéia é boa? É boaish… Mas tem formas menos overkill de implementar, me parece.
A keynote seguinte foi o bate papo entre Linus Torvalds, Andrew Morton e Jim Zemlin da Linux Foundation, foi bem interessante, cheio de coisa que estamos carecas de saber mas que imagino tenha sido a primeira vez que muita gente tenha visto e em alguns casos como o meu foi a primeira vez que eu vi ao vivo, como por exemplo o fato do Linus ser um tosco
Mas ele fez o que pode para ser simpático e vencer a timidez que lhe é característica, imagino que por ser uma das raras visitas ao Brasil ele se dobrou para ser um pouco mais public relations, deu autógrafos, posou para algumas fotos (não para todas, tinha muita gente).

Andrew Morton, coredump e boné do debian
O Andrew Morton foi menos assediado, consegui uma foto com ele para minha coleção tiete.
O problema do assédio é bem complicado. Por um lado, o Linus tinha de entender que existem pessoas que vão tentar tirar fotos e conversar e pedir autógrafos e tal. Pelo outro lado, isso deve ser um SACO, e a incapacidade de se locomover por um evento pode ser um ótimo motivo para nunca mais voltar. Na verdade, me disseram que na convenção da Austrália espalharam cartazes pedindo para não aporrinharem demais o coitado se quisessem que ele voltasse.
Vem com a fama. Não imagino que ele queria ser famoso quando ele escolheu ser programador na verdade. Como ele mesmo disse, ele só escolheu uma profissão que garantiria que ele sempre teria dinheiro pra viver

Linus, cercado e autografando
Depois do almoço acabei perdendo a palestra do Jon Corbet, no finalzinho que peguei ele falava sobre System Tap e performance counters no Linux, boas novidades para quem sente falta de um dtrace de gente grande como nós pobres sysadmins.
A palestra do Jeremy Allison foi uma grata surpresa. Ele trabalha no Google com Samba, estava no evento como representante do projeto e é um dos criadores da parada. Ele falou muito sobre como usar o Samba em dispositivos embarcados ou produtos próprios, como interagir (e como não interagir) com o Dev Team do Samba. Também falou da preocupação com a segurança e de alguns projetos interessantes, como uma empresa (não citada) que está trabalhando com o Samba 4 para fornecer uma solução completa de substituição do Active Directory e um projeto que ele está trabalhando no Google, que também usa Samba 4 e que, de acordo com ele, se contasse teria de nos matar depois. Mas só o prospecto de Samba 4 + Google dá o que pensar né?
Abordei ele depois da palestra para conversar sobre Samba e consegui uma boa confirmação de que a versão atual no git HEAD do projeto já consegue substituir um AD com um número razoável de usuários (1500-2000) desde que não tenha relações de confiança demais, com sucesso, e que mais ou menos no meio do ano que vem o Samba 4 deve estar sendo lançado.
Chupa. Active. Directory.
Depois dessa palestra eu fiquei mais zanzando e fazendo um networking com uns conhecidos que eu não via a tempos. Otávio, e faw do Debian, andrelop, Luiz Blanes, Corinto Meffe, Deivi Khun (esse é meu vizinho na verdade), Julio Neves, e por ai vai.
Cena engraçada e frase punk do dia:
Otávio, fike, eu, faw, andrelop e mais uns chegados parados conversando e combinando uma churrascaria
Camarada da Organização:
- E ai, vocês vão no jantar dos famosos?
Todo mundo se entreolha, faw responde:
- Claro que não, você está olhando pro chão de fábrica do software livre.
Amanhã, último dia e volta pra casa. Cheio de idéias! Compra-se dia de 30 horas para implementá-las todas!
intel
No Comments »
Posted: junho 24th, 2010 | Author: coredump | Filed under: Linux e Open Source | Tags: linux, opinião
Esse post é uma rant. Nem é tão pela minha palestra não ter sido chamada, é mais pela esquisitisse da coisa.
Para quem não sabe, o FISL mudou a avaliação esse ano. Basicamente, organizaram as palestras em duplas, como se fosse um campeonato, e todo mundo que submeteu palestras ganhou tokens para avaliar 5 palestras, funcionando como um campeonato de Xadrez: você podia escolher qual das duas palestras “ganhava” entre as duas avaliadas, se “empatava” ou ainda podia pular aquelas duas e ir para outras palestras.
Os problemas na minha opinião começam exatamente na opção de ‘pular’ as palestras. Com isso eu pude simplesmente ficar pulando as palestras até cair em uma que eu conhecesse o palestrante ou o assunto e escolhesse aquela. Eu espero que o sistema tenha sido desenhado de forma que todas as palestras recebessem o mesmo número de votos!
O outro problema é que essa forma de avaliação virou um concurso de popularidade. Obviamente as pessoas escolheram palestras de pessoas que conheciam, ou de assuntos extremamente populares mas não necessariamente relevantes.
Alguns exemplos: Se você usa Java, o FISL não vai ser um lugar interessante para você. Das 20 palestras na trilha PHP/Java, só 3 falam de Java. Na trilha de assuntos emergentes, 5 das 10 palestras são sobre Cloud Computing e 2 sobre virtualização (que é bem ali, pregado em Cloud Computing).
Esse efeito parece ser menos acentuado nas trilhas mais especializadas, como a de Kernel e a de Segurança, mas mesmo assim o que se observa é que os assuntos ‘populares’ foram escolhidos a revelia de assuntos que poderiam ser interessantes, mas que os ‘avaliadores’ (palestrantes) não tinham como julgar.
Por exemplo, na trilha de Desenvolvimento (outras linguagens) você tem palestras sobre Javascript, MySQL Stored Procedures e Shell Script, mas deixaram palestras sobre Clojure, Scala e C de fora. Isso só demonstra que as pessoas que estavam avaliando estavam pensando no pop, não no realmente interessante. Se você analisar bem as trilhas, vai ver que as palestras escolhidas são sempre as que apresentam uma solução (nem sempre nova), enquanto as que são de aprofundamento em algum assunto ou ferramenta são largadas de lado.
Isso vai de encontro ao que se espera do FISL: palestras que mostrem para quem já trabalha na área temas tecnicamente atraentes ou assuntos populares/básicos? Precisamos realmente de tantas palestras de PHP e Cloud Computing, deixando de fora assuntos não populares mas extremamente interessantes? Eu preferiria ver palestras sobre novas linguagens como Scala e Clojure do que MAIS UMA palestra sobre Shell Script, mas aparentemente eu sou a minoria
Acho que é muito bonito isso de ‘democratizar a escolha das palestras’, mas ainda acho que esse tipo de coisa tem de ser resolvida na base de benevolent dictatorship mesmo, ou pelo menos uma forma de garantir que um certo nível de homogeneidade seja mantida.
intel
PS: Claro, a sempre presente palestra “Mulheres e Software Livre” está lá de novo esse ano. É quase uma presença tão garantida quanto o Maddog.
3 Comments »
Comentários