Conversando hoje com J.F. e P.C. (nomes foram escondidos propositalmente :) ), chegamos na seguinte conclusão:

MULHERES SÃO IGUAIS AO Linux

E é muito fácil provar isso! Vejam só:

  • Ambos mostram mensagens crípticas, difíceis de entender, porém essenciais.
  • Se você não prestar atenção nestas mensagens, freqüentemente pode levar um “Oops”!
  • Se você não prestar atenção mesmo assim, isso vai acabar dando um panic. Kernel panic, para ser mais exato. Ou seja, f***u.
  • Embora o kernel é o mesmo, as distribuições variam bastante (cor de cabelo, gostos, cor de sapato + cor de cinto, etc).
  • Essa variação torna-se ainda mais visível se a gente considerar os skins que elas gostam de aplicar! (“Cabelo vermelho + sapato preto hoje; cabelo loiro + sapato verde amanhã..”)
  • Elas podem ser de mais diversas configurações e opções (tem as que gostam de cálculo (hehe, não resisti), tem as que gostam de dançar, tem as que fazem até computação…)
  • As mensagens que elas demonstram são quase sempre indecifráveis, e você precisa de um man para entendê-las. Err… bem, pensando melhor, no caso do Linux é mais fácil..
  • Geralmente elas suportam todos os dispositivos presentes no mercado, porém cada variação do seu próprio jeito.
  • Elas tem interfaces-padrão de entrada-e-saída.. (acho que vou apanhar depois dessa)
  • Se você der um reboot nelas sem dar um sync antes, com certeza vai ter problemas!!
  • A facilidade para instalar novos pacotes (bolsas, sapatos, vestidos) é impressionante!! (Por outro lado, alguns pacotes dão conflitos que demoram um tempo significativo para resolver).
  • Elas criam processos-filhos… (essa foi péssima.. hehe)
  • A interface gráfica é facilmente customizada, as vezes até demais
  • Você precisa conhecer um bilhão de comandos para fazer funcionar do jeito eficiente, e conseguir o que você quer.
  • Elas tem tratamento padronizado para o protocolo ICMP PING (“psiu!!”)
  • Elas suportam diversos aliases para os comandos mais variados. Alguns inclusive podem resultar em efeitos opostos do que você pensava.
  • Elas geralmente estão por trás de qualquer grande projeto :) .
  • Existem diversos bugs que precisariam ser tratados nas versões mais atualizadas…
  • Elas conseguem conversar entre si em protocolos de mais baixo nível (as vezes eu acho que é mais fácil entender a saída binária do tcpdump de que a conversa de duas mulheres sobre a moda…)
  • Elas tem diversas aplicações que fazem mais-ou-menos a mesma coisa (alguém pensou mozilla, firefox, epiphany, galeon, opera e konqueror para navegar na net? nada a ver, eu pensei simplesmente nos 0×208308 sapatos que tem no armário..)
  • e finalmente, para concluir:
  • VOCÊ NUNCA CONSEGUE ENTENDER O SISTEMA INTEIRO!
  • (se você entende, é porque você é o vi.. hehe)

:)

Continuando a temporada de lançamentos, nesse fim da semana saiu Firefox 3 RC1. Com isso, podemos dizer que nas próximas semanas (de acordo com o cronograma de Mozilla), vamos ter a versão final do Firefox 3.0.

Eu estou usando ele desde o fim do ano, nas versões conhecidas como “nightly” (com codenome “minefield“) – são as versões compiladas diariamente. Isso tem lados positivos e negativos – entre os positivos, o desempenho dessas versões geralmente é significativamente superior ao das mais oficiais. Entre os negativos – vire e mexe algo para de funcionar (por exemplo, gmail, acentos, teclado, etc, etc). Mas em geral eu gostei da experiência que eu tive com os nightlies.

