domingo, 23 de dezembro de 2007

Kubuntu 8.04 (Hardy Heron) Alpha 2

Bem, ja estamos no caminho para o próximo lançamento do Kubuntu em Abril, 8.04.
Eu pessoalmente estou esperando esse release por 2 motivos:
1) KDE 4 - Sim, apesar de ja ser possível testar e ele será lançado dia 11/01, eu quero muito ver o KDE 4 no 8.04 como "produto final".
2) Minha decepção com o 7.10 - Não que tenha sido um release ruim. Mas eu particularmente não gostei, não sei por que. Mas achei muito "bloated", muito mais que o 7.04.

Enfim... por causa do KDE 4, o Kubuntu 8.04 não será LTS, tudo bem, acho que não ficaria tanto tempo assim com ele mesmo :P

Mas algumas coisas que me chamaram a atenção do Alpha1 e Alpha2 até agora:
* Kaffeine Codec Auto Installation - Acho que tudo que facilite ter o sistema pronto, logo após a instalação é uma boa coisa. E acho que isso será uma adição legal.
* NTFS Support - Essencial para quem ainda tem uma partição NTFS com alguns arquivos.
* KDE 4 RC 2 - Não se deve fazer review pelas screenshots... mas que parece legal, parece =]
* Tasty Menu - Eu acho esse menu MUITO legal.

Para ver todo o resto, acesse os links acima.

Objetivos para 7D8h

Nunca fiz esse tipo de lista... realmente nunca tinha tido vontade de fazer. Mas hoje deu vontade... e quem sabe, daqui a 365 dias (give or take) eu não reveja esse post e possa comparar o quais coisas eu fiz das quais eu realmente gostaria. Quem sabe até use esse post para algum momento em que eu me sinta a deriva, poder tomar um rumo =]

Sem mais delongas... vamos a eles... meus objetivos para 2008. Não será um lista de 5 coisas, nem de 7, nem de 10, nem de tamanho pré-definido nenhum. Vai ter o número de coisas que pretendo fazer. Here we go =]

Objetivos para 7D8h:

  • Estudar (aprender ou me aprofundar em) as seguintes linguagens de programação: Perl, C/C++, C# e Assembly. De todas as existentes, quero dar mais ênfase nestas 4 este ano.
  • Elevar meu CRA na faculdade para > 8. Sim, não está dos piores, 7.7. Mas quero subir ele para acima de 8.
  • Ler pelo menos 1 livro técnico por mês. Mais os que eu tenho e não li por inteiro até hoje.
  • Publicar pelo menos 4 artigos/how-to/tutoriais, documentos, pelo GRIS.
  • Fazer com que o GRIS apresente trabalhos/pesquisas próprios em pelo menos 2 eventos.
  • Bombar no desenvolvimento do Labrador =]
  • Contribuir com pelo menos 1 destes projetos, nem que seja com patch, bug-reports, etc...: KDE, Amarok, Linux(Kernel), Gentoo/Sabayon, Fedora, Kubuntu.
  • Participar do torneio interno de programação da UFRJ. Montar um time, participar da seletiva da UFRJ e quem sabe da etapa do RJ.


Sim, as vezes eu acho que é muita coisa... mas tenho +- 8760 horas para investir nisso tudo (dormir é para os fracos :P).

quarta-feira, 19 de dezembro de 2007

Adote uma carta =]

Hoje foi bem legal, um pessoal do meu período da faculdade foi no Correios do Nova America, adotar algumas cartinhas e tentar tornar o natal de mais algumas pessoa felizes.
Foi mto bom, alem de ter sido muito legal... Esse pessoal é muito engraçado e só fala merda :P

Presentes: Boleta, Davi, Flávio e eu.
Em espírito (que quiseram participar e apoiaram a idéia, mas não puderam ir hoje): Armandinho, Super Moura, Patty, Vini, Jonas e Bug.

Todos estão de parabéns pela iniciativa. E espero que pelo menos algumas crianças tenham um natal mais feliz esse ano =]

segunda-feira, 17 de dezembro de 2007

Programadores de elite

Se a internet dependesse só dos programadores convencionais, tudo já tinha parado a muito tempo.

É por isso que existem os programadores de Perl, tropa de elite dos programadores mundiais.

