Planeta Debian Brasil

01/09/2010

Éverton M. Arruda Jr. (notrev)

echo “Olá, Debian Brasil!”

Agora estou no Planeta Debian Brasil! Valeu, faw[0] !

Como sou novo por aqui, devo me apresentar:
Me chamo Éverton Arruda, nickname: notrev, nascido em 12 de Abril de 1988, estudante de Ciência da Computação da Universidade Federal do Amazonas.

Meu primeiro contato com Linux foi aos 15 anos, com a distro Conectiva. Após isso passei muito tempo sem usá-lo, até que em 2006 conheci o Rodrigo Belém[1], que foi quem me resgatou do lado negro da força. Então eu comecei a utilizar o Ubuntu, uma distro que parecia ser promissora e que possuía uma comunidade crescente.

O Rodrigo me apresentou ao Debian-AM[2], Grupo de Usuários Debian do Amazonas, onde conheci outros nerdões que hoje são grandes amigos meus. Passei a me envolver mais com a comunidade de Software Livre local e hoje, além do Debian-AM, sou membro da Comunidade Sol Software Livre[3] e membro fundador do Projeto Software Livre Amazonas[4].

Após um ano de Ubuntu decidi testar o Debian, por me dizerem que era um sistema bastante estável e confiável. Depois desse dia a minha paixão pelo Debian só cresceu e hoje estou aqui, postando no Planeta Debian Brasil.

[0] http://faw.sh
[1] http://rbelem.blogspot.com
[2] http://am.debianbrasil.org
[3] http://comunidadesol.org
[4] http://am.softwarelivre.org

por Éverton Arruda em 01/09/2010 18:24

22/08/2010

João Eriberto Mota Filho

Damn Vulnerable Linux (DVL) – o sistema operacional mais vulnerável que existe!

Sem querer achei isso no Twitter há pouco.

A ideia é interessante. Trata-se de um Live DVD GNU/Linux com várias falhas de segurança, permitindo ataques diversos, como SQL injection e buffer overflow. Apesar de ser um Live DVD, o DVL pode rodar a partir de sistemas de máquinas virtuais ou ser instalado em um desktop ou pendrive.

Segundo o líder do projeto, Dr. Thorsten Schneider, a distro de janeiro de 2009 e em processo de atualização, serve como um sistema de treinamento e aprendizado que ele usa para ensinar segurança para universitários. O ISO da mídia tem 1.8 GB e contém versões antigas do Apache, MySQL, PHP, FTP e SSH. O DVD é desenvolvido por algumas pessoas com conhecimentos do tipo “black hat” e já teve mais de 500.000 downloads.

Em virtude da grande quantidade de downloads, atualmente, o DVL só está disponível via torrent.

Essa é uma dica para quem quer montar um laboratório para aprender sobre segurança, principalmente em uma rede interna e controlada. Mas cuidado: não disponibilize uma máquina vulnerável na Internet sem saber o que está fazendo ou usando um computador com dados e documentos pessoais. Você poderá perder todos os seus arquivos.

O site do DVL é http://www.damnvulnerablelinux.org.

Adendo em 22 ago. 2010, às 18:20h:

O DVL é baseado no SLAX.

por Eriberto em 22/08/2010 13:08

17/08/2010

João Eriberto Mota Filho

A minha oficina de forense no Consegi 2010 (amanhã)

17 ago. 2010 – 16:45 h

Estou ralando aqui para fazer os guias de consulta rápida para a minha oficina de forense amanhã no Consegi. Acabo de terminar o primeiro. É muita coisa. Então, terei que dividir em duas partes. Assim sendo, o guia Perícia Linux com Debian GNU/Linux – Parte 1: Procedimentos iniciais e coletas está disponível em http://eriberto.pro.br/forense.

Assim que eu tiver novidades, possivelmente hoje ainda, posto aqui e no meu Twitter.

17 ago. 2010 – 22:51 h

Ok, disponibilizado no mesmo site o o guia Perícia Linux com Debian GNU/Linux – Parte 2: Análise de evidências e laudo.

Agora só faltam os slides atualizados.

17 ago. 2010 – 23:31 h

Palestra atualizada e disponível em http://www.eriberto.pro.br/palestras. The end.

Até amanhã no Consegi! E obrigado à organização do evento pelo convite.

por Eriberto em 17/08/2010 19:54

16/08/2010

Thadeu Penna

Auto-Ajuda para Desativação do Estresse na UFF

Está na página da UFF, a universidade pública com a qual tenho um vínculo empregatício, o anúncio de mais um curso de Auto-Ajuda para Desativação do Estresse, a ser ministrado pelo “professor” Fernando Gregorio da Silva, terapeuta holístico, corporal e reikiano. O curso é oferecido aos servidores e alunos da Universidade Federal Fluminense. Vejamos: eu procurei o referido professor, no Google, para saber porque o mesmo faria jus ao título, se era porque é um árbitro ou técnico de futebol. Curiosamente, a procura no Google só retorna este curso que ele oferece na UFF!

Fui procurar então o que seria um terapeuta reikiano. A primeira opção é a Wikipédia. A definição é “Reiki é uma terapia baseada na canalização da energia universal (rei) através da imposição de mãos com o objetivo de restabelecer o equilíbrio energético vital de quem a recebe e, assim, restaurar o estado de equilíbrio natural”. No mesmo artigo, provavelmente escrito por alguém reikiano, segue-se: ” Há diversos estudos que comprovam sua eficácia, sendo que muitos podem ser encontrados no site Pubmed.[carece de fontes][1][2]”. O primeiro artigo é - Lee, MS; MH Pittler, E Ernst (2008). “Effects of reiki in clinical practice: a systematic review of randomized clinical trials”. International Journal of Clinical Practice. Uma referência científica confere credibilidade, não é ? E se fôssemos procurar o que diz a citada referência. Temos acesso ao abstract (ou resumo):

  • Discussion:  In total, the trial data for any one condition are scarce and independent replications are not available for each condition. Most trials suffered from methodological flaws such as small sample size, inadequate study design and poor reporting.
  • Conclusion:  In conclusion, the evidence is insufficient to suggest that reiki is an effective treatment for any condition. Therefore the value of reiki remains unproven.

Ou seja o artigo não só não confirma a eficácia como sugere que estudos que tenham mostrado algum efeito, tem falhas metodológicas na análise.

O segundo artigo é um artigo de jornal, no The Sunday Times, onde o médicos cobram a retirada de circulação de material financiado com 900.000 libras, pelo Departamento de Saúde, sobre “tratamentos alternativos”, entre eles o Reiki, onde é explicitamente declarado:

  • Reiki: used for physical, mental and emotional conditions
    • There is no good evidence that Reiki is effective for any condition
Read or add comments to this article

por tjpp em 16/08/2010 21:22

Gustavo Noronha Silva

O pior cego é aquele que não quer ver

Cegueira ideológica e Tribalismo

Muita gente repete que o pior cego é o que não quer ver, mas muito pouca gente me parece refletir a respeito do que isso quer de fato dizer. O Mark Shuttleworth fez há pouco tempo um post em seu blog que eu acho que vai no ponto exato da questão quando fala de algo que ele chama de “tribalismo“.

Eu tenho chamado esse comportamento de “cegueira ideológica”, mas acho que vou adotar o termo dele, que é bem mais simples e acho que bem mais correto, porque não se trata apenas de ideologia! Ele fala de 2 tipos de argumento que aparecem muito nos discursos tribalizados: “o outro pessoal nunca fez nada” (muito comum nas campanhas políticas, inclusive) e “evidência que contraria minha crença/visão não conta”.

Esse tipo de comportamento tribal aparece nas mais diversas áreas da nossa vida. Torcedores de futebol, defensores de uma determinada tecnologia ou ideia, militantes de um partido (ou, no Brasil, indivíduo!). Recentemente várias coisas interessantes aconteceram que me fizeram pensar mais e mais nesse tipo de comportamento.

O mais recente foi o processo movido pela Oracle contra o Google por violação de patentes relacionadas ao Java no Android. Não é segredo pra ninguém que eu não gosto de Java. Esse meu desgosto pela tecnologia é multi-facetado: eu não gosto da sintaxe, acho que tecnologias Java costumam complicar muito mais do que o necessário e pra piorar toda a situação nós não tínhamos uma implementação livre. Meus problemas com a tecnologia foram diminuindo com o tempo em razão de vários progressos que foram feitos - VMs livres começaram a aparecer, a própria Sun liberou as partes que podia da sua VM e por aí vai. Gostando ou não, eu acho importante que Java seja uma das ferramentas disponíveis para a realização da liberdade de software e vejo na ação da Oracle uma grande ameaça que precisa ser rechaçada.

O Java é Livre! Oh really?

Muitos anos atrás, no entanto, era comum encontrar gente que se dizia defensora de Software Livre advogando uso de Java - numa época em que nós sequer tínhamos uma implementação livre da VM e das bibliotecas básicas. Um dos principais argumentos era que a especificação era aberta e construída de forma aberta, também. Eu acho ambas as afirmações muito discutíveis, mas como elas são irrelevantes para a discussão atual não vou aprofundar agora.

Com o surgimento do .NET, seguido do Mono, uma alternativa viável ao Java como linguagem de alto nível baseada em uma VM poderosa começou a se desenhar - e com uma implementação livre! Aplicações úteis e interessantes começaram a aparecer no desktop livre, coisa que nunca houve com Java. Não demorou quase nada para esses defensores de Java caírem de pau no Mono, é claro - .NET é uma tecnologia da Microsoft, recheada de patentes, certamente, diziam. A Microsoft vai querer destruir a comunidade de SL na primeira oportunidade - assim que dependêssemos o suficiente do Mono. Eles não estavam errados, note, eles estavam muito certos e embora os riscos tenham sido diminuídos com o tempo por várias razões eles ainda são bem reais! Mas os mesmos riscos que eles viam no Mono também existiam para o Java, sempre existiram, mas eles se negavam a ver ou concordar. “A Sun é muito mais comprometida com a liberdade que a Microsoft” diziam eles. Yeah, sure.

Eu não estou argumentando que eles deviam deixar Java de lado, note bem. Eu acho que eles deviam sim, como fizeram, ter lutado para que Java fosse mais uma opção para nossa comunidade criar e exercer suas liberdades. Eu respeitaria qualquer um que dissesse “Sim, eu reconheço e assumo os riscos. Se um dia chegar a esse pior caso eu vou lutar para defender nossa liberdade frente às patentes”. Agora, 6-10 anos depois, chegou a hora da tribo do Java rever os seus conceitos e de nós todos, como comunidade, ajudarmos na defesa do Google!

E não para por aí, infelizmente.

O tribalismo não para por aí, infelizmente. É comum encontrar diversos casos em que as pessoas propagam informações a favor do que defende sem verificar (se é a favor tem que estar certo, né?) e de achar cabelo em ovo nas informações que são contra seus defendidos ou a favor dos seus “inimigos” (da época). Isso aconteceu no caso em que se divulgou por exemplo que o Windows 7 usava código do Linux, quando na verdade uma ferramenta secundária que sequer é distribuída junto com o Windows 7 usava código GPL de uma outra ferramenta publicada no Codeplex da Microsoft, que não tinha nada a ver com o Linux.

Isso também acontece sempre nas campanhas políticas, é claro e eu não paro de rir de gente fazendo defesas absurdas e fazendo a caveira dos inimigos de ocasião. Isso acaba por fazer que os debates sobre o que as pessoas defendem de fato fiquem em segundo plano, substituídos por etiquetas simplistas e simplificadoras e por discursos populistas de todos os lados.

Outro alvo recente de tribalismo é o Google. Nosso aliado em várias frentes é inegável que o Google também tem várias atitudes que ferem a sua promessa de não ser “evil”. Apesar disso, há aqueles que fazem uma defesa quase incondicional do Google, assim como há aqueles que só fazem a caveira.

É preciso ver que, como qualquer organização grande o Google tem várias forças puxando para lados distintos. De um lado, um grande usuário de tecnologias livres, um grande desenvolvedor de softwares livres, com contribuições de vulto tanto em projetos novos como em projetos existentes, um garoto propaganda da liberdade e abertura na web, inclusive com enormes contribuições para esse objetivo. De outro lado, falta de sensibilidade no tratamento da privacidade de seus usuários, mudanças de posição inesperadas com relação à política de neutralidade da rede, discriminação de minorias, síndrome do “Not Invented Here”, com projetos novos sendo criados ao invés de colaborar com já existentes e por aí vai. É importante reconhecer e tratar cada uma dessas facetas de forma separada, sem fazer defesas ou caveiras incondicionalmente.

Veja também

Alguns outros posts interessantes sobre o assunto Oracle vs Google:

por kov em 16/08/2010 15:33

João Eriberto Mota Filho

Debian completa 17 anos hoje!

A maior distribuição GNU/Linux do mundo completa hoje 17 anos de existência.

O Debian foi criado por Ian Murdock em 16 de agosto de 1993 e, atualmente, é a segunda distro mais antiga existente no mundo. A mais antiga é o Slackware, que é um mês mais velho que o Debian (16 de julho de 1993).

Se você visitar qualquer bug report do Debian no dia de hoje (em http://bugs.debian.org), verá balões, como mostrado abaixo:

Também há um site comemorativo, disponível em http://thank.debian.net, onde as pessoas podem deixar mensagens para o Debian.

Parabéns ao Debian, o maior projeto de Software Livre do planeta e o perfeito exemplo de trabalho em comunidade!

por Eriberto em 16/08/2010 13:57

14/08/2010

Andre Luis Lopes

One can’t always get what one wants (really?)

Those of you who may be loosing your valuable time trying to follow my ramblings may have perceived that sometimes I try to mix and match on personal and technical subjects, trying (and most of the time failing) to draw a relation between them. Or maybe I’m just too damn bad at it that nobody really even bothered to notice the pattern.

Lately, I have been trying to accomplish a lot of things on my personal life. Most of them are really working out fine, but some of them wouldn’t let me be completely satisfied with myself. That’s only to tell you that one can’t really get all that one wants. Yes, you can work really hard and accomplish a lot of things, but it’s really hard to be able to mark a score on every single bullet point one planned and starred at one’s world domination plans documents.

That’s called life, like it or not. There won’t be complete satisfaction for everything, for everyone. Ever. So we try to do our best and get most of what we want from our life with the little time we have got from our beloved superior deity. And most people can carry on with his/her life doing it just fine.

However, some people just aren’t willing to accept life as it is. These people often fail or at least suffer a lot in the way. Those who persist sometimes get a success and then they can be called great men/women, worth of being remembered for generations. Most of us just accept fail as a common thing in our life.

I really can’t be bothered to persist trying to fix the world, but I do really appreciate the work of the ones who can’t be as weak as me and instead go the extra mile in order to accomplish great things. Most of these people are really great not only for persisting but also for working to fix problems which, when fixed, are going to be one less big problem for a huge amount of people and make people’s lives much happier.

It seems to be happening right now, in a lot of areas. As I’m not going to try to write about things I really don’t know, I won’t write here about life changing improvements which are going to change everybody’s lives, globally speaking (or writing, as I’m blogging). I reserve the right to write about things I think I kind of understand.

That’s tech related subjects, by the way, for those of you who are still reading this and are still lost. One area where I think people are trying to fix a huge problem within my Linux distribuition of choice, Debian, is its use as a desktop system by users who need up-to-date software and can’t be bothered by instability of some others distros which offer up-to-date software as its most prominent feature.

Debian always tried to solve this problem by asking its users to use Debian testing instead of Debian unstable. The later always gets all the new software but, as its name says, is sometimes way too unstable for its user’s taste. Debian testing, on the other side, is a middle ground between Debian stable and Debian unstable.

Of course, there are lots of problems also faced by Debian testing users (it’s called testing after all, not stable). As these problems are specific to Debian testing and not shared by Debian stable and/or Debian unstable users, testing users are often left in the cold waiting for some good soul to fix their problems.

A team is being formed inside Debian to try and ultimately fix these problems so a desktop user could use Debian testing without being always left in the cold, feeling alone in the dark. This team is  calling itself CUT, which is the shortname for Constantly Usable Testing. As its names says, the idea is to have Debian testing as a constantly usable distribution for desktop users so they don’t really need to got to the Debian unstable route and don’t keep saying that Debian has to offer only unstable as its more up-to-date branch, which can be unstable, by definition.

I have been watching from outside the ideas being shared by this team and I’m really a fan of some of them. I recommend keeping an eye on these people as this team has the potential to accomplish great things, which in turn could really be changing people’s lives in the end.


por andrelop em 14/08/2010 22:11

10/08/2010

Gustavo Noronha Silva

Google’s User-Agent sniffing makes one more victim

Remember when I said Epiphany worked out of the box with Youtube’s WebM? Well, Google has recently decided to deny us WebM, like it did before with Wave, the Pacman doodle, and who knows what else? \o/

Wouldn’t it be nice if Google practiced what they preach?

Update: so it looks like my message went through to the people who needed to see it, and they found a filtering error in the User Agent sniffing code that made it think Epiphany was a too old Safari - I’m told the change will land in Youtube soon, thanks for those paying attention, and working on this! User Agent sniffing keeps being a problem, of course, and there are other stuff to fix, so I will probably still push my patch to spoof the user agent to google services which are still mishandling Epiphany, but it’s good to see some progress being made!

Update2: I started shipping a patch to send the Chrome user agent string to google domains in the Debian package for WebKitGTK+, when the “enable-site-specific-quirks” setting is enabled (which is the case for Epiphany); I already found something we were missing out on =D Google Images seems to have been greatly improved, and now faking being Chrome we are also able to enjoy it:

Google Images improved

por kov em 10/08/2010 20:38

09/08/2010

Gustavo Noronha Silva

WebKitGTK+ and the Web Inspector

When I started working on WebKitGTK+ I was a web developer, writing IT applications using Python and Django, and building features for content portals running Plone (argh). Even though I was an Epiphany user ever since it was forked off Galeon, I still had to use Firefox for my work, because I couldn’t really live without Firebug.

It should come as no surprise, then, that one of my first patches to WebKitGTK+ was actually making the awesome Web Inspector work in our port. After the initial support, though, not a lot has been done to further improve it, partly because it was already good enough for many uses, partly because I somehow started doing non-web development again ;).

These last weeks, through my R&D efforts in Collabora, I have been able to push Web Inspector features and integration a bit further. A simple change that boosts the Inspector’s usability quite a bit is having the nodes that are being hovered highlighted. Along with that, the ability to attach the inspector to Epiphany’s window should make it easier to use for poking the DOM.

The Web Inspector has a number of settings that control its behaviour. Since, for instance, enabling javascript debugging may slow down javascript performance, the inspector usually has it disabled by default, and provides a button to enable it. It also provides an option for always enabling that feature, but that does not work right now, because we are not saving/restoring the relevant settings. A solution to that is in the works using the GSettings infrastructure that was recently merged into glib.

Here’s a simple screencast, showing these improvements in action (click the video to check it out in full size):

por kov em 09/08/2010 15:35

07/08/2010

Gustavo Noronha Silva

Hackers

Acabei de ler nos últimos dias, finalmente, o clássico e frequentemente citado livro Hackers, do Steven Levy. Não há discussão sobre cultura e ética hacker que não faça pelo menos uma referência a esse livro. Poucos meses atrás a editora O’Reilly lançou uma nova edição do livro, que inclui um novo apêndice, em que o autor revê rapidamente o estado da cultura e ética hackers no ano 2010, 25 anos depois do lançamento do livro original.

O livro é, antes de mais nada, uma delícia de ler. Eu não costumo ser muito tolerante com clássicos difíceis de ler - não me interessa o quão importantes eles são, não consigo achar energia para terminar livros massantes (e olha que meu limite é bem alto!), mas Hackers superou até minhas expectativas mais otimistas. O livro é construído como uma série de histórias em que os personagens principais são os hackers que deram origem aos ideais e princípios éticos que culminaram nos movimentos de liberdade de software e conhecimento livre que nós conhecemos hoje.