Porém, recentemente – já faz aproximadamente 1 mês -  ele tem 2 problemas extremamente irritantes:

  1. O acesso ao chrome (i.e., páginas “internas” do browser) foi desabilitado. Com isso, extensions como yardvark (para remover partes das páginas – tipo banners, fontes ilegiveis, etc) e webdeveloper (caixinha mágica dos web-developers :) ) pararam de funcionar. Enquanto o webdeveloper – de acordo com o site do seu criador – ainda tem esperança, o outro aparentemente não vai ser atualizado no futuro previsível…
  2. Os atalhos (alt-número) para trocar de tabs pararam de funcionar de vez no Linux. Isso é mais de que irritante. Inclusive eu achei o commit que quebrou isso, mas, apesar da minha experiência com o código do mozilla, não estou nem um pouco animado a mexer com isso.. hehehe

Mas, fora isso, o desempenho dos nightlies é mais de que suficiente, e qualidade de renderização também.

E, por falar em desempenho.. Acredito que muitos já perceberam que o Firefox para windows ganhou um speedup de até 4x na renderização de páginas, javascript, e funcionamento em geral. Tudo isso foi possível graças ao PGO (profile-guided optimizations) – técnica nova que apareceu nas últimas versões do GCC (junto com uma multidão de problemas, o gcc também trouxe coisas boas nas versões mais recentes :) ). Entretanto, só versões para windows são compiladas com esse suporte; as de Linux não.

Eu tentei dar uma chance a essa técnica – já que o Arch Linux, que estou usando no último ano-e-pouco, tem facilidade muito grande para criação de pacotes otimizados. E, realmente, a diferença de desempenho é MUITO grande. Não vou colocar nenhum benchmark nem nada aqui, só a minha opinião subjetiva. E ela é:

LIGUE JÁ O PGO!

hehehe.

(se você quer ver um benchmark, dê uma olhada aqui por exemplo -Firefox 3 ainda mais veloz | Open Mania).

E é isso. De forma geral, o firefox 3 parece ser muito melhor que o 2, vamos esperar o release final!

Algumas coleções de fotos criativas que encontrie hoje:

92 More Must See Creative Photographs

(Really) Stunning Pictures and Photos

Olá caros visitantes!

Como é possível ver, o blog foi completamente re-designetizado (ótima palavra, não é? :) ), na linha do design da página “oficial“. Até onde eu vi, tudo continua funcionando, então divirtam-se!

Obviamente, se tiverem sugestões, problemas, reclamações ou doações ;) , sejam bem-vindos a comentar aqui!

Obrigado!

Sincerelly yours, Eu. :)

Todas são originais e recém-inventadas. Se quiserem divulgar, fiquem a vontade! :)

  • porque um bit se perdeu na floresta? porque não levou o bitmap
  • porque Deus criou o mundo em 7 dias? para caber num byte
  • porque os processadores antigos não eram coloridos? porque não eram multi-core
  • qual é a bebida favorita dos administradores de rede? ping
  • como o programador dá descarga? ele chama flush()
  • porque o programador foi na imobiliária? alguém quebrou o pipe dele
  • porque o programador foi na imobiliária? para alocar uma casa
  • onde o programador fica bronzeado? no Solaris
  • quem inventou a WWW? o Homem-Aranha
  • onde foi criado o Java? na Bahia
  • qual é o cúmulo da calma? jogar paciência em Java
  • qual é o software favorito na bahia? screensaver
  • depois dos 7 primeiros dias o Deus disse: “hello, world”
  • qual é o nome do cachorrinho do programador? FIFO
  • e qual é a raça? fila
  • como programador fecha a casa? </home>
  • como o programador entra em casa? cd
  • que que tem no guarda-roupa de um processador? 38 meia

(redes neurais e algoritmos genéticos):

  • que que um neurônio faz no tempo livre? dorme na rede neural
  • porque uma rede neural cresceu? porque os neurônios ficaram excitados
  • e porque a rede não respondeu nada? porque os neurônios ficaram inibídos
  • quais atividades físicas cromossomos exercem? fitness
  • quem criou a TDNN? Walter Mercado
  • e qual foi a primeira saída dela? Ligue Yá
  • porque a MLP aprende devagar? porque ela fica pensando “\eta…. \eta….”

LaTeX:

  • que que um cachorrinho faz quando encontra o dono-programador? \lambda

Novas:

  • que que o programador faz nas férias? vai surfar nas wavelets
  • como o programador abre um livro? ele faz um unfolding
  • como o programador se reproduz? ele faz um fork()
  • que que um doutorando falou depois de defender? agora PhDeu!

Comentários? Sugestões?

(Eu sei que pós-graduação deixa sérios traumas psicológicos :) ).

Atualizei o meu n800 para o maemo os 2008. E voltei a usar ele para coisas da internet, alem de só ler livros. Last.fm ficou espetacular, e gmail com imap tambem. Agora o fbreader ficou muito mais lento e problemático…

É impressionante.. Tem mais de um ano ja o bixinho (o n800, digo), mas parece novo!

Acabou de sair a versão beta do OpenOffice 3.

Muita gente já escreveu sobre isso, com opiniões variando entre “é a salvação do universo” e “e daí??”; agora eu queria falar a minha opinião, que não é nenhuma das duas.

Primeiro, vamos relembrar um pouco a situação como ela estava a alguns poucos anos atrás (vou comparar a evolução do OpenOffice com o Microsoft Office… porque todos os outros pacotes de Office, seja de IBM, de Corel, da SUN, ou de qualquer outra empresa perdem significativamente para o próprio OpenOffice. Temos o Google Docs, mas, obviamente, é um caso a parte!).

Na época que não tinha OpenOffice 1.0, e só tinha os milestones que – com muita sorte – até funcionavam e abriam alguns (poucos e seletos) arquivos do office. Você acha que o OpenOffice hoje em dia é lento?? Ha-ha. Instale algum dos milestones antigos – ou o 1.0 mesmo para ver a diferença. A maior vantagem dessas primeiras versões é que era possível abrir e editar uma grande parte dos arquivos de Microsoft Office. Obviamente, não todos, mas muitos. Nem isso não era possível antes (abiword? koffice? staroffice, siagoffice? prefiro não comentar).

A versão 1.0 foi um marco gigante – foi uma versão estável (na medida do possível), multi-plataforma, completamente livre e que abria a maior parte dos documentos existentes. Mais uma vez – não absolutamente todos, mas a grande maioria. Abrir lentamente, com interface diferente, com diversos problemas de layout, posicionamento e funcionamento, mas.. ela funcionava!

A versão 1.1 melhorou significamente o problema de desempenho, e essas melhorias continuaram com todas as versões posteriores. Versão 2 (e suas sub-versões) introduziu nova interface, suporte a ODF e desempenho muito melhor. E logo-logo vamos ter a versão 3.0.

O que é possível notar nessa evolução das versões?? Primeiramente, o número de reclamações caiu significativamente! Vejamos:

  • Interface diferente: com o lançamento de Microsoft Office 2007 esta reclamação perdeu completamente o sentido. OpenOffice é muito mais parecido com as versões antigas do Office de que o próprio software de microsoft…
  • Suporte incompleto a documentos de office: por mais reclamações que é possível encontrar sobre isso, tem que aceitar que o número de problemas de compatibilidade decresceu absurdamente nos últimos anos. Antes era sorte ter um documento .doc(.ppt, .xls) que abriria corretamente no OpenOffice. Hoje, em contra-partida, é difícil achar um documento com problemas. Chega a casos curiosos, onde OpenOffice consegue abrir documentos que travam o próprio Microsoft Office :) , e a própria Microsoft assume isso (obviamente, não publicamente :) ).
  • Desempenho inadequado: esta afirmação também perdeu o sentido ao avaliarmos o Microsoft Office 2007.
  • Falta de funcionalidades: o OpenOffice ainda não implementa todas as 100% das funcionalidades que o Microsoft Office oferece. Porém… você conhece alguém que usa TODOS os recursos do Word?? Pois é, as funcionalidades presentes são mais de que adequadas…
  • e assim por diante..

Qual é a conclusão que dá para tirar, avaliando as versões atuais de OpenOffice??

Elas oferecem todas as funcionalidade que a absoluta maioria dos usuários precisam. Nem sempre do jeito idéntico ao Microsoft Office; nem sempre com a mesma interface; e nem sempre com todas as variações, mas oferecem!

E quanto a desempenho.. Seguindo os conselhos básicos localizaveis facilmente no google (desligar java, diminuir o cache, diminuir o uso de memória; otimizar o carregamento; desativar funcionalidades avançadas, etc) é possível melhorar o tempo de execução inicial em mais de 10x, e uso de memória em mais de 4x (eu comprovei isso com projetos que fizemos com Intel e Ardence em 2004-2005; inclusive tem até publicações da Intel sobre isso – as de Ardence continuam sendo sob n.d.a. até onde eu sei :) ). Mas, se alguém tiver curiosidade, fiquem a vontade para perguntar por aqui mesmo!

Bem.. passando por esta introdução pequena ;) , o que vamos ver na nova versão de OpenOffice?

  • Suporte a Mac OS X – bastante interessante, porque vai ser possível rodar o OpenOffice em cima de MAC sem precisar de servidor X.
  • Suporte a ODF 1.2 e OOXML – preciso falar alguma coisa?? :)
  • Suporte a PDFs editáveis – conhece algum outro escritório que permite isso?
  • Suporte a macros em VBA – uma das maiores limitações atuais foi a execução de macros voltados para Microsoft Office. Não mais.
  • Suporte a extensionsextensions fizeram do firefox o browser tão popular o quanto ele é hoje em dia. Enquanto plugins para OpenOffice existem já faz alguns anos, nunca foi simples ou intuitivo instalar e usar eles. Acredito que agora isso vai ser resolvido definitivamente.
  • Melhor suporte a multi-midia – suporte a reprodução de sons em background, suporte a múltiplos monitores, melhor suporte para CSV, HTML, melhor na renderização de fontes; melhorias na edição de imagens, e assim por diante. A lista é grande.
  • Novas funcionalidades – novas possibilidades relacionadas a planilhas, formulas, gráficos, renderização de páginas WEB, etc
  • e muitos outras melhorias menos significativas

O que dá para extrair de tudo disso? É simples – o desenvolvimento do OpenOffice é feito de forma evolucionária, e não revolucionária. O que acontece é que ele fica melhor e melhor gradativamente, e não visa fazer milagres de uma hora para outra. É bom isso? Sim, porque é possível ver o que podemos esperar das próximas versões. Isso tem lados negativos? Claro, porque sempre vamos ver comentários do tipo “office não está evoluindo”, “versão 2 é parecida com 1″, “microsoft é mais diferente”…

O resto vamos ver logo, na versão 3.0 do OpenOffice :) .

Vista security

Como funcionaria o mecanismo de segurança de Vista, se aplicarmos ele a um ser humano??

“Existem muitas bactérias perigosas no ar! Preciso cuidar do meu dono! É necessário colocar ele num ambiente impenetrável e protegido. Um saco plástico seria ideal, ainda mais se for de cor preta, porque aí ele vai proteger dos raios ultra-violetas também!”

“O meu dono, estando num saco plástico, pode ser machucado se cair um asteróide em cima dele. É necessário colocar ele num ambiente mais rígido. Um caixão seria adequado.”

“O meu dono, mesmo dentro de caixão, pode ser atingido pela radiação de uma possível explosão nuclear. É necessário esconder ele num lugar profundo. Dois metros de profundidade seria adequado”

“Senhor, agora você está completamente protegido!”

O site oficial (eugeni.dodonov.net) sofreu um re-design completo.

O antigo durou, se não me engano, um pouco mais de 6 anos (desde 2001).

C’est la vie..

:)

Só um pequeno resumo de vantagens e desvantagens de sistemas de controle de versões distribuídos que eu já cheguei a usar.

  • SVN + SVK – parecido com SVN, tem os mesmos problemas que ele (cria um monte de diretórios, etc). Na minha opinião, não tem muito uso prático – é melhor usar soluções distribuídas mesmo (bzr, git ou mercurial), porque todas elas tem gateways para SVN propriamente dito.
  • BZR – acho que é o meu favorito para a maioria das coisas. Facil de usar (o mais fácil de todos, na minha opinião), rápido – principalmente nas últimas versões, extensível. Os meus maiores problemas com ele foi o desempenho (que foi resolvido na versão 1.0), e o tratamento de arquivos binários grandes – ele fazia questão de colocar o commit inteiro na memória, em formato ASCII ainda. Ou seja, para fazer commit de 100MB ele usava 2GB de RAM. Mas aparentemente, isso foi arrumado recentemente.
  • GIT – extremamente poderoso, rápido e eficiente.Em contra-partida, ele tem milhares de comandos, sub-comandos, parâmetros e opções. Se você aprender tudo com ele, ele é o melhor. Entretanto, eu vivo me perdendo na hora de fazer coisas mais complexas (tipo, fazer um cherry-pick de um repositório remoto em um branch diferente). Por outro lado, só ele que permite fazer cherry-pick de forma fácil (para quem está por fora – cherry-pick permite você pegar um commit independente e embutir ele em outro branch. Se isso não fez sentido para você, provavelmente você não precisa dele :) ). A melhor coisa do GIT para mim é o suporte dele para multiplos branches locais, no mesmo diretório. E a velocidade, é claro. Porém, a complexidade dele acaba complicando demais a vida as vezes.
  • Mercurial – parecido com o BZR e GIT. Atualmente suporta branches e cherry-picks também (de forma diferente). Ele suporta queues de patches também nativamente – mas, como nunca precisei disso, não posso falar muito detalhes. Fora isso, nunca cheguei a mexer muito com ele (mas, para quem tiver interesse, tem um tutorial interessante aqui). A escolha entre ele, bzr e git muitas vezes é questão de religião mesmo :) .
  • DARCS – bastante interessante, e diferente de todos os outros sistemas. Basicamente, todo o mecanismo de commits e diferenças entre versões dele é baseado em filas de patches, aplicados em determinada ordem. A filosofia dele também é parecida com GIT – ele visa manter controle do conteúdo, e não da estrutura de versões. Isso tem lados bons (o mesmo conteúdo pode migrar de um lugar para outro – arquivo, diretório, etc) e ruins (se alguém fez essa migração, você não vai ter controle exato sobre o que foi feito).
  • GNU ARCH – acredito que hoje em dia ele tem mais interesse histórico de que prático. Muito mais complexo de usar (se bem que, comparando com GIT, acho que dá uma briga boa). As ideias dele são utilizadas em outros sistemas de controle de versões distribuídas, mas ele em si – pelo que eu sei – está parado. Eu cheguei a usar ele faz alguns anos, mas desisti logo devido à complexidade dele.
  • MONOTONE – também em desuso nos últimos tempos, o MONOTONE serviu como inspiração para GIT. Fora isso, nunca vi ninguém usar ele, então não tenho opinião formada sobre ele.

Além disso, tem diversas outras soluções caseiras (com svn, cvs (eca..), etc) que fazem a mesma coisa que DRCS’es usando algumas gambiarras (hehehe). Mas eu fico entre BZR e GIT na maioria dos casos.

© 2012 Eugeni's blog Suffusion theme by Sayontan Sinha