Na teoria, os programadores em Perl fazem a mesma coisa que os outros.

Na prática, atuam totalmente diferente.

Nossos one-liners deixam claro o que acontece quando queremos resolver um problema rapidamente.

E nossos códigos não tem frescurinhas, parceiro.

Os programadores de Perl surgiram para intervir quando os programadores convencionais não tem uma solução.

E na internet, isso acontece o tempo todo.

Existem atualmente milhões de sistemas interligados pela internet hoje.

A cada dia, muitos outros são conectados.

Muito deles sem a menor proteção, sem a menor infraestrutura, sem o menor cuidado.

É burrice, pensar que em um ambiente assim, tudo iria funcionar tranquilamente.

Programador Perl também tem família, amigo.

Programador Perl também tem medo de expressão regular.

Mas é por isso, que nessa história todo programador tem que escolher.

Ou vive de Ruby.

Ou corre para Java.

Ou vai pra guerra.

domingo, 16 de dezembro de 2007

Isso veio de onde?

A música é legal, mas de onde que isso veio? São inimigos dos Power Rangers? Ou talvez minions do Senhor dos Aneis? Um dia descobriremos...


Como sempre, algo estranho que só o Bola conhece :P

Primeiro foi em 2000.... agora em 2038

Hoje um post no blog Nerdson.com, me deixou curioso sobre a mais nova catástrofe antecipada, o bug do ano 2038.

Porem, antes de falar sobre o ano 2038, vamos relembrar o do ano 2000. O que foi aquilo? Além de um escândalo em massa criado pelas agências de notícias? =]

Qual era o problema naquela época (meu deus, falando assim, até me sinto velho.. well, eu tinha... 11 anos)? Simples, alguns aplicativos quando calculavam a data, calculavam apenas os dois últimos dígitos do ano. Então era 19 + [DOIS DÍGITOS]. Claro, só uma besta quadrada não sabia que isso não era bom. Então, o que fazer? Muitos programadores já tinham empregado seus PoGs e o aplicativo simplesmente não iria crashar e destruir tudo de uma hora para a outra. Era apenas um problema lógico a ser arrumado. Mesmo assim foi anunciado como uma catástrofe mundial da virada do milênio. Bem, acho que na idade média as pessoas também tiveram medo quando teve a virada de ano de 999 para 1000, vai que os moinhos, enxadas e cavalos parassem com uma BSOD =/
(E aquilo deixou uma criança de 11 anos muito triste que ficou esperando a virada do ano... e... nada aconteceu ¬¬' Que chato!)

Enfim... voltando ao ano 2007. Ou melhor, vamos entender o problema do ano 2038. Este problema esta principalmente sendo discutido em ambientes unix-like, ou seja, Unixes, Linuxes, BSDs, etc...
Nestes sistemas, temos uma estrutura chamada time_t que é responsável pela representação do tempo.

O tempo atual é calculado, somando-se o valor desta variável a seguinte data: 01 de Janeiro de 1970 00:00.

Porém, temos 2 problemas:
1)Esta variável é do tipo signed int. Ou seja, 1 bit é reservado para o sinal.
2)A maioria dos sistemas hoje ainda é 32 bits. Ou seja, o valor máximo que pode ser armazenado nesta estrutura é 2^31. (O último bit foi para o sinal =])

Então, 2^31 nos dá 2,147,483,648 segundos... o que nos leva a aproximadamente 68 anos. Mais precisamente, 68 anos, 19 dias, 3 horas, 14 minutos e 7 segundos.

Mas o que acontece quando somamos + 1 aqui? Bem, temos o que é conhecido como integer overflow. Ou seja, o bit de sinal é ativado e o resto todo é zerado. Sim, isso vai dar merda capitão.

O site http://www.deepsky.com/~merovech/2038.html fez um teste de simulação em um Debian GNU/Linux (kernel 2.4.22) e obteve o seguinte resultado:
Terça, 19 de Janeiro de 2038 03:14:01
Terça, 19 de Janeiro de 2038 03:14:02
Terça, 19 de Janeiro de 2038 03:14:03
Terça, 19 de Janeiro de 2038 03:14:04
Terça, 19 de Janeiro de 2038 03:14:05
Terça, 19 de Janeiro de 2038 03:14:06
Terça, 19 de Janeiro de 2038 03:14:07 (time_t em 32 bits está em seu maior valor possível)
Sexta, 13 de Dezembro de 1901 20:45:52
Sexta, 13 de Dezembro de 1901 20:45:52
Sexta, 13 de Dezembro de 1901 20:45:52