Mais interessante para quem já conhece bem a ética e os ideais hacker, talvez, seja ver como mudaram as coisas. Quando os computadores pessoais começaram a surgir, fruto do trabalho dos hackers de hardware havia um deles, de acordo com o livro, que imbuía fortemente o espírito hacker - o hardware era documentado, aberto, exalava um convite ao hacking. Acredito que a maioria dos simpatizantes dos ideais hacker de hoje se surpreenderia ao saber que se tratava de um produto da Apple - o Apple II.

Since Steve Wozniak’s Apple adhered to the Hacker Ethic in that it was a totally “open” machine, with an easily available reference guide that told you where everything was on the chip and the motherboard, the Apple was an open invitation to roll your sleeves up and get down to the hexadecimal code of machine level. To hack away. (Capítulo 15 - The Brotherhood)

O exemplo de abertura do começo é hoje o exemplo de secretismo, apreço por tecnologias proprietárias, fechadas e falta de respeito pelos usuários, com sua adesão profunda a tecnologias projetadas para serem defeituosas. Quem diria!

Por outro lado, o livro também mostra algumas lições que a cultura hacker teve que aprender através de muito sofrimento e desilusão. Uma dessas lições é que é sempre mais fácil defender intransigentemente uma cultura de acesso ilimitado se os participantes dessa cultura forem uma elite exclusora e que trazer as vantagens e os ideais mesmo de uma ideologia de comuna para todas as pessoas (inclusive as que não necessariamente concordam com ela) passa pela negociação de contradições entre os ideais puros e as estruturas tradicionais da sociedade, capazes de escalar e fazer chegar os conhecimentos e ferramentas necessárias a todo canto, geralmente em forma de “produtos” de uma “indústria”. Foi assim, de certa forma, que o ideal hacker de que as pessoas devem ter acesso a computadores para fazerem o que bem entenderem acabou se realizando - através da criação de uma indústria da computação pessoal, que hoje está experimentando um pico, com computadores (em forma de telefones móveis) na mão das pessoas mais humildes. Mesmo que essa indústria tenha distorcido boa parte dos ideais que acompanham o ideal do acesso ao computador.

The best way to promote this free exchange of information is to have an open system, something that presents no boundaries between a hacker and a piece of information or an item of equipment that he needs in his quest for knowledge, improvement, and time online. The last thing you need is a bureaucracy. Bureaucracies, whether corporate, government, or university, are flawed systems, dangerous in that they cannot accommodate the exploratory impulse of true hackers. Bureaucrats hide behind arbitrary rules (as opposed to the logical algorithms by which machines and computer programs operate): they invoke those rules to consolidate power, and perceive the constructive impulse of hackers as a threat. (Capítulo 2 - The Hacker Ethic)

Hackers sofreram extremamente em momentos em que seus redutos elitisados foram invadidos por gente que não entendia ou não concordava com os ideais, porque de uma hora pra outra foram obrigados a rever suas convicções inclusivas, porque nunca tinham considerado que a inclusão que eles pregavam era somente para uma elite e não sobreviveria da mesma forma ao se universalizar. Há uma tensão latente que é fácil de perceber até hoje e que parece ser uma das grandes questões que nos cabe resolver.

Quando pessoas que protestavam contra a guerra do Vietnã, por exemplo, chegaram à conclusão de que o famoso laboratório de inteligência artificial do MIT (berço dos hackers originais e do projeto GNU) era parte do problema - financiado pelo departamento de defesa, produzindo conhecimento que poderia ser usado na guerra, o que era indiscutível, os hackers acabaram tendo que se utilizar das coisas que mais odiavam para evitar que os protestantes destruíssem algo que era essencial para a evolução do hacking - o computador PDP-6, que eles ameaçavam botar abaixo.

The barricades worked insofar as the protesters—around twenty or thirty of them, in Noftsker’s estimate—walked to Tech Square, stayed outside the lab a bit, and left without leveling the PDP-6 with sledgehammers. But the collective sigh of relief on the part of the hackers must have been mixed with much regret. While they had created a lock-less, democratic system within the lab, the hackers were so alienated from the outside world that they had to use those same hated locks, barricades, and bureaucrat-compiled lists to control access to this idealistic environment. While some might have groused at the presence of the locks, the usual free access guerrilla fervor did not seem to be applied in this case. Some of the hackers, shaken at the possibility of a rout, even rigged the elevator system so that the elevators could not go directly to the ninth floor. Though previously some of the hackers had declared, “I will not work in a place that has locks,” after the demonstrations were over, and after the restricted lists were long gone, the locks remained. Generally, the hackers chose not to view the locks as symbols of how far removed they were from the mainstream. (Capítulo 7 - Life)

Há numerosos outros exemplos no livro de como intransigência e a falta de conexão com a realidade fizeram mais mal à ética hacker e à saúde dos seus praticantes do que o bem que tentavam proteger, mas também há numerosos exemplos de como a postura “mão na massa” dos hackers fez com que o sonho não fosse permanentemente destruído e que a mensagem se perpetuasse. Creio que o maior exemplo de todos seja Stallman, que vendo tudo desabar arregaçou as mangas e, sem se preocupar com o possível, sem se limitar a bandeiras e palavras de ordem pôs a mão na massa e criou as condições materiais necessárias para que uma comunidade global continuasse usufruindo e criando liberdade de conhecimento.

Gostei muito do livro! Acho que é uma boa leitura e acho que serve como inspiração para que as novas gerações de hacker continuem defendendo de forma intransigente os imperativos da mão na massa, da liberdade de informação e criação, da preponderância da qualidade e do trabalho sobre os títulos e burocracia, mas sem deixar de considerar o mundo real. Serve bastante para ajudar a refletir de que forma é possível tornar inclusiva nossa cultura e mais disseminada nossa ética sem que isso implique uma redução do apreço pela qualidade e pela mestria.

por kov em 07/08/2010 15:38

06/08/2010

João Eriberto Mota Filho

Debian Squeeze 6.0 (testing) congelado agora há pouco…

Bem, isso quer dizer que em poucos meses teremos um novo Debian.

Confiram em http://www.debian.org/News/2010/20100806 .

Mas continuem acompanhando as novidades no post anterior. Hoje é sexta-feira e deve ter invasão.

[]s!

por Eriberto em 06/08/2010 14:30

03/08/2010

João Eriberto Mota Filho

Invasão de rede de camarote again…

Povo de Deus, Novamente temos uma máquina no ar, desde 18:40h, realizando a mesma tarefa descrita no post “Assistindo a uma invasão de rede de camarote…“. A diferença é que, desta vez, pretendo disponibilizar o dump de memória e já estou escrevendo um wiki que ensina preparar o mesmo ambiente que eu fiz. Agora é esperar os acontecimentos…

Dia 03 ago. 2010

18:40 h

  • Máquina no ar!!

Dia 04 ago. 2010

06:26 h

  • Até agora o samhain não enviou qualquer mensagem. Tudo calmo. Isso pode ocorrer pelo fato do meu range de IPs talvez não ter sido scaneado pelos robôs (bots) da Internet ainda. Daqui a pouco estarei junto à máquina e direi o que ocorreu em termos de tráfego de rede. Não quero entrar nela para olhar. Vai contaminar o ambiente. Mas é fato que algo vai ocorrer. Mesmo que demore dias. Vamos esperar como se fôssemos pescadores…

06:35 h

  • Opa! Nova análise. Entrei na máquina base, remotamente (isso não contamina a real) e vi, nas gravações tcpdump, que houve movimento ssh a partir das 22:35 h. Então, o samhain não acusou nada ou porque foi morto com kill -9 ou porque não houve alterações na máquina. Vou tentar colher agora o log /var/log/auth.log por scp para dar uma olhada sem contaminar muito a máquina.
  • Colhi o log. A senha ainda é a mesma. Vejam:
Aug  4 00:01:29 server sshd[1141]: Invalid user Benutzer from 98.173.22.178
  • Na linha anterior já houve uma tentativa de entrada a partir dos USA. Esse camarada fez tentativas até as 00:11 h mas não chegou a entrar. Foram 32 tentativas em cerca de 10 minutos. Depois veio:
Aug  4 02:29:12 server sshd[1511]: Failed password for root from 61.129.86.186 port 65487 ssh2
  • Agora veio da China. Foram 5 tentativas em 1 minuto mas também não entrou. Vamos aguardar. O que acontecerá durante o dia?

09:10 h

  • Já no local onde está a máquina. Acabo de fazer um dump de memória, externamente, via Xen. Analisei os logs (dentro da memória) e não há novidades. O samhain também permanece quieto. Sabemos que agora é noite no hemisfério oriental e daqui a pouco será madrugada. Talvez algo ocorra. Mas um fato marcante é que ainda não houve um ataque ssh de força bruta (do tipo tentativa em massa de logins) por nenhum bot. Temos que esperar…

09:40 h

  • Estou notando no Iptraf que está rodando na máquina real a ocorrência de alguns pings (ICMP Echo Request). Assim, acabo de fazer um levantamento disso no arquivo que está sendo gravado pelo tcpdump. O resultado (mostrando somente até o IP de origem):
2010-08-03 19:11:45.040983 IP 220.76.200.59
2010-08-03 19:11:45.365377 IP 220.76.200.59
2010-08-03 19:14:49.230188 IP 192.168.100.20
2010-08-03 19:22:17.485984 IP 200.252.13.18
2010-08-03 19:27:26.205297 IP 60.195.124.238
2010-08-03 19:27:26.601530 IP 60.195.124.238
2010-08-03 20:22:20.046507 IP 189.107.24.115
2010-08-03 21:31:46.417342 IP 200.252.61.5
2010-08-03 23:06:29.001721 IP 200.252.67.194
2010-08-03 23:39:52.022671 IP 200.252.59.194
2010-08-04 01:01:48.582544 IP 200.252.55.9
2010-08-04 01:06:26.379342 IP 200.252.16.180
2010-08-04 03:39:29.641986 IP 61.251.176.29
2010-08-04 03:39:30.015736 IP 61.251.176.29
2010-08-04 06:09:36.519864 IP 68.169.176.89
2010-08-04 06:09:36.683012 IP 68.169.176.89
2010-08-04 06:41:36.830823 IP 80.183.103.193
2010-08-04 06:41:37.136954 IP 80.183.103.193
2010-08-04 07:33:28.368651 IP 200.252.76.101
2010-08-04 08:31:13.581548 IP 119.175.16.243
2010-08-04 08:31:13.947929 IP 119.175.16.243
2010-08-04 09:21:37.754272 IP 63.81.251.30
2010-08-04 09:21:39.806937 IP 63.81.251.30
2010-08-04 09:31:37.037950 IP 200.252.130.65

10:20 h

  • Só para ter uma ideia de máquinas Windows com vírus ou coisas correlatas, decidi ver os TCP resets emitidos. Veja a listagem até agora:
2010-08-03 19:04:33.674752 IP 201.240.72.50.3126 > x.x.x.x.23: [S]
2010-08-03 19:04:33.674884 IP x.x.x.x.23 > 201.240.72.50.3126: [R.]
2010-08-03 19:04:48.592490 IP 41.145.25.77.4688 > x.x.x.x.23: [S]
2010-08-03 19:04:48.592607 IP x.x.x.x.23 > 41.145.25.77.4688: [R.]
2010-08-03 19:22:17.514418 IP 200.252.13.18.1070 > x.x.x.x.445: [S]
2010-08-03 19:22:17.514532 IP x.x.x.x.445 > 200.252.13.18.1070: [R.]
2010-08-03 19:22:17.514664 IP 200.252.13.18.63371 > x.x.x.x.139: [S]
2010-08-03 19:22:17.514775 IP x.x.x.x.139 > 200.252.13.18.1071: [R.]
2010-08-03 19:22:17.514800 IP x.x.x.x.139 > 200.252.13.18.63371: [R.]
2010-08-03 19:22:17.859811 IP 200.252.13.18.63371 > x.x.x.x.139: [S]
2010-08-03 19:22:17.859922 IP x.x.x.x.139 > 200.252.13.18.1071: [R.]
2010-08-03 19:22:17.859949 IP x.x.x.x.139 > 200.252.13.18.63371: [R.]
2010-08-03 19:22:17.875350 IP 200.252.13.18.1070 > x.x.x.x.445: [S]
2010-08-03 19:22:17.875465 IP x.x.x.x.445 > 200.252.13.18.1070: [R.]
2010-08-03 19:22:18.406396 IP 200.252.13.18.1071 > x.x.x.x.139: [S]
2010-08-03 19:22:18.406510 IP x.x.x.x.139 > 200.252.13.18.1071: [R.]
2010-08-03 19:22:18.422025 IP 200.252.13.18.63371 > x.x.x.x.139: [S]
2010-08-03 19:22:18.422162 IP x.x.x.x.139 > 200.252.13.18.63371: [R.]
2010-08-03 19:22:18.531637 IP 200.252.13.18.1070 > x.x.x.x.445: [S]
2010-08-03 19:22:18.531859 IP x.x.x.x.445 > 200.252.13.18.1070: [R.]
2010-08-03 19:27:26.990938 IP 60.195.124.238.53364 > x.x.x.x.139: [S]
2010-08-03 19:27:26.991057 IP x.x.x.x.139 > 60.195.124.238.53364: [R.]
2010-08-03 19:27:27.806026 IP 60.195.124.238.53364 > x.x.x.x.139: [S]
2010-08-03 19:27:27.806141 IP x.x.x.x.139 > 60.195.124.238.53364: [R.]
2010-08-03 19:27:28.607119 IP 60.195.124.238.53364 > x.x.x.x.139: [S]
2010-08-03 19:27:28.607214 IP x.x.x.x.139 > 60.195.124.238.53364: [R.]
2010-08-03 19:27:32.993421 IP 60.195.124.238.53995 > x.x.x.x.445: [S]
2010-08-03 19:27:32.993537 IP x.x.x.x.445 > 60.195.124.238.53995: [R.]
2010-08-03 19:27:35.917854 IP 60.195.124.238.53995 > x.x.x.x.445: [S]
2010-08-03 19:27:35.917967 IP x.x.x.x.445 > 60.195.124.238.53995: [R.]
2010-08-03 20:22:20.266544 IP 189.107.24.115.12602 > x.x.x.x.445: [S]
2010-08-03 20:22:20.266697 IP x.x.x.x.445 > 189.107.24.115.12602: [R.]
2010-08-03 20:22:20.731732 IP 189.107.24.115.12602 > x.x.x.x.445: [S]
2010-08-03 20:22:20.731973 IP x.x.x.x.445 > 189.107.24.115.12602: [R.]
2010-08-03 20:22:21.273379 IP 189.107.24.115.12602 > x.x.x.x.445: [S]
2010-08-03 20:22:21.273526 IP x.x.x.x.445 > 189.107.24.115.12602: [R.]
2010-08-03 23:18:00.219049 IP 58.215.79.84.6000 > x.x.x.x.9415: [S]
2010-08-03 23:18:00.219959 IP x.x.x.x.9415 > 58.215.79.84.6000: [R.]
2010-08-03 23:31:53.948650 IP 218.175.146.176.2089 > x.x.x.x.445: [S]
2010-08-03 23:31:53.952306 IP x.x.x.x.445 > 218.175.146.176.2089: [R.]
2010-08-03 23:31:55.869555 IP 218.175.146.176.2089 > x.x.x.x.445: [S]
2010-08-03 23:31:55.869645 IP x.x.x.x.445 > 218.175.146.176.2089: [R.]
2010-08-03 23:36:48.848734 IP 200.32.172.184.3883 > x.x.x.x.445: [S]
2010-08-03 23:36:48.848844 IP x.x.x.x.445 > 200.32.172.184.3883: [R.]
2010-08-03 23:36:51.707795 IP 200.32.172.184.3883 > x.x.x.x.445: [S]
2010-08-03 23:36:51.707886 IP x.x.x.x.445 > 200.32.172.184.3883: [R.]
2010-08-03 23:39:52.264355 IP 200.252.59.194.1609 > x.x.x.x.445: [S]
2010-08-03 23:39:52.264458 IP x.x.x.x.445 > 200.252.59.194.1609: [R.]
2010-08-03 23:39:52.267255 IP 200.252.59.194.1610 > x.x.x.x.139: [S]
2010-08-03 23:39:52.267345 IP x.x.x.x.139 > 200.252.59.194.1610: [R.]
2010-08-03 23:39:52.821223 IP 200.252.59.194.1610 > x.x.x.x.139: [S]
2010-08-03 23:39:52.821315 IP x.x.x.x.139 > 200.252.59.194.1610: [R.]
2010-08-03 23:39:52.825174 IP 200.252.59.194.1609 > x.x.x.x.445: [S]
2010-08-03 23:39:52.825264 IP x.x.x.x.445 > 200.252.59.194.1609: [R.]
2010-08-03 23:39:53.604568 IP 200.252.59.194.1610 > x.x.x.x.139: [S]
2010-08-03 23:39:53.604734 IP x.x.x.x.445 > 200.252.59.194.1609: [R.]
2010-08-03 23:39:53.604761 IP x.x.x.x.139 > 200.252.59.194.1610: [R.]
2010-08-03 23:53:27.337014 IP 41.250.160.206.4127 > x.x.x.x.23: [S]
2010-08-03 23:53:27.340306 IP x.x.x.x.23 > 41.250.160.206.4127: [R.]
2010-08-03 23:58:38.434406 IP 222.186.25.143.6000 > x.x.x.x.9415: [S]
2010-08-03 23:58:38.434513 IP x.x.x.x.9415 > 222.186.25.143.6000: [R.]
2010-08-04 00:06:00.316734 IP 58.215.79.202.6000 > x.x.x.x.9415: [S]
2010-08-04 00:06:00.316832 IP x.x.x.x.9415 > 58.215.79.202.6000: [R.]
2010-08-04 00:08:21.859852 IP 196.204.141.8.3970 > x.x.x.x.1433: [S]
2010-08-04 00:08:21.859959 IP x.x.x.x.1433 > 196.204.141.8.3970: [R.]
2010-08-04 00:08:22.510285 IP 196.204.141.8.3970 > x.x.x.x.1433: [S]
2010-08-04 00:08:22.510378 IP x.x.x.x.1433 > 196.204.141.8.3970: [R.]
2010-08-04 00:08:23.275186 IP 196.204.141.8.3970 > x.x.x.x.1433: [S]
2010-08-04 00:08:23.275353 IP x.x.x.x.1433 > 196.204.141.8.3970: [R.]
2010-08-04 00:11:35.799521 IP 217.219.23.166.3094 > x.x.x.x.445: [S]
2010-08-04 00:11:35.799617 IP x.x.x.x.445 > 217.219.23.166.3094: [R.]
2010-08-04 00:47:12.982595 IP 218.56.160.61.2477 > x.x.x.x.4899: [S]
2010-08-04 00:47:12.984326 IP x.x.x.x.4899 > 218.56.160.61.2477: [R.]
2010-08-04 00:47:13.836599 IP 218.56.160.61.2477 > x.x.x.x.4899: [S]
2010-08-04 00:47:13.836691 IP x.x.x.x.4899 > 218.56.160.61.2477: [R.]
2010-08-04 00:47:14.643027 IP 218.56.160.61.2477 > x.x.x.x.4899: [S]
2010-08-04 00:47:14.643184 IP x.x.x.x.4899 > 218.56.160.61.2477: [R.]
2010-08-04 01:01:48.713103 IP 200.252.55.9.62558 > x.x.x.x.445: [S]
2010-08-04 01:01:48.713197 IP x.x.x.x.445 > 200.252.55.9.62558: [R.]
2010-08-04 01:01:48.714286 IP 200.252.55.9.62559 > x.x.x.x.139: [S]
2010-08-04 01:01:48.714401 IP x.x.x.x.139 > 200.252.55.9.62559: [R.]
2010-08-04 01:01:48.715810 IP 200.252.55.9.62560 > x.x.x.x.139: [S]
2010-08-04 01:01:48.715897 IP x.x.x.x.139 > 200.252.55.9.62560: [R.]
2010-08-04 01:01:49.190492 IP 200.252.55.9.62560 > x.x.x.x.139: [S]
2010-08-04 01:01:49.190583 IP x.x.x.x.139 > 200.252.55.9.62560: [R.]
2010-08-04 01:01:49.192387 IP 200.252.55.9.62558 > x.x.x.x.445: [S]
2010-08-04 01:01:49.192476 IP x.x.x.x.445 > 200.252.55.9.62558: [R.]
2010-08-04 01:01:49.737738 IP 200.252.55.9.62560 > x.x.x.x.139: [S]
2010-08-04 01:01:49.737840 IP x.x.x.x.139 > 200.252.55.9.62560: [R.]
2010-08-04 01:01:49.738908 IP 200.252.55.9.62558 > x.x.x.x.445: [S]
2010-08-04 01:01:49.739025 IP x.x.x.x.445 > 200.252.55.9.62558: [R.]
2010-08-04 01:01:51.597553 IP 200.252.55.9.62559 > x.x.x.x.139: [S]
2010-08-04 01:01:51.597643 IP x.x.x.x.139 > 200.252.55.9.62559: [R.]
2010-08-04 01:01:57.617015 IP 200.252.55.9.62559 > x.x.x.x.139: [S]
2010-08-04 01:01:57.617148 IP x.x.x.x.139 > 200.252.55.9.62559: [R.]
2010-08-04 01:06:32.120233 IP 200.252.16.180.20029 > x.x.x.x.445: [S]
2010-08-04 01:06:32.120327 IP x.x.x.x.445 > 200.252.16.180.20029: [R.]
2010-08-04 01:06:32.120595 IP 200.252.16.180.20030 > x.x.x.x.139: [S]
2010-08-04 01:06:32.120683 IP x.x.x.x.139 > 200.252.16.180.20030: [R.]
2010-08-04 01:06:32.671419 IP 200.252.16.180.20030 > x.x.x.x.139: [S]
2010-08-04 01:06:32.671509 IP x.x.x.x.139 > 200.252.16.180.20030: [R.]
2010-08-04 01:06:32.671920 IP 200.252.16.180.20029 > x.x.x.x.445: [S]
2010-08-04 01:06:32.672008 IP x.x.x.x.445 > 200.252.16.180.20029: [R.]
2010-08-04 01:06:33.108411 IP 200.252.16.180.20030 > x.x.x.x.139: [S]
2010-08-04 01:06:33.108526 IP x.x.x.x.139 > 200.252.16.180.20030: [R.]
2010-08-04 01:06:33.109059 IP 200.252.16.180.20029 > x.x.x.x.445: [S]
2010-08-04 01:06:33.109168 IP x.x.x.x.445 > 200.252.16.180.20029: [R.]
2010-08-04 02:13:04.460384 IP 58.57.9.44.6000 > x.x.x.x.3389: [S]
2010-08-04 02:13:04.460596 IP x.x.x.x.3389 > 58.57.9.44.6000: [R.]
2010-08-04 02:36:32.697229 IP 220.226.18.10.6000 > x.x.x.x.1433: [S]
2010-08-04 02:36:32.704499 IP x.x.x.x.1433 > 220.226.18.10.6000: [R.]
2010-08-04 03:16:03.154845 IP 59.94.130.220.9989 > x.x.x.x.139: [S]
2010-08-04 03:16:03.156371 IP x.x.x.x.139 > 59.94.130.220.9989: [R.]
2010-08-04 03:16:10.370418 IP 59.94.130.220.9989 > x.x.x.x.139: [S]
2010-08-04 03:16:10.370508 IP x.x.x.x.139 > 59.94.130.220.9989: [R.]
2010-08-04 03:39:30.377836 IP 61.251.176.29.3040 > x.x.x.x.139: [S]
2010-08-04 03:39:30.377930 IP x.x.x.x.139 > 61.251.176.29.3040: [R.]
2010-08-04 03:39:31.129670 IP 61.251.176.29.3040 > x.x.x.x.139: [S]
2010-08-04 03:39:31.129762 IP x.x.x.x.139 > 61.251.176.29.3040: [R.]
2010-08-04 03:39:32.016606 IP 61.251.176.29.3040 > x.x.x.x.139: [S]
2010-08-04 03:39:32.016710 IP x.x.x.x.139 > 61.251.176.29.3040: [R.]
2010-08-04 03:51:01.001740 IP 124.172.159.228.6000 > x.x.x.x.9415: [S]
2010-08-04 03:51:01.003497 IP x.x.x.x.9415 > 124.172.159.228.6000: [R.]
2010-08-04 03:56:48.153734 IP 74.208.197.77.4763 > x.x.x.x.5900: [S]
2010-08-04 03:56:48.156272 IP x.x.x.x.5900 > 74.208.197.77.4763: [R.]
2010-08-04 03:56:48.843364 IP 74.208.197.77.4763 > x.x.x.x.5900: [S]
2010-08-04 03:56:48.843457 IP x.x.x.x.5900 > 74.208.197.77.4763: [R.]
2010-08-04 03:56:49.389654 IP 74.208.197.77.4763 > x.x.x.x.5900: [S]
2010-08-04 03:56:49.389789 IP x.x.x.x.5900 > 74.208.197.77.4763: [R.]
2010-08-04 04:45:46.099151 IP 78.183.144.144.2131 > x.x.x.x.23: [S]
2010-08-04 04:45:46.100313 IP x.x.x.x.23 > 78.183.144.144.2131: [R.]
2010-08-04 05:10:18.061284 IP 118.168.134.220.1082 > x.x.x.x.3128: [S]
2010-08-04 05:10:18.063497 IP x.x.x.x.3128 > 118.168.134.220.1082: [R.]
2010-08-04 05:10:18.860405 IP 118.168.134.220.1082 > x.x.x.x.3128: [S]
2010-08-04 05:10:18.860497 IP x.x.x.x.3128 > 118.168.134.220.1082: [R.]
2010-08-04 05:10:19.727480 IP 118.168.134.220.1082 > x.x.x.x.3128: [S]
2010-08-04 05:10:19.727568 IP x.x.x.x.3128 > 118.168.134.220.1082: [R.]
2010-08-04 06:09:36.842784 IP 68.169.176.89.29467 > x.x.x.x.139: [S]
2010-08-04 06:09:36.842943 IP x.x.x.x.139 > 68.169.176.89.29467: [R.]
2010-08-04 06:09:37.489436 IP 68.169.176.89.29467 > x.x.x.x.139: [S]
2010-08-04 06:09:37.489527 IP x.x.x.x.139 > 68.169.176.89.29467: [R.]
2010-08-04 06:09:38.091033 IP 68.169.176.89.29467 > x.x.x.x.139: [S]
2010-08-04 06:09:38.091125 IP x.x.x.x.139 > 68.169.176.89.29467: [R.]
2010-08-04 06:09:42.849257 IP 68.169.176.89.30144 > x.x.x.x.445: [S]
2010-08-04 06:09:42.849350 IP x.x.x.x.445 > 68.169.176.89.30144: [R.]
2010-08-04 06:09:43.498862 IP 68.169.176.89.30144 > x.x.x.x.445: [S]
2010-08-04 06:09:43.498952 IP x.x.x.x.445 > 68.169.176.89.30144: [R.]
2010-08-04 06:09:44.097595 IP 68.169.176.89.30144 > x.x.x.x.445: [S]
2010-08-04 06:09:44.097685 IP x.x.x.x.445 > 68.169.176.89.30144: [R.]
2010-08-04 06:41:37.440980 IP 80.183.103.193.41973 > x.x.x.x.139: [S]
2010-08-04 06:41:37.441075 IP x.x.x.x.139 > 80.183.103.193.41973: [R.]
2010-08-04 06:41:38.250208 IP 80.183.103.193.41973 > x.x.x.x.139: [S]
2010-08-04 06:41:38.250299 IP x.x.x.x.139 > 80.183.103.193.41973: [R.]
2010-08-04 06:41:38.947670 IP 80.183.103.193.41973 > x.x.x.x.139: [S]
2010-08-04 06:41:38.947761 IP x.x.x.x.139 > 80.183.103.193.41973: [R.]
2010-08-04 06:41:43.441575 IP 80.183.103.193.42716 > x.x.x.x.445: [S]
2010-08-04 06:41:43.441665 IP x.x.x.x.445 > 80.183.103.193.42716: [R.]
2010-08-04 06:41:44.169465 IP 80.183.103.193.42716 > x.x.x.x.445: [S]
2010-08-04 06:41:44.169552 IP x.x.x.x.445 > 80.183.103.193.42716: [R.]
2010-08-04 06:41:44.962688 IP 80.183.103.193.42716 > x.x.x.x.445: [S]
2010-08-04 06:41:44.962779 IP x.x.x.x.445 > 80.183.103.193.42716: [R.]
2010-08-04 07:33:49.605152 IP 200.252.76.101.62341 > x.x.x.x.445: [S]
2010-08-04 07:33:49.605250 IP x.x.x.x.445 > 200.252.76.101.62341: [R.]
2010-08-04 07:33:49.605824 IP 200.252.76.101.62342 > x.x.x.x.139: [S]
2010-08-04 07:33:49.605911 IP x.x.x.x.139 > 200.252.76.101.62342: [R.]
2010-08-04 07:33:49.606176 IP 200.252.76.101.62343 > x.x.x.x.139: [S]
2010-08-04 07:33:49.606261 IP x.x.x.x.139 > 200.252.76.101.62343: [R.]
2010-08-04 07:33:50.086681 IP 200.252.76.101.62342 > x.x.x.x.139: [S]
2010-08-04 07:33:50.086772 IP x.x.x.x.139 > 200.252.76.101.62342: [R.]
2010-08-04 07:33:50.087365 IP 200.252.76.101.62341 > x.x.x.x.445: [S]
2010-08-04 07:33:50.087452 IP x.x.x.x.445 > 200.252.76.101.62341: [R.]
2010-08-04 07:33:50.524591 IP 200.252.76.101.62342 > x.x.x.x.139: [S]
2010-08-04 07:33:50.524759 IP x.x.x.x.139 > 200.252.76.101.62342: [R.]
2010-08-04 07:33:50.524975 IP 200.252.76.101.62341 > x.x.x.x.445: [S]
2010-08-04 07:33:50.525062 IP x.x.x.x.445 > 200.252.76.101.62341: [R.]
2010-08-04 07:33:52.604693 IP 200.252.76.101.62343 > x.x.x.x.139: [S]
2010-08-04 07:33:52.604849 IP x.x.x.x.139 > 200.252.76.101.62343: [R.]
2010-08-04 07:33:58.727620 IP 200.252.76.101.62343 > x.x.x.x.139: [S]
2010-08-04 07:33:58.727711 IP x.x.x.x.139 > 200.252.76.101.62343: [R.]
2010-08-04 08:27:13.087499 IP 122.226.223.134.6000 > x.x.x.x.9415: [S]
2010-08-04 08:27:13.088122 IP x.x.x.x.9415 > 122.226.223.134.6000: [R.]
  • Ao analisar a listagem anterior, lembre-se de que na máquina só há as portas 22 e 80 abertas para fora.
  • Estou atento ao samhaim e ao Iptraf. Vamos esperar novidades mais concretas. Assim que tiver algo, posto aqui.

10:40 h

  • Novidades. Movimento intenso no Iptraf. É alguém do nosso querido Brasil atancando com vontade. IP 187.50.126.38. Tudo indica que vem de São Paulo (conclusão via traceroute interrompido pela metade e whois). Mas esse IP já apareceu antes. Assim que ele terminar, posto algo aqui. Acho que não demora.

10:53 h

  • Parece que terminou. Fiz dumps de memória seguidos para verificar os logs lá por dentro. Foram 18 minutos de tentativas. Isso rendeu 353 tentativas. Veja a primeira e a última linha:

Aug  4 10:30:02 server sshd[2359]: Failed password for root from 187.50.126.38 port 43061 ssh2

Aug  4 10:48:11 server sshd[3095]: Failed password for root from 187.50.126.38 port 60030 ssh2

11:07 h

  • Entrou! (num bom sentido)
  • No post das 10:53 h eu estava procurando apenas por logins com falha. Mas, olhando com mais cuidado agora, veja:
Aug  4 10:30:10 server sshd[2366]: Accepted password for root from 187.50.126.38 port 43338 ssh2
  • Ou seja: esse cara tem um bot e ainda não viu que o mesmo conseguiu coletar a senha de root correta. Com certeza, mais tarde, ele vai ver e atuar. Isso se não estiver acompanhando estes posts! :-)
  • O pior é que é um robô burro, porque conseguiu a senha no primeiro minuto e continuou tentando. :-D

11:37 h

  • Perguntas? Vão fazendo que eu vou olhando tráfego, memória etc. e vou respondendo.

12:35 h

  • Tudo calmo…

14:06 h

  • Um scan agora há pouco.
Aug  4 14:03:01 server sshd[3383]: Did not receive identification string from 200.161.99.38

14:30 h

  • Para o Paulo (veja lá em baixo nos comentários): uma foto do Iptraf em ação.

17:55 h

  • Bem, foi uma tarde calma e serena. Podemos concluir algo até aqui: quartas-feiras são dias bem seguros. Ninguém nunca lhe atacará. Nem quem já tem a sua senha de root. Bom, de noite darei uma olhadinha na situação e, havendo novidades, informo aqui. T+

22:10 h

  • Nenhuma novidade. Vou dormir. Amanhã voltarei a monitorar a situação. Vamos ver se acontece algo na madrugada. []s a todos!

Dia 05 ago. 2010

06:25 h

  • Bom dia a todos! Há pouco o milagre da vida aconteceu novamente. Veio da China. Vejam:
Aug  5 05:36:29 server sshd[4743]: Failed password for root from 219.143.125.205 port 54497 ssh2
Aug  5 05:36:35 server sshd[4746]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.125.205  user=root
Aug  5 05:36:37 server sshd[4746]: Failed password for root from 219.143.125.205 port 54843 ssh2
Aug  5 05:36:42 server sshd[4748]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.125.205  user=root
Aug  5 05:36:45 server sshd[4748]: Failed password for root from 219.143.125.205 port 55161 ssh2
Aug  5 05:36:50 server sshd[4750]: Accepted password for root from 219.143.125.205 port 55493 ssh2
  • Bem, até agora o samhain está quieto. Isso quer dizer que ele entrou mas nada fez de relevante. Então, como ainda está anoitecendo na China, creio que mais tarde as coisas irão esquentar. Vamos esperar mais uma vez… Mas o samhain está funcionando. Vejam o último log dele na memória:
INFO   :  [2010-08-05T04:46:15-0300] msg=<Checking>, path=</etc/samhain>
  • Ele ainda não enviou nada porque a sua configuração default é enviar somente eventos do nível CRIT. Volto mais tarde com novas notícias.

11:05 h

  • Bem, ninguém entrou efetivamente ainda. Mas vários fizeram scaneamento com nmap e similares. O nmap, no modo normal de operação (TCP scan), envia uma flag TCP Syn para a porta. Se ela responder com Syn/Ack é porque está aberta. Então, para evitar ser logado, o nmap envia um Rst para a porta.
  • Até o presente momento, a nossa porta 22 recebeu 133 resets de 12 máquinas diferentes. A seguir, a lista das máquinas que fizeram isso (fora as máquinas que adotaram outros tipos de procedimentos):
61.129.86.186: CN, China
91.188.59.62: LV, Latvia
94.138.164.155: IT, Italy
95.0.85.118: TR, Turkey
98.173.22.178: US, United States
115.165.163.55: VN, Vietnam
123.150.196.38: CN, China
124.31.204.185: CN, China
187.50.126.38: BR, Brazil
200.161.99.38: BR, Brazil
202.201.14.252: CN, China
219.143.125.205: CN, China

20:45 h

  • Boa noite pessoal. Não tivemos grandes novidades hoje. No entanto, mais uma máquina da China conseguiu o acesso à máquina. No entanto, não houve atuação da mesma, o que nos leva a crer que era mais um bot com um dono (ser humano) desatento. Veja:
Aug  5 13:44:00 server sshd[5578]: Accepted password for root from 61.164.108.149 port 51914 ssh2
  • O bot scaneou a rede por 16 minutos, até obter êxito. Foram 115 tentativas até o sucesso.
  • Será que a noite será promissora? Bem, se for, saberemos amanhã.

Dia 06 ago. 2010

09:30 h

  • Bom dia a todos! Desculpem o atraso. As coisas estão meio complicadas. Muitos contratempos de vida… Mas vamos às notícias.
  • Ontem, depois das 23 h, mais duas máquinas conseguiram obter a senha do root. Vejam:
Aug  5 23:09:58 server sshd[6635]: Accepted password for root from 209.195.11.34 port 36680 ssh2
Aug  5 23:28:10 server sshd[6686]: Accepted password for root from 95.104.114.44 port 20370 ssh2
  • A máquina 209.195.11.34 (USA) fez 13 tentativas até chegar à senha. Foi cerca de 1 minuto de tentativas.
  • A máquina 95.104.114.44 (Geórgia) foi mais interessante. Ela entrou de primeira. Tudo leva a crer que alguém já colheu a senha em algum bot e a divulgou ou, se não, fez uma ponte pela Geórgia. Ou, ainda, tinha feito uma ponte partindo da Geórgia e passando por outro lugar anteriormente.
  • Bem, o fato é que podem até ter entrado e navegado lá dentro. Mas, até agora, ninguém modificou nada, pois o samhain acusaria. E ele ainda está no ar, operando normalmente. Vejam a última mensagem dele que colhi no dump de memória:
INFO   :  [2010-08-06T08:49:37-0300] msg=<Checking>, path=</var/run/utmp>
  • No mais, hoje é sexta-feira, dia internacional da invasão. Será que rola hoje?

11:55 h

  • Entraram! Estão conversando lá dentro conectados a IRC. Vou publicar a conversa já já.

12:03 h

  • Estão procurando portas 22 abertas na rede 86.0.0.0/8 a partir da máquina. A máquina virou um bot!!!

12:28 h

12:50 h

  • Desculpem o desaparecimento. Perdi um pouco do controle da rede. Começaram a usar toda a banda. Fiquei sem Internet para mim. :-)
  • Para corrigir o problema, fiz um HTB para controlar o tráfego. Referências: http://www.eriberto.pro.br/palestras/controle_trafego.pdf .
  • Vou almoçar voando e já volto. Ah, estão scaneando portas 22 na rede 94.0.0.0/8!

13:25 h

  • De volta do almoço.
  • Finalmente um e-mail do samhain! Vejam:

[2010-08-06T12:50:08-0300] server.projirradiante.com.br
CRIT   : [2010-08-06T12:49:55-0300] msg=<POLICY [ReadOnly] C–I—-T->, path=</etc/shadow>, inode_old=<13300>, inode_new=<17168>, dev_old=<202,1>, dev_new=<202,1>, ctime_old=<[2010-08-03T21:34:30]>, ctime_new=<[2010-08-06T14:51:17]>, mtime_old=<[2010-08-03T21:34:30]>, mtime_new=<[2010-08-06T14:51:17]>, chksum_old=<4E3A8F642C54E0ABD1310A03A7BEFA954DC4EBEBA6349BB5>, chksum_new=<A91AC2692A353AD96F399F994CAE602A575CA16149CDDC36>,

  • O arquivo /etc/shadow foi modificado. Ou seja: ou trocaram a a senha de algum usuário ou adicionaram um usuário. Mas se tivessem adicionado um usuário, o arquivo /etc/passwd também teria sido alterado. Vamos conferir se há algum log no dump de memória:
# strings memoria.dd |grep passwd|grep root
Aug  6 11:51:17 server passwd[17395]: pam_unix(passwd:chauthtok): password changed for root
  • Agora, realmente, não sei dizer se o horário interno da máquina foi modificado também. Os horários parecem ter uma defasagem de 1 hora.
  • Vamos ver tudo o que ocorreu entre 11:40 e 11:59 (exceto evntos corriqueiros de cron):
# strings memoria.dd |grep "Aug  6 11:[45]"|grep -v CRON|sort -n
Aug  6 11:42:42 server crontab[17311]: (root) REPLACE (root)
Aug  6 11:42:42 server crontab[17313]: (root) LIST (root)
Aug  6 11:42:51 server crontab[17331]: (root) REPLACE (root)
Aug  6 11:42:51 server crontab[17332]: (root) LIST (root)
Aug  6 11:51:17 server passwd[17395]: pam_unix(passwd:chauthtok): password changed for root
  • Ok! Bem, vamos em frente!

13:47 h

  • As coisas aqui estão lentas. Muito tráfego e uso de CPU.
  • Bem, eles já trocaram a senha de root, conectaram a chat, scanearam redes etc. Acho que está na hora de derrubar o server e disponibilizar a memória. O que acham? Respondam aqui…

14:52 h

  • Terminado pessoal. Estavam fazendo ataques pesados e grande parte da memória foi tomada por listas de nomes de usuários e senhas (dicionários). Vou preparar tudo para download. Daqui a pouco estará disponível.

16:07 h – DOWNLOAD DA IMAGEM DA MEMÓRIA!

16:46

  • Vai ser liberada a imagem do disco…

18:31 – DOWNLOAD DA IMAGEM DA PARTIÇÃO!

  • Disponível a imagem da partição que continha a máquina virtual em http://www.eriberto.pro.br/forense/caso_03 (150 MBcomprimidos, 954 MB descomprimidos).
  • Notem que foi utilizado swap em arquivo. Como a memória era pequena, muita coisa foi pagina em swap…  ;-)

Dia 07 ago. 2010

08:10 h

10:45 h

  • Bem, esqueci de dizer outra coisinha importante. É muita coisa pra lembrar… Este caso foi montado, dentre outras coisas, para a minha oficina do Consegi 2010 aqui em Brasília. Quem quiser ter um minicurso de forense basta se inscrever. Na verdade, não sei se ainda tem vaga.
  • Também, já fui convidado mais uma vez para o Latinoware. Então, vou propor, dentre outras coisas, o mesmo minicurso para lá.
  • E, no FISL 2011 (FISL12), acho que vou fazer uma forense ao vivo para o pessoal ver também. Já dei uma palestra de forense no FISL 2009. Mas, desta vez, não será palestra. Será pura ação!

Dia 09 ago. 2010

  • Hoje um amigo me alertou sobre uma mensagem postada em um forum. Aqui está ela:
http://www.istf.com.br/vb/pericia-forense/14955-assistindo-uma-invasao-de-camarote-analise-forente.html
  • Bem, acho que o pessoal lá no fórum não leu o post antes de comentar algo. Então, vamos lá:
    • Como eu disse no post, precisava montar um caso para os meus alunos. Então, não posso fazer uma perícia completa porque, se não, estarei dando a resposta do problema a quem deverá passar alguns dias fazendo o exercício.
    • Narrei o que vi para tornar interessante para quem acompanhava ao vivo. Mas não tive a menor intenção de periciar o caso enquanto narrava, pelo motivo já citado. Por isso, as informações morreram no que foi publicado.
    • Quanto ao scaneamento de uma rede /8, eu estava observando tudo. Eu fiz dump de memória e vi os acontecimentos no Iptraf. Pode ser estranho um scaneamento /8 mas é incontestável. Então, com todo o respeito, afirmaram coisas com base no achismo.
    • Marketing? Não tenho empresa e não faço qualquer serviço de forense para fora do Governo Federal. E fui convidado pelo Serpro, na época, para dar a palestra que eles citaram. Mais um furo de quem resolveu falar sem base…
    • Bem, escrevi isso aqui como esclarecimento, uma vez que as informações postadas no referido fórum estão públicas na Internet. []s a todos.

por Eriberto em 03/08/2010 21:58

31/07/2010

Fernando Ike

Thunderbird 3 e performance

    Alguns meses atrás resolvi testar o Thunderbird que estava saindo a versão 3.0 p/ manter as várias contas de emails que tenho. Em princípio, as funcionalidades básicas dele atendem muito bem. Está rápido, não quebra com caixas postais grandes com IMAP, até a integração com o Zimbra funcionando bem.

    Para usuário acostumado com Thunderbird (no Debian é Icedove) é rotineiro fazer a tarefa dentro dele de "Condensar pastas" mas minha surpresa é que a versão 3.0 usa SQLite para indexar e pesquisar as mensagens. Ele usa o SQLite para outras coisas como controle de cookies, permissões, etc.  

    Após realizar com frequência minha tarefa como usuário de "Condensar pastas",  alguns arquivos SQLite do Thunderbir continuam demasiadamente grandes (500MB o global-messages-db.sqlite).

   Tem vários site/blogs na internet que mostram como compactar os arquivos SQLite com o comando VACUUM, mas como existem muitas aplicações baseadas no motor (Gecko) do Firefox e Thunderbird, terá que montar um script que pode usar frequentemente semanalmente.

                                                                                             
$for i in $(find -name "*.sqlite" -print); do echo $i &&  echo "VACUUM;" | sqlite3 $i; done

   
                                                                                                                                                                                                                      
    Isso só funciona em Linux, no windows não tenho a menor idéias de como fazer.

    Claro que isso só funciona se as aplicações baseadas no Gecko estiverem fechadas. :P

    Um incômodo recorrente é que as vezes a base de pesquisa do Thunderbird não está sincronizado com as mensagens armazenadas. Algumas vezes o pesquisa retorna o texto de uma mensagem que não está mais lá. Acredito que seja ajuste fino para uma próxima versão ou para quem se aventurar no "about:config".

 

por Fernando Ike em 31/07/2010 15:15

João Eriberto Mota Filho

Assistindo a uma invasão de rede de camarote…

Bem, estou montando alguns casos para aulas de forense computacional. Já fiz dois introdutórios, disponíveis em http://eriberto.pro.br/forense. Mas eu precisava de algo voltado para uma invasão em rede. Então, montei a isca.

Dia 30 jul. 10

16:00 h

Comecei a montar uma máquina com Debian Squeeze para servir de base para uma máquina virtual vulnerável (usando Xen 4). Depois, criei a máquina virtual. A máquina base (real) possui uma senha de root forte e só está com o serviço ssh rodando. A máquina virtual possui ssh com senha fácil para root e um usuário test com senha fácil também. Tem um servidor de páginas Apache, PHP5, tudo com configuração default e, o mais importante, um monitor samhain enviando mails, para a minha conta falsa no GMail, a cada ocorrência anormal.

17:00 h

A máquina virtual está pronta e operando na Internet. Está disfarçada em uma máquina de uma rede atacadista. É importante ressaltar que não houve qualquer tipo de divulgação a respeito das máquinas (real e virtual) e que não houve registro em DNS. Teoricamente, ninguém deveria chegar em tais máquinas, a não ser por scaneamento. Ou seja: quem chegar é bandido! A máquina virtual tem IP terminado por 131 e a real 132.

18:47 h

O samhain envia um e-mail dizendo, dentre outras coisas, que o arquivo /etc/shadow foi alterado às 18:42 h (21:42 UTC). Veja:

CRIT   :  [2010-07-30T18:47:18-0300] msg=<POLICY [ReadOnly] C-------T->, path=</etc/shadow>, ctime_old=<[2010-07-30T19:36:20]>, ctime_new=<[2010-07-30T21:42:17]>, mtime_old=<[2010-07-30T19:36:20]>, mtime_new=<[2010-07-30T21:42:17]>, chksum_old=<B48D594D9879AB0B364DEC764A1322BD08A6F07BB1729B31>, chksum_new=<A394EE8F4C333D45B50D74DCFC78D70AD8F18DE76082D7C3>

.

Nessa hora eu estava a caminho do shopping.

22:30 h

Cheguei do shopping e vi a mensagem do samhain. Batata! Não consigo mais logar no servidor como root. A senha foi trocada. Só tenho acesso à maquina real.

Na verdade, eu poderia tirar a virtual do ar e montá-la em um diretório para ver o seu conteúdo ou trocar a senha de root novamente. Mas, não é o caso. Preciso de um caso forense e vou deixar a máquina quieta por mais uns 2 ou 3 dias. Essa é a parte mais legal. Como perdi o acesso à máquina, só conhecerei um pedacinho da história. Então, terei que realmente fazer uma forense para descobrir tudo o que ocorreu. Um ponto chave será a memória. Até a senha de root (e outras) deve estar lá dentro.

A partir da máquina real, rodando IPtraf, constatei as seguintes situações:

  • As máquinas 200.220.199.8 (Brasil) e 202.140.34.82 (Índia) conectadas por ssh.
  • A máquina atacada está se conectando à porta 6667 da máquina 208.83.20.130. Ou seja: instalaram um cliente de IRC na máquina e conectaram.
  • O site original do Apache continua intacto.
  • Há um IP terminado por 182, na máquina atacada, conectando na porta 80 de 75.125.252.78. Ou seja: alguém levantou um novo IP e o está utilizando. Ao tentar entrar no site da 75.125.252.78, via browser local, recebi: Bad Request (Invalid Hostname).
  • .

Bem, coloquei um tcpdump, na máquina real, gravando tudo o que for ou vier da porta 6667 externa. O meu objetivo é logar alguma conversa de chat para descobrir o canal e o nick dos atacantes. Com isso, talvez eu consiga a senha de root. Vamos esperar. Também coloquei outro tcpdump rodando para logar tudo o que trafegar de/para 75.125.252.78.

Dia 31 jul. 10

00:53 h

A situação se mantém inalterada. Os dois atacantes continuam conectados. Mas as coisas estão meio paradas. Acho que foram dormir e deixaram as conexões estabelecidas para não as perderem. Faz sentido. Vou dormir também. Amanhã continuo. Boa noite para quem está acompanhado.

01:02 h

Opa! Em tempo! Alguém criou o IP final 180 e conectou na 80 de 221.232.247.43. Esse IP gera uma tela estranha no browser. O 200.220.199.8 se foi. Só resta o 202.140.34.82. Resolvi gravar todo o tráfego destinado a qualquer porta 80. Agora sim, vou dormir.

07:30 h

Alvorada!!! Fui ver a situação. Era a seguinte:

  • Às 06:25 h o logrotate da máquina tentou atuar e não conseguiu, enviando o seguinte mail (desviado para o GMail):
    /etc/cron.daily/logrotate:
     error: error accessing /var/log/apache2: No such file or directory
     error: apache2:1 glob failed for /var/log/apache2/*.log
     error: found error in /var/log/apache2/*.log , skipping
     error: error accessing /var/log/samhain: No such file or directory
     error: samhain:1 glob failed for /var/log/samhain/*.log
     error: found error in /var/log/samhain/*.log , skipping
  • Ou seja: o diretório de logs foi apagado. Nisso já ficou óbvio que o Samhain foi retirado do ar… Mas o importante aconteceu: ele deu o primeiro alerta.
  • O site original do Apache continua intacto.
  • A senha de root permanece alterada e desconhecida para mim.
  • Não houve tráfego na porta 80.
  • No chat, porta 6667, foi capturado tráfego relevante e os atacantes falam em espanhol. Já sei qual é o canal. Neste momento, há 28 nicks logados no canal, dos quais, 19 são operadores.
  • Foi criado um usuário oracle na máquina (vi isso pelo tráfego no chat).
  • A máquina continua logada como cliente em 208.83.20.130:6667.
  • Foi criada a porta 25 sobre o IP final 131. Então, instalaram um servidor de e-mail, provavelmente para fazer spam. Passei a logar também o tráfego de portas 25 na máquina real.
  • A máquina 118.161.245.67 (Taiwan) está conectada na porta 25.
  • A máquina 206.125.46.134 (USA) deu um Syn na 22 do IP final 131, recebeu um Syn-Ack e mandou um Rst. Está scaneando portas. Provavelmente Nmap. Observe que whois interessante:
AirlineReservations.Com, Inc. AIRLINERES-CALPOP-COM (NET-206-125-40-0-1) 206.125.40.0 - 206.125.47.255
LA Data Center CP-809973-001 (NET-206-125-46-128-1) 206.125.46.128 - 206.125.46.159
  • Foi criada uma porta 3128 na máquina, sobre o IP final 180. Provavelmente, temos um proxy para esconder navegação na Internet.
  • A máquina 118.168.138.210 (Taiwan) está conectada nessa porta.
  • Hum… A máquina 113.213.248.181 (Japão) enviou um Syn para a porta 445 e recebeu um Rst. Porta fechada. O cara estava procurando portas abertas.
  • Alguém fez uma conexão no socket 70.39.70.186 a partir do IP final 182. Um site de relógios?
  • As máquinas 85.105.188.189 (Turquia), 94.28.207.39 (Russia) e 212.87.127.16 (Bélgica) tentaram um Syn na 23 do IP final 131 e receberam um Rst. Porta fechada.

08:50 h

    • Só agora terminei a análise publicada no horário anterior.
    • Há um novo canal no IRC. Este tem 42 nicks e 13 operadores. Mas parece ser um canal normal, não de hackers. Estão falando coisas banais e abertamente.
    • Bem, estou satisfeito. Fizeram tudo o que eu queria. Até apagaram os logs. Hora de tirar o zumbi do ar. Vou tomar banho e vou retirar a máquina do ar. Antes vou fazer todos os procedimentos de coleta de dados de memória e máquina. Vou fazer o que está descrito na palestra de forense, disponível em http://eriberto.pro.br/palestras.

    10:05 h

    • Cheguei na cena do crime. Imediatamente, fiz o dump de memória. Como usei Xen, foi fácil:
    # xm dump-core vm0-superatacado memoria.dd
    • Colhi os dados essenciais na máquina ainda viva. Usei netcat para copiar os arquivos via rede. Agora posso fazer isso porque já colhi a memória. Um exemplo:
    Máquina de destino: # netcat -l -p 53000 > free
    Máquina de origem:  # free -m | netcat <ip_de_destino> 53000
    • A seguir, tirei a máquina virtual do ar usando o comando xm destroy, para evitar que ela gravasse algo no disco, superpondo dados.
    • O último passo foi gerar uma imagem do disco, usando o dcfldd (veja este post).

    Matando a sua curiosidade…

    Apenas para matar a sua curiosidade, numa rápida investigação de memória, olha o que encontrei:

    # strings memoria.dd |egrep "Accepted"|grep root|sort -n
    Jul 30 18:01:06 superatacado sshd[1160]: Accepted password for root from 190.120.229.185 port 34031 ssh2
    Jul 30 18:01:06 superatacado sshd[1160]: Accepted password for root from 190.120.229.185 port 34031 ssh2
    Jul 30 18:05:42 superatacado sshd[1356]: Accepted password for root from 190.120.229.185 port 59465 ssh2
    Jul 30 18:07:53 superatacado sshd[1579]: Accepted password for root from 189.235.242.88 port 49316 ssh2
    Jul 30 18:08:55 superatacado sshd[1759]: Accepted password for root from 190.120.229.185 port 48439 ssh2
    Jul 30 19:51:35 superatacado sshd[16537]: Accepted password for root from 189.235.242.88 port 49576 ssh2
    • 190.120.229.185 – Panamá!
    • 189.235.242.88 – México.

    Outra:

    # strings memoria.dd |egrep chauthtok|sort -n
    Jul 30 18:24:25 superatacado passwd[5629]: pam_unix(passwd:chauthtok): password changed for test
    Jul 30 18:42:17 superatacado passwd[8377]: pam_unix(passwd:chauthtok): password changed for root
    

    Lembre-se: eles apagaram os logs e, depois, constatei que derubaram também os serviços syslogd e klogd. É por isso que só consegui colher esses dados na memória. Com certeza, haverá muita coisa sobre isso na superfície do disco também.

    O fim

    Bem, agora é trabalhar em cima das evidências. Vou fazer uma rápida forense para descobrir algumas coisas. Uma delas são as senhas utilizadas para root, sites etc. É bem possível que eu encontre isso na memória. No entanto, já decidi aperfeiçoar o processo. Isso quer dizer que, em breve, farei tudo novamente para ter um material melhor. Quero que seja um caso mais incrementado. Por exemplo: o dump de memória, mesmo comprimido, ficou muito grande. Tenho que trabalhar com uma memória menor para as pessoas poderem fazer download.

    Mas valeu muito a experiência.

    []s!

    por Eriberto em 31/07/2010 03:59

    30/07/2010

    João Eriberto Mota Filho

    Apaguei o /var/lib em um Debian Lenny servidor (em produção)

    Hoje, eu tentava debugar um problema em um servidor. Com o entra e sai da minha sala, telefone tocando, chefe trazendo documentos etc., enquanto reaproveitava uma linha anterior (tecla seta para cima), pensando ter dado um # ls /var/lib, na verdade, dei um # rm -rf /var/lib. Começou a saga…

    Os primeiros sentimentos

    A coisa começa num abstrato formato de p-q-p emanando no cérebro. Depois vem a necessidade de incorporar Airton Sena para ser bem rápido. Tratava-se do roteador de borda mas, como tudo estava na memória da máquina e ela não usava swap, havia uma enorme possibilidade da rede não cair enquanto eu agisse. Então, calma Eriberto. Você consegue!

    O que é o /var/lib?

    O /var/lib é um diretório essencial do sistema que contém, dentre outras coisas, a lista de pacotes instalados e parte do sistema APT. Sem ele, não tem apt-get. Então, no desespero, a primeira coisa que fiz foi dar um # apt-get update, para ver do que ele iria reclamar. Fui criando os diretórios não encontrados. Em determinado momento, um arquivo não foi encontrado. Com o comando touch, criei um arquivo vazio com o nome solicitado. No fim, o APT funcionou (apt-cache e apt-get). Mas tinha algo ruim… A base do sistema é criada durante a instalação do Debian e eu não poderia refazê-la com perfeição a partir de um bando de apt-gets

    A nova solução

    Bem, rapidamente pensei e resolvi criar e copiar uma estrutura básica de /var/lib para dentro da máquina. Poderia fazer essa cópia via rede, pois a máquina acidentada tinha ssh e rsync ativos. Então, em outra máquina, criei um Debian básico com debootstrap:

    # mkdir /tmp/lenny
    # debootstrap lenny /tmp/lenny http://ftp.us.debian.org/debian

    A seguir, com rsync -av, copiei todo o conteúdo de /tmp/lenny/var/lib/ para dentro do /var/lib da acidentada. Ufa! Estrutura básica montada. Agora, na base de dados do APT (e dpkg), que fica em /var/lib, só existiam os pacotes básicos . Em outras palavras, para o Debian, ele era um recém-nascido. Assim, eu precisava reinstalar todos os pacotes preexistentes. Mas eu não tinha uma lista de pacotes instalados. Agora sei que é importante ter uma relação gerada com dpkg -l dentro do meu backup. Vou implementar isso.

    Para descobrir os pacotes necessários, segui a seguinte ordem:

    • Inicialmente, para garantir que a lista de pacotes instalados vinda da outra máquina (dentro do conteúdo do /var/lib) estava batendo, mandei o sistema reinstalar cada um dos pacotes listados. Escrevi a seguinte linha para fazer isso:
    # for i in $(dpkg -l|grep ^ii|cut -d" " -f3); do apt-get install --reinstall -y $i; done
    • Depois, instalei os pacotes básicos, que sempre instalo, como mc, rcconf, less, ntpdate, tcpdump etc.
    • Instalei o kernel, pois esse é o mais básico. Usei o linux-image-2.6-686.
    • Fiz um # netstat -tunlp para ver os serviços que estavam rodando. Esses são muito importantes, porque podem vir a ter falha de segurança um dia e precisam estar na base de dados do APT para poderem ser atualizados.
    • Semelhante ao passo anterior, com base no conteúdo de /etc/init.d, instalei pacotes. Para isso, escrevi a seguinte linha:
    # for i in $(ls /etc/init.d); do echo -e '\n' $i; apt-get install $i; done
    • Depois de reinstalar o daemons com base no /etc/init.d, fiz um novo # netstat -tunlp para ver se não havia algum serviço de rede indesejado no ar. A seguir, outra verificação, agora incluindo os serviços locais, com # ps ax.
    • Agora, o grande final. Eu precisava reinstalar todos os pacotes que tivessem nomes de executáveis, exceto o que eu já tinha instalado. A solução:
    # for i in $(ls /bin; ls /sbin; ls /usr/bin; ls /usr/sbin); do echo -e '\n' $i; apt-get install $i; done
    • Com a linha anterior, alguns pacotes foram instalados, outros dados como já instalados e vários nomes dados como não existentes. Houve mensagens citando pacotes virtuais e substitutos. Assim, depois de tudo feito, rodei novamente o comando com um egrep mágico e um 2> para desviar erros para o lixo. Veja:
    # for i in $(ls /bin; ls /sbin; ls /usr/bin; ls /usr/sbin); do echo -e '\n' $i; apt-get install $i 2> /dev/null; done | egrep -A 5 -B 5 '(virtual|substituem|S\/n)'
    • Nesta última linha eu obtive resultados que foram tratados um a um, individualmente.

    Bem, foi isso. Espero que este post, um dia, ajude alguém.

    por Eriberto em 30/07/2010 17:19

    28/07/2010

    Fernando Ike

    FISL11: O Fim

     

        O Fórum Internacional de Software Livre chegou na décima primeira edição. Com a mudança para o mês de julho e o ano 2010, digamos que literalmente (passamos) frio. Esse é um resumo de ideias que ruminaram.

         Essa edição ficou nítida algumas mudanças:


    Rede sem fio (wirelles/wifi) funcionou
    :

        Incrível, não? Mas aparentemente funcionou para quem precisou usar. Os hotspots da Procempa atenderam bem quem usou, também acrescenta que muita gente já tem um modem 3g para usar com laptop ou celular com acesso a internet.

    Estandes:

         Esse ano não teve estande do Google e nem da Globo.com, esse ano foi a vez do Portal IG. Tinham algumas modelos com roupas inspiradas em Matrix, lógico que viraram a atração de todo evento.

    Palestras:

         Foi a edição com o maior número de palestras, muita gente que nunca foi palestrante tiveram a oportunidade para falar. Isso é um dos pontos positivos da nova forma de avaliar palestras.
         O problema desse novo método é que um palestrante pode ter mais de uma palestra aprovada. Teve muita palestra fraca (não no sentido de palestra básica mas mal preparada), poderia adotar um dos critérios de avaliação dos anos anteriores que era: "um palestrante, uma palestra". Assim teria maior diversidade que já teve esse ano.
         Se tiver o vídeo no TV Software Livre, os cinco primeiro minutos de algumas palestras já mostram o quanto ruim eram. Em compensação, palestra muito boa do Igor Sysoev (NGINX).

    Grupo de usuários:

        O espaço deles no evento foi menor esse ano que dos anos anteriores. A maioria dos grupos tem organizado eventos específicos que podem deixados os Grupos de Usuários com pouco fôlego para estarem no FISL. Os eventos comunitários aconteceram mas em pouco número.

    A PUC:

        É um excelente espaço, principalmente para espantar o frio que estava em Porto Alegre.

    Os palestrantes ídolos:

        Jon Maddog Hall tem muitos fãs, eu sou um deles. Mas ele circulou tranquilamente por todo evento sem que houvesse grande assédio. Não só ele mas muitos outros palestrantes.

    Participantes:

         O perfil dos participantes está mudando. Tem diversas razões

    - O Software Livre/Código Aberto de modo geral está bem mais aceito do que 10 ou 5 anos atrás. Hoje tem muitos que trabalham somente com tecnologias baseadas em SL/CA. Muitos dos profissionais do passado deixaram de ser técnicos e tornaram gerentes ou mudaram de profissão.

    - Os novos participantes do FISL (generalizando) são fanboys de uma tecnologia que é SL/CA. Tanto que o carater ideológico dos anos anteriores não foi tão nítido nesta última edição. Isso também é refletido em outras formas, quantidade de computadores da Apple era bem destacado, sendo que as pessoas não se importam de usarem o Sistema Operacional proprietário da Apple.

        Ao questioná-los, em muitos casos o argumento é que o Hardware é melhor (além de te olharem atravessado durante todo evento), Porém se o critério é melhor por que não usam a Máquina Virtual do .NET que é melhor que as outras máquinas virtuais? Ou por que não usam uma linguagem proprietária que é melhor que alguma SL/CA.

        Creio que isso seja relfexo do debate sobre Código-Aberto (Eric Raymond) e Software Livre (Richard Stallman). A

    Conclusão:

        O FISL mudou, difícil dizer para melhor ou pior, reflexo da mudança das diversas áreas das sociedades que tiveram penetrado as ideias de SL/CA. O FISL está mais diversificado, essa diversificação irá refletir no futuro na própria extinção do FISL. A pulverização de eventos relacionados a SL/CA só irá aumentar.

        O FISL como eu conheci ou como você conhece, daqui 5 anos será completamente diferente. Nem tão corporativo, nem tão técnico, nem tão ideológico, só diferente.

    PS. Não comentei mas é sempre bom encontrar as pessoas envolvidas no PostgreSQL e no Debian.

    por Fernando Ike em 28/07/2010 02:17

    Beta 3 do PostgreSQL 9.0


    Original da imagem aqui.

        Já tem alguns dias mas vale o recado. Saiu o Beta 3 da nova versão do PostgreSQL (9.0), muitas correções no hot stanby que é uma novas funcionalidades mais aguardadas no PostgreSQL.
     

    por Fernando Ike em 28/07/2010 00:13

    26/07/2010

    Fernando Ike

    Dica: Artigo sobre replicação nativa do Postgres 9.0

         O pessoal da Softa escreveu sobre o teste que eles fizeram com uma funcionalidade adicionada na versão 9.0 do PostgreSQL 9.0 que é a replicação por Hot Standby.

         Vale à pena conferir, link aqui.

    por Fernando Ike em 26/07/2010 17:12

    25/07/2010

    Andre Luis Lopes

    Desventuras de um aprendiz de motorista : Capítulo zero

    Hoje fui dar umas voltas com meu pai, no carro dele, para relembrar um pouco como é (tentar) dirigir, já que estava há mais de dez dias sem sentar no banco do motorista. A última vez foi na prova prática para conseguir a carteira.

    Até que fui bem. Troca de marchas, controle do veículo, sinalização, aceleração, frenagem. Tudo isso foi tranquilo. O que não foi tão tranquilo foi a maldita rampa. Ainda não consegui acertar o tempo certo dos pedais no carro dele. Foi a primeira vez que dirigi o carro dele. Apesar de ter ele aqui do meu lado há anos, nunca havia tentado dirigí-lo, uma vez que ainda não tinha habilitação.

    O estranho é que eu tinha aprendido a fazer rampa e baliza certinho na auto-escola com dois carros diferentes, já que tive bastante treino com eles. Como sou iniciante, para mim, ainda é muito estranho mudar de carro, já que tudo parece diferente a cada carro diferente que tento dirigir. Os pedais principalmente. Mais especificamente o tempo de mudança entre eles.

    Normal, tive esse problema quando tive que mudar de veículo na auto-escola e demorei algumas aulas para me acostumar com outro carro. Hoje quase consegui me acostumar com os pedais do carro do meu pai, mas demorou demais e nosso tempo acabou. Fica para a próxima.

    Sei que todo motorista experiente pensa que, para quem sabe dirigir, todo carro é igual e se você sabe dirigir um, sabe dirigir todos. Eu também acredito nisso, mas obviamente isso só vale para motoristas experientes ou para todos menos para mim. Até que eu tenho uma certa experiência, ainda acho que volto a estaca zero no aprendizado quando troco de veículo.

    E amanhã vou para o quarto veículo diferente, provavelmente vou sofrer a mesma coisa que sofri hoje para começar a me acostumar com ele. Amanhã será, novamente, a primeira vez que vou dirigir um novo veículo. Mas com esse eu acredito que irei adquirir mais simpatia, já que esse será o meu próprio carro. O primeiro, simples, sem frescuras, mas será meu, e isso é o que importa.

    Não terei mais aquele medo de fazer besteira com o que não é meu e terei certeza que, se fizer algo errado, ao menos não prejudicarei uma outra pessoa, mas somente a mim mesmo. Isso conta psicologicamente bastante a favor, para me deixar mais tranquilo para dirigir.

    Outra coisa que atrapalha, e muito, muito mesmo, são os demais motoristas. Eles percebem que você é iniciante facilmente, já que não dirige com tanta facilidade como o demais motoristas experientes. E, uma vez que eles percebem isso, parece que fazem de tudo para te deixar ainda mais nervoso, buzinando, lhe xingando, tentando te deixar nervoso ainda mais do que você já está, por ser um iniciante.

    Tenho absoluta certeza que teria conseguido, ao final de tudo hoje, ter dirigido corretamente em todos os aspectos, mas não fui tão bem exatamente pelo fato dos demais motoristas tentarem me acelerar, buzinando, xingando e me deixando ainda mais nervoso.

    Fico apreensivo quando o farol abre e pensando que, se não sair corretamente, se deixar o carro morrer ou fizer ou uma outra barbeiragem qualquer, vou levar buzinadas e xingamentos, o que realmente acontece caso não consiga fazer tudo perfeitamente, como os outros motoristas acham que tenho a obrigação de fazer.

    Nas aulas, com o carro da auto-escola, era mais fácil, já que eles respeitavam mais as barbeiragens por saberem que no carro a frente existia um aluno ainda não habilitado. Agora, com um carro comum, não perdem a menor chance de apontarem para todo o mundo ver as pequenas barbeiragens que eu, ainda inexperiente, cometo.

    Tudo bem. Entendo que seja assim mesmo, mas odeio fazer o papel de iniciante e não poder evoluir tão rápido quanto gostaria. Espero que consiga me acostumar com isso logo e possa passar do nível de iniciante para o nível experiente o mais rápido possível. Prometo que, quando estiver nesse nível, não vou maltratar tanto assim os pobres futuros iniciantes.

    Amanhã tem mais.


    por andrelop em 25/07/2010 22:49

    Gustavo Franco

    FISL11 - O que aconteceu...

    Aconteceu tanta coisa, vamos a um resumão já que a febre deu uma trégua:

    • A minha garganta que já estava inflamada, explodiu. Acho que amanhã entro nos antibióticos. :/
    • Palestrei sobre HTML5 <video> e o caso globo.com - slides em bit.ly/html5welcometothevideo
    • Revi o faw, otavio, michelle, gleydson, kov, luciana, metal, cascardo, rodolpho, deca, nanda, hansmi e diversos outros amigos.
    • Conheci o povo do gud-pr  "Você quis dizer europa?", que me recebeu muito bem. Por tabela exportei vários memes da globo.com, tais como: "Shhhh", "Entendi" e "Achou errado". Obras primas do Melo que estava longe de nós na OSCON e Anselmo que sabe se lá onde está a uma hora dessas. :/
    • Decidimos trazer a debconf ao Brasil novamente e temos um plano. Mais sobre isto muito em breve!
    • faw não parou de me lembrar que eu não vou a NY. Vai ter volta, amigo. :P
    • Conheci ou reconheci o John Philips (status.net), desses amigos instantâneos. Certeza mútua que nos conhecemos antes. Talvez de SF. "Partyyyyy haaaarrd!".
    • Conheci o Ben do OpenMRS. "I'm from Indiana", "dude, I'm sorry but the only thing I really know about Indiana is Guns N' Roses", "Yeah, that is pretty much it and basketball", "I've attended the same school than the guy", "(do) you know what I mean, right?", "absolutely" e mais tarde na mesma noite a banda toca SCOM, a casa cai e o resto é o resto. :>
    • Continuei nutrindo essa relação de amor e ódio por bh e bsb, que nem sempre acontece por minha vontade. :x
    "Prá você que me esqueceu
    Ruuummm!
    Aquele Abraço!
    Alô Rio de Janeiro
    Aquele Abraço!
    Todo o povo brasileiro
    Aquele Abraço!" - 
    Aquele Abraço, Gilberto Gil

    por Gustavo Franco (noreply@blogger.com) em 25/07/2010 19:56

    22/07/2010

    João Eriberto Mota Filho

    FISL 11: uma prévia das minhas palestras

    Hoje cedo, por volta das 06:30h, quando acabei de editar uma das duas palestras que vou ministrar aqui no FISL, postei no Twitter (http://twitter.com/eribertomota) que ia tentar dar um overview sobre as mesmas hoje no meu blog. Então, farei isso agora.

    Ambas as palestras ocorrerão no dia 23 de julho de 2010 (amanhã). Uma será às 10h e a outra às 20h.

    Palestra 1

    Análise e controle de tráfego em redes TCP/IP com tcpdump

    23 de julho, 10h, sala 41E (fisl 6)

    Nesta palestra vou mostrar a importância dos gerentes de rede conhecerem protocolos, encapsulamentos e modelo OSI. Isso é essencial para quem precisa encontrar problemas que envolvem o bloqueio de tráfego ou mau funcionamento. Serão mostrados os conceitos básicos sobre IP, TCP, UDP e ICMP. Com a ferramenta tcpdump aplicada nos pontos corretos, será possível descobrir erros de configuração em roteadores, pontos de bloqueio em firewalls e até mesmo cabos com defeito.

    Uma palestra ESSENCIAL para que administra uma rede. Vários tráfegos capturados com tcpdump serão exibidos e explicados. São tráfegos relativos aos problemas que ocorrem no dia-a-dia. Até mesmo mensagens ocultas emitidas por bancos de dados sobre problemas de conexão serão tratadas na palestra.

    O sumário a ser utilizado:

    • A análise de tráfego
    • A estrutura de um protocolo
    • O protocolo IP
    • O protocolo TCP
    • O protocolo UDP
    • O protocolo ICMP
    • O modelo OSI
    • Técnica de uso do tcpdump na análise de tráfego
    • Considerações finais
    • Conclusão

    Dois exemplos de ideias que serão tratadas:

    • A ida de uma flag TCP Syn, seguido da volta de uma flag Rst, significa que a porta do servidor está fechada.
    • Sabia que é sempre o cliente quem inicia uma conexãow

    A palestra estará disponível para download, a partir das 23h de hoje, em http://www.eriberto.pro.br/palestras.


    Palestra 2

    Gerenciamento de memória virtual no Kernel Linux

    23 de julho, 20h, sala 41C (fisl 3)

    Esta palestra mostrará como funciona o sistema de gerenciamento de memória no Kernel Linux. Será tratado o esquema básico de funcionamento da memória virtual (RAM + Swap). Algumas experiências práticas mostrarão, ao vivo, a memória em ação.

    É fato que grande parte dos usuários não sabem analisar o uso da memória. Isso já começa pela correta interpretação do resultado do comando free. Observe:

    eriberto@cygnus:~$ free -m
     total       used       free     shared    buffers     cached
    Mem:          2015        974       1040          0         53        632
    -/+ buffers/cache:        288       1726
    Swap:          399          0        399

    No resultado anterior, qual o total de memória livre? Bem, garanto que não é 1040 MB. Mas para chegar ao resultado correto, é necessário saber conceitos como buffer-cache. Também serão abordados aspectos sobre o funcionamento do polêmico swap.

    O sumário a ser utilizado:

    • Modelo von Neumann
    • Causas de esgotamento da memória RAM
    • Memória virtual e uso do swap
    • Sistema buffer-cache
    • Gerência do uso de memória
    • Tamanhos mínimos e máximo do swap
    • Swap em arquivo versus swap em partição
    • O mito dos 4 GB
    • Ferramentas de análise de memória
    • Conclusão

    Dois exemplos de ideias que serão tratadas:

    • Qual o tamanho ideal de swap? (não é o dobro da RAM)
    • Sabia que um processador lento pode causar falta de memória?

    A palestra já está disponível para download em http://www.eriberto.pro.br/palestras.

    por Eriberto em 22/07/2010 20:41

    19/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 42: Limitações.

    Como visto no post anterior, a tag video tem seus limites e para extender sua funcionalidade é necessário utilizar JavaScript no que diz respeito ao tocador de vídeos. Infelizmente nem todas as limitações são resolvíveis com JS, muitas delas envolvem os navegadores e etc. Entre elas, eu listo as que são impossíveis ou altamente experimentais atualmente (Julho de 2010):
    • Controlar o buffer de vídeo.
    • Redefinir a qualidade do vídeo de maneira automática, baseado no estado do buffer.
    • Vídeo "ao vivo".
    • Colocar o vídeo em tela cheia (de verdade, sem "esticar" o vídeo até as bordas da tela).
    • Receber vídeo de uma câmera.
    • Receber áudio de um microfone.
    • Peer-to-peer.
    • Criptografia.
    Surpreso com algumas das limitações? Bom, não se deixe abalar por elas. Se você não precisa manter o Globo Vídeos, YouTube, Hulu, Vimeo e etc. É bem provável que as funcionalidades atuais da tag video sejam mais do que suficientes para você. Tenha em mente também que diversos dos itens acima estão sendo trabalhados e se encontram em níveis diferentes de maturidade.


    Espero que tenham gostado dessa série! Bonus points para quem entendeu o 42 no título. :-)


    Leia mais a respeito em:
    diveintohtml5.org/video.html
    www.w3.org/TR/html5/video.html

    por Gustavo Franco (noreply@blogger.com) em 19/07/2010 11:30

    16/07/2010

    Gustavo Noronha Silva

    WebKitGTK+ 1.2.2 and 1.2.3 released!

    Some of you may have noticed WebKitGTK+ 1.2.2 and 1.2.3 have been uploaded recently. Here’s their announcement =). A quick summary: if you’re running the 1.2.x series upgrade to 1.2.3.

    Here’s some information regarding 1.2.2:

    1.2.2 is an update to the 1.2.x stable series; along with a lot of crash, and misc fixes the biggest changes are: 1) the inclusion of a new API from the development branch (webkit_back_forward_list_clear()),
    because it’s simple and will help with fixing a problem in Epiphany stable, and 2) lots of drag and drop, and clipboard related work by Martin Robinson.

    Despite not being strictly fixes, we believe the stable series has a lot to gain from this work; a couple examples should illustrate this better: the changes included fix both a crash when dragging links from WebKit into other browsers, and the annoying bug that made the cursor get stuck in a grab when dragging, sometimes.

    http://webkitgtk.org/webkit-1.2.2.tar.gz
    MD5: 40338001324a38b977c163291e8816d3

    Here’s some information regarding 1.2.3:

    To some such a quick succession in releases may look like a brown paper bag was in order. Not strictly, but indeed 1.2.3 aims to fix some oversights with easy fixes. First of all, WebKit was not buildable with ICU 4.4.1, but thankfully a fix had already been checked in to trunk, so 1.2.3 includes that fix. Secondly, Debian’s Michael Gilbert has done a great job going through all CVEs released about WebKit, and including patches in the Debian package. 1.2.3 includes all of the commits from trunk to fix those, too.

    http://webkitgtk.org/webkit-1.2.3.tar.gz
    MD5: 0ab5c478a6f5b74a1ae96bf13a456662

    You can read some more details, including the list of CVEs that were addressed, in the NEWS file:

    http://gitorious.org/webkitgtk/stable/blobs/master/WebKit/gtk/NEWS

    Enjoy!

    por kov em 16/07/2010 13:11

    14/07/2010

    Thadeu Penna

    Simulações do tratamento antirretroviral em populações com estrutura de idades

    No próximo 15 de julho, o Douglas Santos Rodrigues Ferreira vai defender sua monografia de Mestrado entitulada “Simulações do tratamento antirretroviral em populações com estrutura de idades”. Neste trabalho utilizamos um modelo computacional para populações com idades, para simular o efeito do tratamento antirretroviral nos indivíduos que desenvolveram AIDS. O modelo computacional foi implementado em redes aleatórias (para controle) e em redes que simulam as redes de contatos sexuais. As redes de contatos sexuais, como a ilustrada ao lado, mostram que não existe um número bem definido de parceiros por pessoa: algumas poucas pessoas tem um número grande de parceiros e a grande maioria tem apenas poucos parceiros por ano. Como a rede mostra, não adianta ser fiel se seu parceiro também não o é. Daí porque as simulações são importantes. Nossos resultados mostram que, para situações onde poucos têm acesso ao tratamento, chegamos ao resultado surpreendente, à primeira vista, que o número de infectados aumenta: como os agentes infectadores vivem mais, graças ao efeito do cocktail, há maior chance de contaminação de outros. Por outro lado, como vivem mais, a população é maior do que sem tratamento, indicando que o resultado aparece mesmo aplicado em poucos indivíduos, mas a qualidade melhora muito se uma maior fração tiver acesso (parece óbvio, mas note que disse que melhora muito).

    Como um trabalho de mestrado, não tivemos tempo para explorar todas as possibilidades do modelo (as simulações levam dias no nosso cluster de i5 e i7s, porque as populações devem ser grandes para que possamos ter uma boa estatística e confiabilidade nos resultados). O que pretendemos fazer a seguir é verificar diversas estratégias de “vacinação”, isto é, de distribuição do cocktail (admitindo que não há suficiente para todos).

    A defesa será no dia 15 de julho, às 14:00, na sala 201 (Auditório) do Instituto de Física da UFF. A defesa é pública e sintam-se convidados.

    Read or add comments to this article

    por tjpp em 14/07/2010 03:26

    13/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 5: tocando uma `playlist'

    No post anterior dessa série sobre HTML5 e a tag vídeo falei sobre `markup'. Agora vou explicar como tocar uma `playlist' usando JavaScript. Com um exemplo simples e comentado.

       var videos = [ "http://video-js.zencoder.com/oceans-clip.ogg",
                               "http://upload.wikimedia.org/wikipedia/commons/b/b5/I-15bis.ogg" ];

    Primeiro declaro uma lista de videos contendo dois elementos que apontam para vídeos em ogg. Dessa forma, esse exemplo só é funcional em Firefox 3.5+. Para torná-lo compatível com outros navegadores, mude as URLs abaixo para apontar para vídeos em webm ou ainda mp4. Refira-se ao post sobre compatibilidade dos navegadores se estiver na dúvida.


       window.onload = onLoadDocument;
       function onLoadDocument(){ player(); }

    Código para fazer com que no momento em que a página é carregada, a função player seja chamada.


       function player() {
          var containerVideo = document.getElementById("player");
          var videoIndex = 0;
          containerVideo.poster = "http://wiki.debian.org/FrontPage?action=AttachFile&do=get&target=lennybanner.png";
          containerVideo.controls = "controls";
          containerVideo.src = videos[videoIndex];
          containerVideo.load();
          addEventListener("ended", function onEnded(){ nextVideo(containerVideo, videoIndex); }, false);
       }

    A função player é a primeira a ser executada, o que acontece logo após a página ser carregada. Aqui é definido que containerVideo nada mais é do que qualquer elemento que tiver a id player. No HTML é necessário definir uma tag video com id player (ver abaixo). 

    O videoIndex é definido como 0 e o poster (thumbnail) para todos os vídeos é definido como um PNG. Normalmente esse poster é uma imagem com um `frame' do vídeo. Tente redefini-lo em nextVideo como exercício. O próximo atributo a ser definido é controls, para os controles do tocador de vídeos do navegador aparecerem - aqui eu o defino como controls mesmo por estilo, qualquer coisa pode ser utilizada.

    O próximo passo é definir o atributo src da tag vídeo como sendo o primeiro (videoIndex é zero) da lista videos e invocar o método load para garantir o carregamento. A última linha do código é a mais importante para garantir que o próximo vídeo pode ser tocado. Com addEventListener passo a ouvir pelo evento `ended' que é disparado pelo navegador ao fim de cada vídeo. Quando isto ocorre, prontamente a função nextVideo é chamada com o containerVideo (referência a tag video) e videoIndex que indica a posição atual na lista videos, para que nextVideo possa saber qual vídeo tocar (videoIndex+1).


       function nextVideo(containerVideo, videoIndex) {
          console.info("nextVideo was called - videoIndex is %s", videoIndex);
          containerVideo.src = videos[videoIndex + 1];
          containerVideo.load();
          containerVideo.play();
       }

    Função nextVideo que é chamada ao final de cada vídeo recebendo um containerVideo e o videoIndex atual. Nela existe uma chamada a console.info para `debug' - útil se você tiver o Firebug instalado no Firefox (note que navegadores que usam Webkit também entendem console.info e etc). 

    Em nextVideo redefine-se o atributo src do containerVideo que nada mais é do que a tag video para o próximo da lista - videos[videoIndex + 1]. Após isto chama-se o método load do video para carregá-lo e logo depois play para tocar.


       <video id="player" style="background:#000; width:480px; height:360px;"></video>

    É basicamente o HTML que você precisa para tocar os vídeos na `playlist' acima. 

    Exemplo completo do player HTML5 para tocar uma `playlist' utilizando javascript. Faça o que quiser com ele, é idontgiveafuckware. É tão básico que chega a ser vergonhoso limitar a sua liberdade com qualquer coisa além disso. :-)

    Eu comecei a escrever um exemplo para tocar `playlist' com `fallback' para múltiplos videos utilizando <video> e <source> e ainda um exemplo com JSON. Parei, pois, achei que seria bastante complicado explicar todos os três em um post. Adiciono um link a esse post se chegar a terminá-los posteriormente, já que não devo me extender mais na parte de tocar `playlists' nessa série. Se caiu aqui precisando muito desse código, deixe um comentário.

    Agradecimentos ao Max! Em conjunto iniciamos o trabalho no primeiro tocador de vídeos em HTML5 desse tipo. É bem incomum ter longos vídeos separados em blocos da forma que temos na Globo.com, logo, o evento "ended" foi mais que um achado. Lembro que teorizamos sobre isto quando o projeto estava em estágio inicial. De uma idéia até uma demo foi tudo bem rápido, questão de um dia ou dois. O que levou e ainda toma bastante tempo são todas as centenas de detalhes de regras de negócio que precisam ser implementadas.

    Ah, e olha que grata coincidência: Na madrugada de hoje subimos uma versão de um tocador de vídeos HTML5/JS que usa a técnica descrita acima para tocar blocos de íntegras de vídeos da Globo.com. Infelizmente esse tocador não está disponível para todos os usuários. A maioria dos vídeos ainda é servido utilizando Flash (cof! cof!). No próximo post e último dessa série, você vai saber o motivo e entender quais os desafios para migrar tudo para HTML5.

    por Gustavo Franco (noreply@blogger.com) em 13/07/2010 16:50

    Thadeu Penna

    A história da Cerveja

    A dica saiu na lista do Inkscape, e o infográfico é bonito e educativo. Dá até vontade de alterar o layout do site…

    Read or add comments to this article

    por tjpp em 13/07/2010 13:48

    10/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 4: video `markup'.

    No post anterior dessa série sobre HTML5 e a tag video, expliquei a existência de tocadores de vídeos embutidos nos navegadores. Vejamos agora como utilizá-los.

    Se você tiver vídeo e áudio encapsulado em ogg, webm ou ainda mp4. Tente o `markup' abaixo:

    <video src="/path/para/seu_video.ogg"></video>

    Feito o teste acima ou se não possuir nenhum vídeo, salve o seguinte trecho e abra em seu navegador:

    <video poster="http://video-js.zencoder.com/oceans-clip.png" preload="preload" controls="controls">
    <source src="http://video-js.zencoder.com/oceans-clip.mp4">
    <source src="http://video-js.zencoder.com/oceans-clip.webm">
    <source src="http://video-js.zencoder.com/oceans_clip.ogg">
    </video>
    Acho que o primeiro exemplo de `markup' é bem auto explicativo. Já o segundo é bem mais complexo e cabe explicar em detalhes.

    Eu defino poster, aquela imagem que fica no fundo do tocador de vídeos, antes de você clicar no botão para tocar. Depois eu defino preload como preload mesmo -- somente preload funciona, mas é questão de estilo, me certificando que o vídeo será carregado antes mesmo do usuário clicar no botão para tocar. Ainda na primeira linha do segundo exemplo, eu garanto com controls="controls" que o navegador irá exibir a barra de controle do seu tocador de vídeos embutido.

    É verdade que se você omitir controls, muitos navegadores irão exibir a barra de controle assim mesmo. Não conte com isto! Atente para o fato de na 2a, 3a e 4a linha eu definir o mesmo video em diferentes formatos usando uma tag source. Você pode achar que isto é uma espécie de `playlist' e que os vídeos serão tocados na ordem. Não, não é uma `playlist'! É para `fallback', se MP4, não funcionar tente webm, que se falhar tente ogg. É, já tá desse jeito a coisa... e eu nem vou falar sobre o quebra pau entre WHATWG e W3C.

    Como bônus, vindo direto de Cupertino: É preciso definir MP4 primeiro naquela lista ali, já que o novo messias iPad ignora o resto da lista até o momento. Em tese. o iOS4 para o iPad corrigirá este bug.

    Nota: A tag video aceita hoje os seguintes atributos: autoplay, controls, height, width, loop, preload, src e poster. A tag source aceita type e codecs, que são auto explicativos.

    Vale a pena salientar que se você quiser tocar uma `playlist', com HTML5 puro e simples, isso é impossível atualmente (Julho 10'). Para tal é necessário utilizar JavaScript, e como isto é feito é o tópico do próximo post. 

    por Gustavo Franco (noreply@blogger.com) em 10/07/2010 17:00

    07/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 3: Tocadores (`players').

    Ainda comigo? Sensacional! No post anterior abordei o estado do suporte a tag video nos navegadores. Agora é hora de falar sobre os tocadores (`players').

    Eu tenho uma notícia boa e uma ruim: A boa é que tocadores de vídeo são providos pelos próprios navegadores e você ainda pode customizá-lo de diversas formas (pense JavaScript e CSS), e a ruim é que nem todos os eventos JavaScript estão sendo disparados de maneira consistente por todos os navegadores.

    Sim, mais um inferno de problemas de compatibilidade nos aguarda. Um exemplo é o, recentemente introduzido, onError, que não é disparado pelo Mobile Safari do iPad atual (cof! cof! gimme apps, gimme money) e que já foi devidamente inserido no Safari 5. A tendência é que todos se alinhem e o IE9 destrua o nosso sonho de consistência. :P

    Um ponto importante sobre os tocadores providos pelos próprios navegadores, é que você só precisa usar a tag video para ganhar um. O que normalmente eu tenho visto por ai é alguem inserindo a tag video no HTML5 e estilizando-a via CSS. É o caso do tocador livre do pessoal da zencoder, o videojs. Uma excelente referência para quem quer ou precisa mexer com isto. No próximo post vou abordar `markup'.

    por Gustavo Franco (noreply@blogger.com) em 07/07/2010 11:26

    06/07/2010

    João Eriberto Mota Filho

    Site com trabalhos acadêmicos sobre segurança e forense computacional

    Gostaria de deixar aqui a dica sobre o site do amigo Marcelo Lau, que é um renomado professor em algumas faculdades de São Paulo.

    No seu site há diversos trabalhos acadêmicos, de alunos orientados por ele ou por outros professores conhecidos, sobre segurança e forense computacional. Vale a pena conferir, pois todo o material lá existente já foi avaliado pelo Lau. E o melhor: tem trabalhos escritos pelo próprio Lau. É muita coisa mesmo! Alguns exemplos:

    • Técnicas Utilizadas para Efetivação e Contenção das fraudes sobre Internet Banking no Brasil e no Mundo.
    • Perícia Forense Computacional – ataques, identificação da autoria, leis e medidas preventivas.
    • A aceitação da prova eletrônica no âmbito criminal.
    • Segurança em Dispositivos de Armazenamento Portáteis: um estudo dos riscos envolvendo os pendrives.

    O site é http://www.datasecurity.com.br/usp.html.

    por Eriberto em 06/07/2010 13:52

    Antonio Terceiro

    Getting more out of Gwibber

    Gwibber has frustrated me as a microblog reader. A minor issue I have with it is that sometimes I just can't post/reply through it. I don't know whether it is related to the microblogging services have crashed, which is not Gwibber's fault, but it would be nice if if at least warned the user with a "could not send your post" error message.

    But the major issue I have with it is that I cannot see enough back in time: since I definitively do not check it all the time, I often lose posts that were not done in the last 24 hours. I tried to solve this by unfollowing people that post a lot, but it did not solve the problem.

    I've had read that the Twitter API , which is supported by StatusNet at identi.ca, supports a count argument, which indicated how many posts will be provided, and that it defaults to 20.

    Then I did what every programmer should do: look at the source code. I looked inside the implementation of identi.ca account support in Gwibber source code, and found out that it already uses this parameter, although there is no user interface for setting it. Every account has a receive_count attribute that defines how many posts will be fetched from the servers, and it defaults to 20.

    While there is no UI for receive_count, you'll need to set this attribute directly in gconf. I used gconf-editor for that, but there are a couple of other options out there. Go to apps/gwibber/accounts, find your accounts, and add a new integer key/value pair there, with key "receive_count", and the value you want to.

     

    setting receive_count with gconf-editor

    06/07/2010 13:25

    05/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 2: Navegadores.

    Como dito no post anterior, era irrelevante entrar numa guerra de funcionalidades entre os formatos, já que nem todos os navegadores os suportavam. A guerra ainda está por vir... Vejamos uma tabela de navegadores, smartphones e flash e os formatos que os mesmos suportam.

    Navegadores (suporte exposto via tag video)
    Firefox 3.5+: Ogg (Theora + Vorbis), suporte a WebM (VP8 + Vorbis) em desenvolvimento.
    Chrome 3.0+: Ogg (Theora + Vorbis), MP4 (H.264 + AAC), suporte a WebM (VP8 + Vorbis) em desenvolvimento.
    Safari 4+:  MP4 (H.264 + AAC) e qualquer outro formato suportado no QuickTime.
    Opera 10.5+ :  Ogg (Theora + Vorbis), suporte a WebM (VP8 + Vorbis) em desenvolvimento.
    Internet Explorer 8-: Não suporta a tag video.
    Internet Explorer 9: suportará WebM (VP8 + Vorbis) se estiver instalado no Windows e provavelmente MP4 (H.264 + AAC).

    Smartphones (suporte nativo, não necessariamente exposto via tag video ainda):
    Android e iPhone: MP4 (H.264 + AAC) -- note que somente o perfil básico de ambos H.264 e AAC são suportados. O Android suportará WebM (VP8 + Vorbis) no futuro.

    Flash (incluído aqui para efeito comparativo, em nada tem com a tag video):
    Adobe Flash 9+: MP4 (H.264 + AAC), suporte a WebM (VP8 + Vorbis) em desenvolvimento.


    Pela tabela de suporte acima, fica evidente o motivo pelo qual o Flash é tão utilizado para publicar mídia na web até hoje. Ele é o veículo pelo qual é possivel entregar H.264 e AAC encapsulado em MP4 para a maior parte dos usuários da web (leia-se: usuários de IE). Com a tag video do HTML5 e o IE9, o Flash deixa de ser tecnicamente necessário para que se entregue H.264 e AAC. Fica evidente que WebM se apresenta como o formato competidor, o denominador comum e livre.

    por Gustavo Franco (noreply@blogger.com) em 05/07/2010 07:21

    02/07/2010

    Eduardo Marcel Macan

    Quanto realmente mudou?

    Da "nota do editor" do livro "Linguagem de Máquina  MSX" (1a. edição, 1987) em que eu aprendi (entre muitas outras coisas) para não mais esquecer que C9 era o opcode da instrução "RET" e como fazer contas em base hexadecimal: O Brasil é realmente um país "sui generis". Enquanto que, de ...


    02/07/2010 06:00

    Música: The wind Beneath my wings

    Essa música ficou famosa com a Bette Midler, muuuito tempo atrás. Procurando algo que ilustrasse o espírito de liderança acabei encontrando essa versão um pouco mais atual (fãs do metal finlandês, regozijem-se). A música não é bem o que eu procurava, mas é boa para que lembremos das pessoas que ...


    02/07/2010 06:00

    Apresentação – Campus Party: Grafos Sociais

    Minha apresentação sobre grafos sociais e por que eles não devem ser ignorados pelas corporações. Uma apresentação feita para a Campus Party 2010 com uma explicação técnica do que são grafos sociais, o que podemos inferir a partir de grafos sociais, quem hoje detêm os grafos sociais mais completos e ...


    02/07/2010 06:00

    Música: GOG – Brasil com P (maçan mix)

    Fiz esse "remix" da música "Brasil com P" do Rapper GOG para a festa do movimento música para baixar. Eu montei um set para dançar inteiramente com músicas disponibilizadas na web. Fui ver o acervo do gog online e acabei brincando e colocando outra batida e uns samples por cima ...


    02/07/2010 06:00

    Desafios para a música livre

    Há algum tempo nos demos conta da  transformação social ampla impulsionada por novas formas de comunicação e consequentes novas demandas sociais. Tendo me formado em um ambiente essencialmente tecnológico entrei  em contato com a primeira manifestação direta dessa transformação ainda muito cedo. Era natural que as pessoas que ajudavam a ...


    02/07/2010 06:00

    Novo wordtwit – 2.2.4 adaptado ao miud.in

    Atualizei a minha versão paralela do wordtwit que utiliza o miud.in como encurtador de URLs, vou pedir para que atualizem upstream, se não atualizarem, paciência, sigo distribuindo uma versão patcheada para os que desejarem utilizar o encurtador mais simpático do planeta. Baixem o wordtwit.2.2.4-miudin.zip e façam com que todos seus posts ...


    02/07/2010 06:00

    miud.in o encolhedor de urls mais simpático da web

    Ok, ok... como já divulgaram sem ele estar pronto,  resolvi liberar aqui para os amigos o também experimental wordtwit modificado para usar o miud.in , para aqueles que se sentirem bravos o bastante. O que é o miud.in ? É parte de uma suite de pet projects que tenho desenvolvido em ...


    02/07/2010 06:00

    Latinoware: A minha menina (fontes)

    A palestra sobre produção musical com software livre no latinoware 2009 foi um sucesso. Muita gente pediu pra ter a musiquinha que produzimos para ilustrar a palestra, e que Cesar Brod cantou com tanta... ...desenvoltura :) Então aqui segue o arquivo de projeto da música "A minha menina" que foi escolhida ...


    02/07/2010 06:00

    O gerente Open Source – Latinoware

    Eis os slides da minha apresentação no Latinoware. O Gerente Open Source é um trabalho que estou desenvolvendo, buscando uma linguagem comum entre o mundo do software livre, TI e o mundo da gestão (há muita falha de comunicação nesse meio!). A apresentação foi bastante prejudicada pelo tempo, já que ...


    02/07/2010 06:00

    Proprietário e José Livre – Infostrada da Vida

    Há algumas semanas numa brincadeira no twitter imaginando como se chamariam as "duplas sertanejas do Software Livre" (Gnome e KDE, Proprietário e José Livre, etc...) acabei me empolgando e num ataque súbito de dadaísmo, escrevi esta paródia. Não tive o tempo necessário para gravar vocais e tocar instrumentos para poder ...


    02/07/2010 06:00

    01/07/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 1: Codecs.

    No post anterior da série eu deixei claro os motivos pelos quais a tag video não suporta um swf. Ela suporta vídeo e áudio encapsulado em um formato `container'.

    Um dos formatos `container' mais populares e o que contém o maior número de bizarrices, que estão fora do escopo desse post, é o AVI da Microsoft. Os entusiastas de vídeo curtem MKV (Matroska) e OGG, que são livres.  O dono da internet em termos de formato `container' ainda é o proprietário MP4 que deve passar a sofrer grande concorrência após a Google ter publicado recentemente o WebM, também livre.

    Sim, e eu só estou falando de "meras" cápsulas para o negócio de verdade -- vídeo e áudio codecs.

    vídeo codecs
    Os atualmente relevantes para uso em HTML5 pela tag video, são: H.264 -- encapsulado no MP4, Theora, no Ogg e VP8, no WebM. Note que Theora e VP8 são livres. H.264 é proprietário, porém, mais difundido. Chegando ao ponto de diversos dispositivos terem hardware específico para decodificar vídeo nesse formato.

    audio codecs
    Os atualmente relevante para uso em HTML5 pela tag video e audio (mais sobre ela depois), são: MP3, AAC e Vorbis. Desses, só Vorbis é livre. AAC, assim como o video codec H.264, possui perfis para usos em diferentes tipos de cenários/dispositivos -- tornando-os em um formato do tipo: pague 1, leve 3, 4.

    Ok, agora é só uma questão de escolher o melhor para o seu tipo de video/audio e pronto, certo? Não! Eu resolvi não me aprofundar na guerra entre os formatos e subjetividades de qual é pior e melhor, muito menos se os livres são melhores por questões ideológicas. O motivo é simples. No próximo post da série vou abordar o estado da matéria nos navegadores.

    por Gustavo Franco (noreply@blogger.com) em 01/07/2010 13:23

    30/06/2010

    Gustavo Franco

    HTML5 e a tag video - Parte 0: Olá, video!


    Olá, video! Essa é uma série de posts sobre HTML5, mais especificamente a tag video. Tenho o rascunho de outras séries de posts, e se a vida assim permitir, dias melhores e outros posts virão.

    Nessa série você irá saber mais a respeito de: video e audio codecs, o estado do suporte nos navegadores, dos tocadores de vídeos, como escrever HTML5 hoje e as dificuldades em se migrar de algo proprietário para formato aberto quando falamos de conteúdo licenciado e mais. É necessário um conhecimento básico de HTML e JavaScript. CSS não vai doer.

    A tag video desperta bastante curiosidade por ter potencial de nos livrar da certa dependência em `plugins' para tocar vídeos (Adobe Flash) na web, e ela já é suportada por todos os navegadores modernos. Por navegadores modernos, entenda todos menos o Internet Explorer até a versão 8. Sim, uma boa notícia é que o Internet Explorer 9 suportará a tag video!

    Então é só trocar tudo que usa vídeos em flash por essa tal tag video? Não! Primeiro é preciso saber do que se trata esses tais "vídeos em flash". Um "vídeo em flash" como esses vistos no YouTube, são normalmente exibidos através de uma tag object no HTML da página (`watch page' no YouTube) ou inseridos via JavaScript. Nessos casos, o mais importante é que o tal objeto em flash (swf) contém vídeo e áudio encapsulado em um `container'  FLV ou MP4.

    Se perdeu? Pense em uma cápsula de remédio com dois componentes: A cápsula aqui se chama FLV ou MP4, o vídeo normalmente é H.264, e o áudio AAC ou MP3. Soca tudo isto dentro do SWF, a caixa do remédio, que pode ter várias cápsulas.

    Devido a variedade de tipos de áudio, vídeo e `containers', a coisa não podia ser só pegar e trocar a tag object por uma video. Tudo que podemos simplificar na internet a gente vai complicar, só para ficar trabalhando até mais tarde. O formato swf também não é reconhecido pelos implementadores (navegadores) da tag video, o spec não tem nenhuma referência a swf.

    É uma pena os navegadores não implementarem a spec swf e jogar fora tudo além do vídeo/áudio (normalmente ActionScript) quando possível. Isto se deve ao fato da Adobe não disponibilizar a spec completa do swf (http://en.wikipedia.org/wiki/SWF#Licensing , em inglês), e é algo que poderia mudar se não envolvesse egos maiores que o maracanã e pura politicagem barata. Enfim, o que o formato video suporta eu vou abordar no próximo post dessa série.

    por Gustavo Franco (noreply@blogger.com) em 30/06/2010 15:27

    28/06/2010

    Gustavo Franco

    Globo.com e a Copa do Mundo - O tocador de vídeos

    O tocador de vídeos para a Copa do Mundo 2010 foi escrito em cima de software livre disponibilizado pela própria Adobe - o OSMF. É talvez uma das maiores provas de conceito para eles, e um novo jeito de escrever tocador de vídeos para nós. O anterior não utiliza nenhum `framework' como o OSMF, logo, todas as suas funcionalidades precisaram ser escritas e o código é bem difícil de manter. O player OSMF, como é chamado por nós, só está sendo utilizado para a Copa (pense `streaming'), e se tem planos de utilizá-lo futuramente para VOD (pense `on demand').

    Pelo meu envolvimento com software livre, eu tenho interesse em revisitar aquele código com o Max, o principal engenheiro do mesmo, e disponibilizar a maior parte dele como referência. A gente tem um certo orgulho de ter implementado PIP e `event tracking', com o gaforflash, mesmo isto não tendo sido um requerimento do projeto. Estou certo de que quando a correria para subir o segundo projeto para prod passar, teremos mais tempos para liberar ambas bases de código. Mais sobre esse segundo projeto em um post futuro. Stay tuned! :-) 

    por Gustavo Franco (noreply@blogger.com) em 28/06/2010 12:15

    26/06/2010

    Thadeu Penna

    Gustavo Franco

    Globo.com

    Olá,



    Poucos de vocês sabem que por motivos pessoais eu deixei a Google, em São Francisco, Califórnia. Me mudei de volta para o Rio de Janeiro (minha terra natal) faz poucos meses e aceitei uma proposta da Globo!

    É o meu segundo mês de trabalho no time de webmedia (pense vídeos) da Globo.com, que cuida, entre outras coisas: do `encoding' de vídeos para web até servir vídeo `on demand' (VOD) e ao vivo.

    O meu primeiro projeto envolveu a copa do mundo, e espero poder compartilhar alguns números e mais info sobre a infra-estrutura por aqui em breve. Não me cobrem; tem bastante coisa acontecendo no meu segundo projeto e a copa ainda está em progresso. Sim, dois meses e contando...

    por Gustavo Franco (noreply@blogger.com) em 26/06/2010 15:25

    24/06/2010

    Thadeu Penna

    Porque o Tardelli fez um golaço, segundo a Física

    Passado o calor da discussão, a segunda maior torcida do Rio (os anti-flamenguistas) comentam sobre arbitragem, licença do Bebeto, etc. Até esqueceram o desequilíbrio do argentino-fazedor-de-penalties-desnecessários-ao-segurar-a-camisa-com-as-duas-mãos quando quase quebrou a perna do Cristian. Vamos ao que realmente interessa: o gol do Tardelli é lindo de se ver e mais bonito ainda ao tentar entendê-lo. Ensinamos aos estudantes que a trajetória de um projétil lançado no vácuo segue uma parábola. Como a aceleração é sempre voltada para baixo, a velocidade inicial e a aceleração determinam um plano (vejam aqui, análise de um chute dado por um perna-de-pau). O alcance e a altura dependem da velocidade inicial e do ângulo de lançamento, como na figura abaixo: Isto significa que a bola não poderia fazer curvas além do movimento para cima e para baixo. Em outras palavras, o Tardelli não faria o gol, no vácuo. Mas, ao contrário do que o Galvão possa pensar, a Física permite que o gol aconteça (para a infelicidade da minoria). O que causou a curva na bola foi o efeito Magnus:

    A bola girou e o fluido (ar) que a envolvia se movimentou de forma a criar uma diferença de pressão (exatamente como as asas do avião). A diferença de pressão deu origem a uma força lateral que fez a bola se curvar. Veja no vídeo abaixo: aos 45s do vídeo, o Ronaldo Angelim faz um lançamento longo para o Kleberson (a trajetória é parabólica, porque a bola praticamente não gira). A 1:04, vocês podem ver a trajetória da bola vista de trás do jogador.

    You need to install a Flash Player to watch this video!

    Ao contrário do que possa parecer, não foi o olhar nem a mexida de cabeça do Tardelli que fez a bola fazer a curva, mas a diferença de pressão ao chutar a bola com efeito (spin). Para descobrir o spin da bola, abram a mão direita e façam o movimento de fechar os dedos da mão (sem mexer o polegar) mas seguindo a rotação da bola. Para onde o polegar apontar, este é o spin. O Didi (folha-seca) chutava de maneira que o spin era na mesma direção da bola, e o efeito era muito mais dramático. A curva feita depende da velocidade da bola (menor que 36 km/h, nem pensar) e do efeito (ou a velocidade de rotação). Ainda depende da densidade do ar (seria menor na altitude) mas o efeito é menos importante.

    Mas não foi só isto que causou o gol. Outro fator importante é a percepção da curva da bola pelo goleiro (parece que o Castillos foi se “desmanchando” na direção da bola, sem muita convicção). Segundo Craig, em Judging where a ball will go: the case of curved free kicks in football, artigo publicado na Naturwissenschaften; 93:97-101 (2006); o nosso sistema visual não está preparado para curvas em movimentos (o tempo de reação é maior que algo que vai em linha reta), isto é, demoramos mais para perceber movimentos curvos. Provavelmente foi o que aconteceu com o Castillos (e com os outros 11 jogadores que Craig usou na experiência): demorou a perceber que a bola iria fazer a curva. Depois foi “vendido” para a bola.

    Deve ser lindo fazer a simulação do gol, mas o maior especialista que conheço em CFD é tricolor, acho que não se sentirá motivado a fazer isto.

    Atenção: um físico não é capaz de repetir facilmente o gol do Tardelli, nem podemos dizer que o jogador saiba física porque conseguiu fazer o golaço. Para os mais antigos, se assim o fosse teríamos a Teoria da Relatividade de Nelinho, do Cruzeiro.

    UPDATE: Vale a pena ver a Análise Tática, com tudo que ocorreu antes do chute.

    UPDATE 2: Para quem não entendeu o comentário do Galvão e a “Física permite”, veja o vídeo abaixo (outro exemplo de lançamento com curva, mais acentuado que o do Tardelli porque a velocidade inicial da bola foi maior, neste caso):

    O plug-in Adobe Flash é necessário para exibir este conteúdo.

    Read or add comments to this article

    por tjpp em 24/06/2010 16:58

    O melhor calendário da Copa

    Custei a comentar algo sobre a Copa. Tenho um post da Jabulani preparado mas só vou colocar depois que nossos experts comentaristas chegarem a uma conclusão. Também estou chocado com a repercussão dos xingamentos do Dunga. A Globo é sacana, o Galvão é chato p/kct, mas daí a defender o mais aloprado dos sete anões, é difícil. O cara contaminou o Kaká, mas não é surpresa pois este já se mostrou em inúmeras ocasiões extra-campo como é facilmente influenciável. Vou falar de coisas boas, talvez a melhor desde a desclassificação da França. Um calendário interativo, onde você pode escolher o grupo, o estádio, a seleção, a data, etc., o que quiser.

    Clique na figura acima e tenha a informação que desejar sobre as datas da Copa. Aliás, só as informações relevantes: que lá está frio, eu já estou cansado de saber. O que também não é surpresa, já que Joanesburgo está na latitude 26º, quase Florianópolis que é 27º; ou alguém achava que a África é só o Saara ??? Isto só acontece com as candidatas a vice do partido Republicano americano, não é ?

    Read or add comments to this article

    por tjpp em 24/06/2010 02:54

    22/06/2010

    João Eriberto Mota Filho

    Xen 4.0 no Debian Squeeze, com Ext4

    Depois de algum tempo, o Xen 4 engrenou no Debian Squeeze sem tantos malabarismos. A mágica do APT-GET acontece novamente.

    Depois de passar um dia ralando para fazer tudo funcionar e me adaptar aos novos dispositivos e malícias, escrevi um artigo no meu wiki sobre o assunto. Comecei no dia 15 de junho mas só tive tempo para terminar hoje. Assim sendo, para quem precisar, fica aqui a URL:

    http://www.eriberto.pro.br/wiki/index.php?title=Xen_4.0_no_Debian_Squeeze

    ou

    http://tiny.cc/xen_squeeze

    por Eriberto em 22/06/2010 21:06

    09/06/2010

    Thadeu Penna

    Análise e modelagem estocástica do barorreflexo

    20040514113350.jpg Hoje deveremos ter mais um doutor “fresco” no grupo de Sistemas Complexos. O doutorando é Carlos Eduardo Cardoso Galhardo, e o título da tese é “Análise e modelagem estocástica do barorreflexo através de séries temporais de pressão arterial sistólica” (sim, títulos de tese se parecem com nomes de sambas de enredo). A defesa é hoje às 14h no IF-UFF. Neste trabalho fizemos análise dos dados de pressão arterial de ratos em que um dos mecanismos de controle de pressão arterial, o barorreflexo, é desativado por denervação. Mostramos que um novo mecanismo de controle passa a agir dias depois, por adaptação do organismo, mas que este novo mecanismo – que não sabemos ao certo qual é – é mais lento que o barorreflexo. Propusemos um modelo simples (simples, para físicos) baseado no movimento browniano, já discutido aqui em O azeite bêbado e em Simulações com Processing.js.

    Este trabalho me deixou particularmente gratificado porque antes de escolher prestar vestibular para Física, fiz um teste vocacional e deu Medicina como primeira opção. Acho que escolhi certo. Este trabalho é fruto da colaboração do nosso grupo com o Laboratório de Fisiologia do Exercício, do prof. Pedro Paulo Soares, do Instituto Biomédico da UFF. É mais um motivo para confundirem Física com Educação Física.

    Sobre o estudante, o Gralha, posso dizer que o nosso grupo não será o mesmo depois dele. Foi um dos principais responsáveis por introdução do Python e técnicas como Scrum e peer-programming e um dos mais motivados estudantes que tive. Além de excelente pesquisador é um grande amigo.

    Read or add comments to this article

    por tjpp em 09/06/2010 15:41

    João Eriberto Mota Filho

    Acessando o Banco do Brasil no Debian Squeeze

    Ontem, depois de muito tempo, resolvi utilizar o Internet Banking do Banco do Brasil. Eu já tinha notado, em outra oportunidade, que o mesmo não estava funcionando no Debian Squeeze com Java 6 e Firefox (Icewasel). Como eu estava sem tempo e pensei que o problema pudesse ser temporário, como já ocorrera antes, resolvi deixar de lado. Mas, ontem, para minha surpresa, o mesmo problema. Assim, ativei o console Java para me mostrar erros e confirmei que o problema era no Java mesmo.

    Procurando por bugs no BTS, encontrei o bug report #560044. Nesse bug report, o Heikki Henriksen narra que o pacote netbase introduziu o arquivo de configuração /etc/sysctl.d/bindv6only, que estabelece uma determinada configuração IPv6 para Java (a abertura ou não de dois sockets para operar IPv4 e IPv6). Com isso, alguns sites, como o do Banco do Brasil irão parar de responder, caso haja dois sockets diferentes habilitados. Não sou programador mas creio que isso se dê por causa da tentativa de conexão inicial por um socket, seguido da mudança de socket para se adequar ao IPv4. Se alguém souber algo sobre isso, por favor confirme.

    A solução:

    1. Edite o arquivo /etc/sysctl.d/bindv6only e altere o valor de net.ipv6.bindv6only de 1 para 0.
    2. Reiniciar o procps para que o sysctl seja lido novamente. Para isso: # /etc/init.d/procps restart.
    3. Reiniciar o Firefox (Iceweasel).
    4. Acesse novamente o site desejado.

    por Eriberto em 09/06/2010 13:22

    07/06/2010

    João Eriberto Mota Filho

    O fim do FireGPG

    O Maximillian Cuony, autor do famoso plugin FireGPG, anunciou há pouco que acaba de abandonar o projeto. É uma pena, pois o FireGPG é extremamente útil para quem utiliza GPG no Firefox (Iceweasel).

    O anúncio oficial pode ser visto aqui:

    http://blog.getfiregpg.org/2010/06/07/firegpg-discontinued

    Bem, espero que alguém resolva dar continuidade a esse brilhante projeto…

    por Eriberto em 07/06/2010 12:38

    05/06/2010

    Thadeu Penna

    Modelo Open-source para remédios

    Muitos de vocês devem saber sobre a opção da Glaxo sobre o uso do modelo open-source para desenvolvimento de remédios (veja o link para o artigo no Wall Street Journal. Já começou bem, abrindo os modelos de 13.500 componentes químicos que podem ajudar no combate à malária. Tal notícia apareceu na lista do Grupo de Software Livre do Sul Fluminense e logo segui-se a discussão sobre que modelo adotar. Após a sugestão do luhlig (que não tem tweeter nem blog) de usar o modelo Debian para a versão estável, eu imaginei que a aplicação do modelo Debian no desenvolvimento de remédios deve ser algo como :

    1. é produzida a versão alpha da vacina que será lançada na versão instável, somente para doentes avançados e desenvolvedores da doença (também conhecidos como DDs ou disease developers). Alguns usuários podem testar, mas se morrerem, o problema é deles, deveriam ter esperado chegar na estável.
    2. após 15 dias sem relato de mortes, a vacina entra na fase testing. Quando o número de bugs da vacina cai, ela entra na fase freezing, onde nenhum novo ingrediente pode ser adicionado e a vacina é colocada no refrigerador. Existe um atraso no lançamento da vacina pois o logotipo da seringa não é livre. É criada então a Ice-ringa.
    3. Quando a vacina e todos os medicamentos relacionados à ela são suficientemente testados e o número de mortos é razoavelmente baixo, é lançada a versão estável da vacina e dos medicamentos. Em geral, neste estágio, o vírus já sofreu milhares de mutações e pertence a uma linhagem diferente e ninguém mais tem aquela doença.
    4. Se der sorte e o vírus não for muito diferente, talvez você consiga uma atualização de segurança (caso os DDs não morram enquanto estiverem testando a vacina).
    5. Alguns DD debandarão para outra firma e tentarão copiar tudo que a concorrente (P)fizer pois os comprimidos azuis com a logomarca monocromática são uma obra prima do design - apesar de só poderem ser tomados com a água especial (iH20), mas isto não é bug, é compatibilidade. A concorrente se destaca pois os pacientes não querem saber do que estão tomando, querem apenas que a vacina seja fácil de aplicar e que a mesma pisque se colocar o dedo em cima.

    Particularmente acho que o modelo Arch Linux deveria ser adotado. Se alguém entende de pílulas é o pacman.

    Read or add comments to this article

    por tjpp em 05/06/2010 15:04

    04/06/2010

    Antonio Terceiro

    Distraction-free writing with vim and awesome

    I've recently learn about distraction-free text editing from Lucas, and really liked the idea. Turns outs it is pretty easy to implement it with my beloved vim text editor.

    Removing all distraction while using the console vim is trivial. I just need to switch my awesome workspace to full-screen layout, and that's it. The terminal window running vim will take the entire screen space, and then it's me and vim. No menus, no buttons, nothing.

    Achieving the same effect with gvim is a bit more tricky: besides putting the awesome workspace to use full-screen layout, you have to turn off both the menus and the toolbar. To do that, I mapped the F11 and F12 keys to turn the menus off and on, respectively, by adding the following lines to my ~/.gvimrc:

    map <F11> :set guioptions-=m<CR>:set guioptions-=T<CR>
    map <F12> :set guioptions+=m<CR>:set guioptions+=T<CR>

    Distraction-free-gvim

    You can check out the result in the above screeshot. Yes, that is my entire screen.

    The tip for toggling menu and toolbars came from the vim wiki.

    You ask me: what's the point of running gvim if you are disabling the menus and the toolbar? Several reasons: the fonts look nicer in gvim, the colors are better than the console ones, and I can turn the menu back on if I need (for example to do something I do not remember the command for).

    04/06/2010 18:57

    03/06/2010

    Thadeu Penna

    A mancha de óleo na sua casa

    A teia também não tem sido atualizada tão frequentemente, já que o aracnus também debandou para o microblogging. Assim, eu vou RT o post. A melhor ferramenta para se entender qual o tamanho da mancha de óleo que vazou da explosão da plataforma da BP no Golfo do México é o site http://www.ifitwasmyhome.com/. Com ele você consegue ver qual a dimensão da mancha, se a mesma fosse no local onde você mora. Veja como seria em Niterói:

    manchadeoleo.jpg

    Assustador… ou na gíria da internet: tenso.

    Read or add comments to this article

    por tjpp em 03/06/2010 14:16

    31/05/2010

    Marcelo Santana

    Entrevista com Stefano Zacchiroli, novo líder do projeto Debian

    Tomei a liberdade de fazer uma tradução não oficial de uma interessante entrevista, feita pelo portal  iTWire, com o novo Líder do Projeto Debian (DPL), eleito em 16 de Abril de 2010, para o mandato 2010/2011  .    Nascido na Itália, atualmente com 31 anos, Stefano Zacchiroli tem colaborado com o projeto desde Março de 2001, e faz parte da força-tarefa de mantenedores OCaml do Debian, e da equipe de garantia de qualidade do Debian, onde mantém partes da infra-estrutura, como o Sistema de Rastreamento de Pacotes (PTS).

    Peço que desculpem os possíveis deslizes na tradução, e fiquem à vontade para críticas e/ou sugestões.

    Fonte: http://www.itwire.com/opinion-and-analysis/open-sauce/38579-keeping-1000-devs-focused-new-debian-leader-speaks

    Por Sam Varghese
    Terça-feira, 27 de Abril de 2010

    Dez dias atrás, o novo líder do Projeto Debian GNU/Linux, Stefano Zacchiroli, iniciou seu mandato como o único líder eleito de um projeto de software livre.  Mas essa não é a única coisa que faz do Debian único no espaço FOSS  (Software Livre e de Código Aberto).

    O projeto tem mais de 1000 desenvolvedores de todos os cantos do globo e, apesar dos argumentos e debates que figuram em suas várias listas de discussão, ainda reúne uma distribuição que é de primeira qualidade e atende a mais arquiteturas do que qualquer outra.

    Stefano Zacchiroli

    Zacchiroli, um bolsista de pós-doutorado de uma universidade em Paris, tem portanto uma tarefa bastante difícil pela frente desde o começo de seu mandato.  Ele levou algum tempo para falar ao iTWire sobre seus planos para o ano.

    Parabéns por ter sido eleito. Qual a sensação de ser o líder de um grupo que tem mais de 1000 desenvolvedores e cerca de 2000 opiniões?

    Obrigado… mas eu não acho que seus números sejam justos.  Nós temos opiniões diferentes em assuntos específicos algumas vezes, mas não mais (ainda) do que uma por DD (Desenvolvedor Debian).  Na verdade, eu acho que ter opiniões diferentes e usar democracia e “uma estrutura onde quem faz decide” (do-ocracy) para enfrentá-las é uma das características mais interessantes e distintas do projeto Debian.

    Voltando à sua pergunta,  meus sentimentos principais são:  sou honrado pela confiança que outros DDs têm demonstrado em mim, mais um entusiasmo com a possibilidade de ajudá-los a desfrutar mais da sua participação no Debian.  (Há também) um pouco,  pouquinho de medo da responsabilidade.

    Em sua plataforma, você disse que pretende ser um “DPL presente juntamente nas discussões e como responsável pela agenda do projeto.”  O que exatamente você quer dizer com isso?

    Eu queria dizer duas coisas diferentes.  Uma delas foi a minha intenção em participar da maioria das “grandes” discussões no projeto,  especialmente em caso de conflitos.  A função de DPL não tem autoridade específica para tomar decisões em diversas áreas (sobretudo em questões técnicas), mas deve ajudar na resolução de conflitos e, mais geralmente, facilitando a interação entre os desenvolvedores.

    Outro aspecto relacionado é a responsabilidade do DPL de fazer o trabalho de contabilidade.  Por exemplo, o DPL deve tomar cuidado em lembrar que  precisamos ter uma discussão específica, em um período específico.  Se ninguém se lembrar de levantar a questão antes que seja tarde demais, o DPL deve fazer isso.  Este conjunto de discussões para ter é o que forma a agenda do projeto.

    Novamente sobre sua plataforma,você disse que iria proporcionar  caminhos de acesso ao Debian mais graduais e gratificantes.  Aproveito isso para dizer que você acha que a forma atual de aceitação de pessoas como desenvolvedores é muito burocrática.  Que mudança você tem em mente?

    Na verdade não, não é isso que eu quis dizer.  Eu entendo como o nosso processo pode parecer mais burocrático do que os outros projetos onde, dizem, são necessárias apenas indicações.

    Observe, entretanto, que a nossa burocracia é principalmente destinada a verificar se o candidato compartilha do nossos princípios de fundação e compartilha das promessas que fizemos aos nossos usuários, ou seja, o Contrato Social Debian.  As partes técnicas do nosso processo de adesão podem ser (e muitas vezes são) aceleradas para pessoas que já provaram suas habilidades técnicas, por exemplo, quem já tenha contribuído com uma quantidade significativa de bom trabalho.

    O meu ponto no texto que você citou foi mais sobre o fato de que por muito tempo, ser um colaborador reconhecido do Debian tem sido “tudo ou nada”.  Nos últimos anos, a situação tornou-se muito melhor com a introdução do Mantenedor Debian, um status que é mais fácil de obter do que o DD completo, e que os possibilita trabalhar – fazendo upload dos pacotes – em áreas específicas do projeto.  Eu acho que devemos aprender com isso, que há lá fora contribuintes que não estão interessados em se tornar DDs completos, mas que ainda querem ajudar, e merecem ser reconhecidos por isso.

    Eu não tenho nenhuma mudança específica para propor agora, mas eu sei que nós precisamos ter uma discussão apropriada para decidir a melhor forma de reconhecer a existência dos contribuidores não-empacotadores  (web designers, tradutores, artistas, etc.), que merecem ser reconhecidos com membros do projeto Debian.

    Outro ponto que você pois em sua plataforma: “Eu lutarei fortemente contra a propriedade do pacote quando ele entrar em conflito com a qualidade.”  Obviamente, isso deve ter sido baseado em algum incidente.  Sem dar nome às pessoas ou pacotes, você pode dar uma ideia de como tais situações acontecem?

    Nenhum incidente específico, pacote ou pessoa.  Pelo contrário, o ponto é que precisamos continuar uma mudança cultural, que felizmente já está acontecendo.

    Bem no início não havia campo “Mantenedor” associado com pacotes Debian;  adicionando-o mudaram as regras do jogo.

    De repente as pessoas se sentiram mais responsáveis sobre seus pacotes específicos (o que é bom), mas também se tornaram mais resistentes às mudanças realizadas por outros (o que é ruim),  e ações como uploads por não-mantenedores (NMUs), onde algumas vezes viram com ataques pessoais, ao invés de entender como tentativas de ajudar um colega desenvolvedor.

    Como previsto, nos tornando muito melhores nos últimos anos.  Durante recentes campanhas NMU para corrigir bugs Críticos de Lançamento (Release-Critical) tendo em vista o Squeeze (nossa próxima versão estável), todos os participantes relataram ter recebido basicamente apenas mensagens de “obrigado” por cada NMU adequado.

    Da mesma forma, a maioria dos pacotes Debian são atualmente mantidos por equipes que são fáceis de se juntar, e no qual membros podem contribuir simplesmente fazendo commit em algum sistema de controle de versão.

    Isso faz a mudança em uma distribuição onde colegas trabalham lado-a-lado mas em pacotes individuais, na qual todos são  igualmente responsáveis pela boa qualidade de um  lançamento como um todo, e devem também se preocupar com os pacotes dos outros.

    Você tem algum plano específico para melhorar a comunicação entre Debian e Ubuntu?   Ou o Debian, como um desenvolvedor colocou, terminará sendo um supermercado de pacotes para Ubuntu?

    Eu acho que o principal objetivo aqui é estabilizar um sensato – e bastante típico de FOSS – relacionamento “upstream-downstream” entre Debian e Ubuntu.

    Tecnicamente, isso significa que nós devemos derrubar todas as barreiras para troca de patches entre as duas distribuições (e em ambas direções). O mais fácil é um DD revisar e seletivamente importar patches do Ubuntu, o melhor;  isso é provavelmente o mesmo para os desenvolvedores Ubuntu.

    Socialmente, todos devem dar crédito onde o crédito é devido.  Para ser franco, acho que o Ubuntu deve reconhecer um pouco mais o fato que eles ainda são baseados no Debian e que eles periodicamente sincronizam com o Debian.  É de conhecimento público, mas ainda não é divulgado como, digamos, um desenvolvedor de software livre deveria normalmente dar crédito a (um projeto que) importância de cerca de 70 por cento do código que ele/ela distribui.

    Do nosso lado, devemos reconhecer e anunciar a existência de um fluxo de patch Ubuntu, bem como evitar ataques gratuitos ao Ubuntu que às vezes ainda podem ser lidos em nossas listas de discussão (muito embora isso aconteça muito menos do que no passado).

    O objetivo final é melhorar a colaboração técnica, uma vez que é a qualidade global do software livre que estamos empacotando que está em jogo.

    Apesar do fato que agora é muito fácil de instalar e usar o Debian, a impressão ainda permanece de que ainda é uma distribuição para pessoas com pelo menos algum conhecimento de UNIX. Você acha que isso é uma boa coisa boa devido a Debian ainda ser uma das mais sólidas distribuições em termos de estabilidade, segurança e gerenciamento de pacotes?

    Estou tentado a propor uma troca entrevistador-entrevistado sobre esta questão e perguntá-lo “por que você tem essa impressão?”, mas eu evitarei.  Não vejo qualquer tensão particular para “não requerer nenhum conhecimento UNIX para ser usado” e ser uma “distro estável/segura com sólido gerenciamento de pacotes”.  Eu acredito que podemos ser ambos, e, de fato a Debian visa ser mais.

    Hoje em dia todos os ingredientes que o Debian precisa para ser um desktop à prova de iniciate existem (bem, OK, exite exceção de coisas como drivers não-livres e codecs, mas esse problema será discutível muito em breve, quando o software livre terminar tomando conta do mundo).

    Atualmente, escolhendo a tarefa “ambiente desktop” ao final do instalador Debian você terá um ambiente à prova de iniciante (que meus pais já usam), apesar que estará faltando um pouco com relação a alguns pacotes que precisam ser instalados – e possivelmente configurados – manualmente.

    Eu acho que nós apenas precisamos de padrões sensatos aqui e ali, e talvez um pouco de ajuste da nossa seleção de tarefa.  Se não está no nível de ajuste de desktop de outras distros mais orientadas a desktop, é provável, porque entre nós (atuais) desenvolvedores ainda existem mais caras do tipo sysadmin do que caras do tipo usuário desktop.  É normal nós, como “estrutura onde quem faz decide”, tendermos principalmente a coçar *nossas* sarnas, mas isso pode ser facilmente mudado, não existem maiores razões para não. Apenas motiva algumas pessoas dispostas a fazer um ajuste mais amigável ao iniciante e seleção de pacotes a se juntarem ao Debian, e fazer acontecer.  Quem sabe alguns dos leitores gostariam de se juntar a nós e tentar?

    Ou você acha que poderia haver alguma flexibilização da estrutura que possa resultar em uma distro mais polida, mas que possa ter que assumir alguns compromissos com estabilidade e segurança?

    Permita-me reiterar:  não há nenhum compromisso obrigatório entre ser amigável ao usuário, e ser tão estável e seguro quanto o Debian sempre foi.  Nosso único compromisso é que pretendemos ser tão universal (isto é, para todos e para todo caso de uso possível) quanto possível,  assim, nós geralmente não barganharemos os benefícios do usuário desktop por desvantagens visando outros cenários de utilização.

    Essas nossas generalidades podem ser instanciadas, contudo, pela oferta de diferentes perfis ao final da instalação.  Se “o seu” está faltando ou sub-utilizado, basta “você” se juntar a  nós e adicionar/melhorá-lo. É tão simples assim.

    Naturalmente, um assunto totalmente diferente é a forma como nós lançamos.  O mesmo pode ser amigável ao usuário (desktop) e ainda fazer um lançamento a cada 18 meses.  Ser de tecnologia de ponta e amigável ao usuário (desktop) não são necessariamente a mesma coisa.  Nós realmente gostamos de lançar “quando está pronto”, e eu não vejo essa mudança em breve.

    Você pretende colocar o orçamento do Debian online no futuro, para que qualquer um possa saber quanto vocês arrecadam e como é gasto?

    Vamos primeiro esclarecer que o orçamento Debian é dividido entre diferentes organizações em todo o mundo, a fim de reduzir o custo das transferências de dinheiro para comprar coisas ou para receber doações (que é a única fonte de renda do projeto Debian).  Dito isto, a principal organização que cuida do dinheiro do Debian é a SPI, que periodicamente divulga (publicamente) atas com detalhes a respeito de todo dinheiro que entra e sai.  Ainda assim, não estou surpreso com sua pergunta, pois essas atas não são exatamente fáceis de encontra na web.  (Na verdade, eu tive acesso a esses atas, durante a campanha de DPL desse ano, só depois  eu reclamei que não estavam disponíveis ao público, e que eu pretendo mudar isso …)

    Eu faço planos para melhorar esta situação, divulgar publicamente e em um lugar de maior destaque todo o dinheiro que recebemos  de doadores e como nós o usamos: é apenas o justo, em um projeto tão aberto como nós supomos ser.

    O Debian tem centenas de desenvolvedores altamente talentosos que são desconhecidos para o mundo em geral. Há algum plano para organizar algum tipo de publicidade para essas pessoas? Ou o projeto é mais importantes do que os indivíduos?

    Essa é uma grande ideia, obrigado!  de fato, o projeto e nossas ideias são ambos mais importantes do que os indivíduos, sem dúvida.  No entanto, é interessante ressaltar os indivíduos, não realmente “anunciá-los”, mas sim toná-los mais conhecidos pelos colegas DDs que possivelmente não estão no típico meio social Debian (IRC, listas de discussão, blog, etc.).  Como em todas as comunidades, quanto melhor nós conhecemos uns dos outros, melhor nós interagimos e trabalhamos juntos.

    Nós, de fato, já trabalhamos no passado em iniciativas que ressaltam os indivíduos. Uma que me vem a mente é a série de entrevidas individuais com desenvolvedores que um colega desenvolvedor contribuiu para o planet.debian.org por um período.  Essa foi uma inciativa legal, e eu acho que nós podemos fazer mais nesse sentido, mas focando o objetivo acima, ou seja, conhecer melhor uns aos outros (o que é realmente útil em um projeto de 1000 desenvolvedores com 2000 opiniões *g*).

    E finalmente, que tipo de prazo você precisa para implementar seus planos?

    Boa pergunta!  Eu pretendo trabalhar em meus planos tanto quanto eu puder durante este anos, equilibrando as outras partes da minha vida:  trabalho, família, etc, visto que ainda sou um voluntário.  Eu acredito que bastante trabalho pode ser feito em um período, mas devemos verificar melhor daqui a um ano …


    por marcelosantana em 31/05/2010 19:50

    21/05/2010

    Thadeu Penna

    Isto é que é memória

    Visitei a página do Linux Logo. o LinuxLogo faz aparecer umas figuras em ASCII, como estas, no seu console

    É legal ver o Changelog:

    • I released version 5.09 on 16 February 2010. It fixes a display bug on machines with more than 100GB of memory.

    Imaginem: 100GB e nem é para rodar o Firefox e o OpenOffice, é só no console. Chegar na loja e pedir 4 pentes de 32Gb.

    Read or add comments to this article

    por tjpp em 21/05/2010 17:53

    Gustavo Noronha Silva

    Google’s pacman doodle in Epiphany/Midori?

    Google has had a very nice idea today, to celebrate Pacman’s aniversary: they made their logo become a playable HTML5 pacman. If you’re wondering why your WebKitGTK+ browser is not being able to play the game here’s why: Google is doing User-Agent sniffing and denying you the fun, sending a static image that you can click to perform a search instead of the game.

    If you make Epiphany or Midori identify themselves as Chrome or Firefox, the game will work. I really don’t get this User Agent sniffing bullshit coming from Google. If you go to gconf-editor, and under epiphany->general set the user_agent key to “Mozilla/5.0 (X11; U; Linux; en-gb; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8″ it works. I’m starting to seriously consider User Agent spoofing for *.google.com as a quirk on WebKitGTK+. Lame.

    Update: as a protest, I’m making blog.kov.eti.br and kov.eti.br say Chrome/Chromium are not supported, by doing User Agent sniffing.
    Update2: it’s been pointed out to me that the game is not HTML5 - it’s actually smart usage of divs, and flash *urgh* for the audio
    Update3: thanks to a friend who works at Google getting in touch with pacman’s designer, it looks like it now works without faking U-A - I’m happy for this, thank you! Despite this good step forward, google is still denying us the nice fade in effect, and still sees us as ‘unsupported’ in Wave and similar products, so I’ll keep my protest for now.

    por kov em 21/05/2010 15:59

    20/05/2010

    Gustavo Noronha Silva

    WebKitGTK+ and WebM

    So you probably heard about WebM, right? It’s the awesome new media format being pushed by Google and a large number of partners, including Collabora, following the release of the VP8 video codec free of royalties and patents, along with a Free Software implementation.

    It turns out that if you are a user or developer of applications that use the GStreamer framework, you can start taking advantage of all that freedom right away! Collabora Multimedia has developed, along with Entropy Wave GStreamer support for the new format, and the code has already landed in the public repositories, and is already being packaged for some distributions.

    I just couldn’t wait the few days it will take for the support to be properly landed in Debian unstable, so I went ahead and downloaded all of the current packages from the pkg-gstreamer svn repository, built everything after having the libvpx-dev package installed, and went straight to a rather unknown, small video site called Youtube with my GStreamer-powered WebKitGTK+-based browser, Epiphany!:


    Youtube showing a webm video in Epiphany

    If you’re running Debian unstable, or any of the other distributions which will be lucky to get the new codecs, and support packages soon, you should be able to get this working out of the box real soon now. Check the tips on WebM’s web site on how to find WebM videos on youtube.

    por kov em 20/05/2010 18:24

    Thadeu Penna

    Como um projeto de software cresce

    Há um ano postei aqui apresentando a dissertação sobre a rede de dependências de pacotes do Debian. Hoje conheci uma interessante ferramenta de visualização de controle de versão: o Gource. Ele monta a evolução do projeto com diretórios sendo os ramos das árvores. Dá para ver a estrutura hieráquica e mesmo em alguns casos, nota-se bem que o software não cresce uniformemente, mas tem momentos de bursts, onde o crescimento de galhos é mais rápido. No vídeo abaixo, é mostrada a evolução de vários softwares opensource famosos. Divirtam-se!

    O plug-in Adobe Flash é necessário para exibir este conteúdo.

    Read or add comments to this article

    por tjpp em 20/05/2010 11:40