Em um Windows 2000, era mais legal ainda, depois da data limite, não imprimiu mais nada.

Como pode ver... no good!
Será que teremos notícias falando sobre o bug da Sexta-Feira 13? :P


Além disso, hoje já enfrentamos outro problema. Se desejarmos calcular o tempo médio entre 2 datas em sistemas 32 bits, normalmente seria feito (t1 + t2)/2.
Mas quando t1 + t2 for somado, e os dois tiverem o 31º bit como 1, ou então houver carry, pode acontecer o problema de overflow e obtermos um tempo negativo! Bem, isto pode ser facilmente contornado com algumas soluções simples, 2 delas demonstradas pelo site http://www.2038bug.com/index.html:
1)Utilizando-se type-casting, assim: (((long long) t1 + t2) / 2), padrão POSIX/SuS ou (((double) t1 + t2) / 2), padrão ANSI.
2)Utilizando a seguinte conta, indicada por Brian Shand: (t1/2 + t2/2 + (t1&t2&1)).

Eu pessoalmente acho que prefiro a segunda.

Bem, mas como isto pode ser resolvido?
1) Transformando o time_t em um unsigned int, assim teríamos 1 bit a mais. Ou seja, teríamos mais 68 anos para pensar em como arrumar isso. Mas temos um problema, o time_t também é usado para calcular diferença entre datas. Para saber se uma data veio antes de outra por exemplo. Então, não poderíamos simplesmente tirar o bit de sinal dele

2)Passando-se a utilizar ints de 64 bits (long ints em sistemas de 32 bits). Bem não podemos de uma hora para outra simplesmente alterar o tipo do time_t, isso irá quebrar a compatibilidade com muitos softwares existentes. E ficar usando type-casting no programa inteiro deve ser um saco.

A solução mais viável é a utilização de sistemas de 64 bits, que utilizam time_t de 64 bits por padrão. Eu REALMENTE creio que 30 anos seja tempo suficiente para a maioria das máquinas estarem rodando sistemas operacionais de 64 bits. Uma preocupação são com os sistemas embarcados... bem, alguns até hoje são de 8 ou 16 bits... então creio que a preocupação com eles seja um caso a parte. Além disso, o tempo médio de atualização de um sistemas desse é de 18 a 24 meses.
De qualquer forma, conforme-se, o seu IPOD e o seu celular que toca MP3 podem parar de funcionar em 2038. Eu sugiro que você vá fazendo seu pé de meia (a, vamos la, são 30 anos... se você juntar 10 centavos por dia, terá 1.000 reais no final) para comprar seu celular novo.

Para efeitos de curiosidade, um sistema de 64 bits, guardando até 2^63 bits, poderia armazenar 9,223,372,036,854,775,808 segundos, o equivalente a aproximadamente 292 bilhões de anos, 22 vezes a idade do universo. Se até lá, alguem se preocupar e os sistemas já forem em 128 bits, ou seja, o time_t armazenaria até 2^127, isto da 170,141,183,460,469,231,731,687,303,715,884,105,728 segundos. Bem deixo para vocês calcularem isso.


O site www.howstuffworks.com informa alguns outros dados:
Em PCs IBM, o início é em 1 de Janeiro de 1980, e é utilizado um unsigned int de 32 bits. Por volta de 2116 o integer ira sofrer overflow.
O WindowsNT utiliza um int de 64 bits para armazenar a contagem do tempo. Porem ele utiliza incremento de 100 nano segundos e a data inicial é em 1 de Janeiro de 2006. Por volta de 2184 o NT sofreria o problema de overflow.
Em um link - quebrado ¬¬' - a Apple afirma que o Mac suporta até o ano 29,940.

E alguns, já começaram o artigo na Wikipedia sobre o bug do ano 10.000.


Referências:

The Year-2038 Bug:
http://www.2038bug.com/index.html
The Year 2038 Bug and Common Solution:
http://www.gsp.com/2038/
The Project 2038 Frequently Asked Questions (FAQ):
http://www.deepsky.com/~merovech/2038.html
The Year 2038 Problem:
http://pw1.netcom.com/~rogermw/Y2038.html
HowStuffWorks: What is the Year 2038 problem?
http://www.howstuffworks.com/question75.htm
Wikipédia - Year 2038 problem
http://en.wikipedia.org/wiki/Year_2038_problem
Wikipédia - Problema do ano 2038:
http://pt.wikipedia.org/wiki/Problema_do_ano_2038
Wikipédia - Bug do milênio:
http://pt.wikipedia.org/wiki/Bug_do_mil%C3%AAnio
Wikipédia - Year 10,000 problem:
http://en.wikipedia.org/wiki/Year_10%2C000_problem

quarta-feira, 12 de dezembro de 2007

Daqui a 1 mês... por enquanto KDE 4 RC2

Foi liberado ontem o KDE4-RC2 (Release Candidate para os não íntimos :P).
Mais informações podem ser vistas aqui:
http://www.kde.org/announcements/announce-4.0-rc2.php

Eu não sei... tem algo nessas screenshots... Não sei se é esse wallpaper verde. Mas que eu não estou gostando, e olha que eu adoro o KDE =]
Talvez seja o que o pessoal vem comentando... o KDE 4 é toda uma base, esta primeira versão, KDE 4.0.x, será a base para tudo o que seguira nas outras versões KDE 4.x.

Enfim... ainda tenho que testa-lo e tirar minhas conclusões.

E daqui a 1 mês, está agendado para o lançamento do KDE 4.0 final... =]

Se não tiver nada de bom para falar...

...não diga nada.

Foi esse basicamente o motivo de eu não ter postado nada nos últimos dias...
E culminou ontem na seguinte frase que escrevi enquanto conversava no msn:
"Mas meu ego gosta de provar para ele mesmo que eu sei alguma coisa, através destes métodos arcaicos de ensino".
Ficou tão bonita que eu já até penso em pedir a patente dela.

Anyway... de volta a programação normal =]

sábado, 8 de dezembro de 2007

Mas... quem usa Perl? [2]

A algumas horas atrás todos puderam ver que a Amazon, Boing, Cisco, Disney, Dreamworks, Google, IBM, Nasa, Sun e mais algumas (só algumas) usam Perl.

Bem... isso é muito legal. Mas mais quem usa Perl você poderia se perguntar? Não do tipo, empresas gigantes... mas do tipo, gente doida que você pode se encontrar para beber e bater um papo, bem isso agora também está disponível no site da Rio-PM (Não, não é da Polícia Militar! Bendito BOPE.PM...):
http://rio.perl.org.br/suspeitos.pl

Se quiser saber sobre a história da Rio-PM, também criaram uma nova área:
http://rio.perl.org.br/sobre.pl

Parece que alguns monges andaram trabalhando esse sábado =]

Intro de Tales of Innocence



Parece ser muito bom o jogo, pena que eu não entendo xongas de japonês ¬¬'
Espero que não demore muito para sair em inglês... mas se demorar, tem trocentos jogos ainda para serem jogados xD

Mas... quem usa Perl?

Nova seção do site da Rio-PM (e não é da Polícia Militar):
http://rio.perl.org.br/quem_usa.pl

E o seu espírito natalino?


Cyanide & Happiness @ Explosm.net

Girafa na areia movediça

Muito bom =D



Visto no Bobagento =]

Blog de Elite

"Se a internet dependesse só dos sites convencionais, a informação sem opinião já tinha tomado conta da rede faz tempo.

É por isso que existem os editores de blog, tropa de elite da internet brasileira.

Na teoria, os editores de blog fazem parte da blogosfera.

Na prática, é uma internet completamente diferente.

Nossas caixas de comentário deixam claro o que acontece quando publicamos um artigo.

E nossos temas não tem gifs animados. Nossos temas não têm frescuras, parceiro.

Os editores de blog surgiram para intervir quando os grandes portais não conseguem dar jeito.

E, na internet brasileira, isso acontece o tempo todo.

E, na blogosfera, existem quase 100 milhões de blogs.

A cada dia surgem 120 mil blogs novos.

Muitos deles cheios de códigos maliciosos, erros de português bizarros e informação sem sal nem açúcar até os dentes.

É burrice pensar que, em um ambiente assim, os blogueiros vão publicar artigos só pra valer sua arte.

Blogueiro também tem família e amigo.

Blogueiro também tem medo de ter o site hackeado ou processado por político corrupto.

É por isso, parceiro, que nessa história todo blogueiro tem que escolher.

Ou vive de hype.

Ou vira miguxo.

Ou vai pra guerra."


Muito boa idéia do Alessandro Martins, que só descobri hoje no Bobagento :P

sexta-feira, 7 de dezembro de 2007

Se o limite é 80, ande a 80! Seu cabeça de pudim :P

Coluna muito legal... o cara conseguir escrever exatamente o que penso sobre algumas pessoas dirigindo:
http://www2.uol.com.br/bestcars/colunas3/b267a.htm

quarta-feira, 5 de dezembro de 2007

Curso de PenTest (Teste de Invasão)

A empresa Clavis Segurança da Informação (www.clavis.com.br) tem o prazer de anunciar a abertura da primeira turma de sua academia em 2008. Nos dias 14 à 18 de janeiro será realizado o curso PEN-TEST (Penetration Test - Teste de Invasão).

O Teste de Invasão é o processo de busca e identificação de vulnerabilidades de segurança em uma rede, sistema ou ferramenta, bem como a extensão em que as mesmas podem ser exploradas por indivíduos maliciosos. Ideais para determinar a postura atual de segurança de empresas/organizações e identificar problemas potenciais em processos e ativos críticos de negócios, os Testes de Invasão funcionam como ataques reais, que se utilizam das últimas técnicas e ferramentas adotadas por invasores, incluindo Engenharia Social. As técnicas ensinadas durante o curso seguem padrões utilizados internacionalmente como ISSAF, NIST SP800.42, OSSTMM e OWASP.

Curso PenTest (Penetration Test - Teste de Invasão)
Duração: 14 à 18 de Janeiro de 2008
Carga horária: 20 horas
Horário: 18hrs às 22hrs
Valor: R$ 960,00 ou 3 X R$ 320,00

Para matrículas efetuadas até 12 de dezembro de 2007 o valor será de R$ 768,00, parcelados em até 3X sem juros.

Devido a parceria firmada com o Centro de Treinamento UNIRIOTEC, o curso será ministrado na Universidade Federal do Estado do Rio de Janeiro (UNIRIO) - Av. Pasteur, 458 - térreo - Prédio da Escola de Informática Aplicada - URCA. O local possui segurança e estacionamento gratuito.

Outros cursos estão programados para o primeiro trimestre de 2008, entre eles: Forense Computacional e Hardening(Fortalecimento) de Servidores. Para maiores informações, acesse a página de nossa academia (www.clavis.com.br/cursos.htm) ou entre em contato conosco através de http://www.clavis.com.br/contato.php.

segunda-feira, 3 de dezembro de 2007

Tu não é camelô, TU É MULEKE!!!

Overview de algumas distros linux para desktop

O DistroWatch fez uma comparação das seguintes distros direcionadas a desktop: Ubuntu, PCLinux OS, openSUSE, Fedora, Mint, Sabayon, MEPIS e Freespire. Levando em consideração: Facilidade na instalação, facilidade na utilização, gerenciamento de pacotes e velocidade.

Infelizmente o Sabayon, recebeu a menor nota geral - 6 - enquanto ficou entre os mais rápidos com 8. Mas é o que eu sempre disse do Sabayon, eu adoro ele... (in)felizmente, tem algo no emerge dele que sempre da errado... talvez pelo alto número de pacotes ja instalados...
Anyway, vou fazer meu próprio overview de algumas distros que já utilizei, o que gosto e o que não gosto nelas.

Pela nota do Mint... até me animei um pouquinho em colocar ele no meu notebook... Infelizmente ele usa o GNOME =/
Não que o GNOME seja ruim... mas eu simplesmente não consigo gostar dele.

Mas realmente não tenho gostado muito do Fedora 8 (x64) que coloquei no meu note semana passada....

Link para o artigo da DistroWatch

Evolution of Dance

Eu sei que esse vídeo é velho... eu mesmo ja mandei para trocentas pessoas... mas vale a pena ser colocado aqui de novo, é muito bom =]




E ai vão mais alguns...
Breakdance no casamento:


Pense 2x antes de casar com um nerd: