For Fun and Profit http://www.angusyoung.org Um blog sobre ciência e tecnologia Sun, 25 Oct 2009 15:41:25 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 Configuração de teclado BR ABNT2 no Evev http://www.angusyoung.org/2009/10/25/configuracao-de-teclado-br-abnt2-no-evev/ http://www.angusyoung.org/2009/10/25/configuracao-de-teclado-br-abnt2-no-evev/#comments Sun, 25 Oct 2009 15:41:10 +0000 angusyoung http://www.angusyoung.org/?p=298 Dica de última hora para quem ficou muito tempo afastado :) e nunca mexeu com o evdev: para configurar o suporte a BR ABTN2 no Evev você pode fazer o seguinte:

cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/

Editar as linhas de configuração do teclado. Ficará mais ou menos assim:

<merge key="input.xkb.layout" type="string">br</merge>
 <merge key="input.xkb.variant" type="string" />

Reinicie o daemon do hal e pronto.

]]>
http://www.angusyoung.org/2009/10/25/configuracao-de-teclado-br-abnt2-no-evev/feed/ 0
The Rime of The Acient Programmer http://www.angusyoung.org/2009/07/17/the-rime-of-the-acient-programmer/ http://www.angusyoung.org/2009/07/17/the-rime-of-the-acient-programmer/#comments Fri, 17 Jul 2009 17:56:58 +0000 angusyoung http://www.angusyoung.org/?p=292 Uma paródia da The Rime Of the Ancient Mariner que eu escrevi:


Hear the rime of the Ancient Programmer
See his eye as he compiles one of three
Mesmerises one of the testing guys
Stay here and listen to the nightmares
of the IT

And the test goes on, as the manager passes by
Caught by his spell and
the Programmer tells his tale.

Driven south to the land of the comments and code
To a place where programmer’s been
Through the code flies on the albatross
Hailed in Murphys’s name,
hoping good luck it brings.

And the test goes on, back to the North
Through the requirements and comments and
the albatross follows on

The Programmer kills the bird of good omen
His teammates cry against what he’s done
But when code compiles, they justify him
And make themselves a part of the crime.

Coding on and on and North across IT
Coding on and on and North ’till all is done

The albatross begins with its vengeance
A terrible curse a crash has begun
His teammates blame bad luck on the Programmer
On his back, the manager stands

And the bugs goes on and on and on at IT
And the crash goes on and on for the users and for me

“Day after day, day after day,
we stuck nor fix nor promotion
As idle as a painted ship upon a painted ocean
Bugs, bugs everywhere
more than debugger can find
crashes, chrashes everywhere and no dump to find”

There, calls the programmer
there comes a strange message in the logs
But how can he debug with no memory dump
in the core and no files?

See… onward she comes
Onwards she nears, out of the SUN
See… she has no team
He has no life, wait but there’s two

Analyst and she the Analyst
she designed a new classes for the team
She shows the Programmer and he coded it now.
Then … the team one by one
They starting fixing, two hundred men
She… She, the IT Analyst
She shows them the bugs, design ones

“One after one by the star dogged moon,
too quick for groan or sigh
The manager turned his face with a ghastly pang
and cursed me with his eye
Four times fifty living men
(they had no life nor weekend),
had to code the fixes for a SUN,
and they fixed the bugs one by one.”

The bugs it lives on in their eyes
The Programmer he wished he’d die
Along with the application bugs
But they lived on, so did he.

And by the light of the moon
He prays for his code not doom
With comments he blesses them
Murphy’s creatures all of them too.

Then the app starts to run
The manager gets out from his back
Thanks for effort and goes back to IT
Then down in falls comes the release.

Hear the groans of the lifeless team men
See them stir and they start to rise
Bodies lifted with lots of coffee
None of them speak
and they’re lifeless in their eyes

And revenge is still sought, penance starts again
Crashes in the users face and the nightmare carries on.

Now the curse is finally lifted
And the Programmer drives home
Spirits go from the long dead bugs
Form their own failures and
the Programmer’s left alone

And then a support guy came running towards him
It was a joy he could not believe
The support guy, the client and the team lead
Penance of life will fall onto Him.

And the code it ships like product from the IT
And the Manager forgives the Programmer of his sins

The Programmer’s bound to tell of his story
To tell his tale wherever he works
To teach Murphys’s word by his own example
That we must code all requirements she had made.

And the release fest’s a sad and wiser man
And the tale goes on and on and on.

]]>
http://www.angusyoung.org/2009/07/17/the-rime-of-the-acient-programmer/feed/ 2
Twitter http://www.angusyoung.org/2009/06/11/twitter/ http://www.angusyoung.org/2009/06/11/twitter/#comments Thu, 11 Jun 2009 16:19:58 +0000 angusyoung http://www.angusyoung.org/?p=290 Razão pela qual eu não tenho atualizado o site: eu estou postando muito mais no Twitter, via http://twitter.com/otavio021. Microblogging tem se adaptado melhor a minha louca rotina diária.

]]>
http://www.angusyoung.org/2009/06/11/twitter/feed/ 0
Thanks for the memory http://www.angusyoung.org/2009/06/01/thanks-for-the-memory/ http://www.angusyoung.org/2009/06/01/thanks-for-the-memory/#comments Tue, 02 Jun 2009 00:05:58 +0000 angusyoung http://www.angusyoung.org/?p=288 Excelente texto da IBM Developer Works sobre gerenciamento de memória no OS e gerenciamento de memória de uma JVM.

]]>
http://www.angusyoung.org/2009/06/01/thanks-for-the-memory/feed/ 0
Testando wordpress via iPhone http://www.angusyoung.org/2009/03/07/testando-wordpress-via-iphone/ http://www.angusyoung.org/2009/03/07/testando-wordpress-via-iphone/#comments Sun, 08 Mar 2009 00:52:49 +0000 angusyoung http://www.angusyoung.org/2009/03/07/testando-wordpress-via-iphone/ Este é um post inútil, só pra testar a aplicação Wordpress da iTunes store.

Como eu não tenho muito o que falar, a não ser a respeito da péssima qualidade do sinal da TIM em campinas, vou deixar uma foto do meu macbook (já aproveitando para testar o recurso do envio de fotos).

]]>
http://www.angusyoung.org/2009/03/07/testando-wordpress-via-iphone/feed/ 0
Benchmarks do Firefox http://www.angusyoung.org/2009/02/27/benchmarks-do-firefox/ http://www.angusyoung.org/2009/02/27/benchmarks-do-firefox/#comments Sat, 28 Feb 2009 05:59:05 +0000 angusyoung http://www.angusyoung.org/?p=269 Com toda essa discussão sobre benchmarks do Firefox, GCC, ICC, etc. Hoje resolvi fazer uns testes de desempenho do Firefox no Arch Linux versus Firefox no Windows.  No Arch, por não saber ao certo qual seria mais adequado, escolhi dois pacotes da AUR: firefox-optimized e firefox-pgo. Ambos foram compilados com -march=x86_64 -mtune=generic -O2 -fomit-frame-pointer -pipe (todas essas flags estavam por PADRÃO no arquivo makepkg.conf do Arch).

pacote:  aur/firefox-optimized 3.0.6-r1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 2566.8ms +/- 5.1%
--------------------------------------------

pacote: aur/firefox-pgo 3.0.6-r1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 2458.4ms +/- 1.5%
--------------------------------------------

No Windows XP, na mesma máquina, o firefox foi ligeiramente mais lento. Neste caso utilizei o Firefox baixado direto do site do Mozilla e obtive o seguinte resultado:

pacote: build do Mozilla
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 2633.2ms +/- 1.1%
--------------------------------------------

Curioso que sou, não poderia deixar de testar a versão 3.1 beta2 do Firefox. Então, baixei o beta 2 da versão 3.1 e rodei novamente os testes.

pacote: aur/firefox-pgo-beta 3.1b2-1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 2112.8ms +/- 1.2%
--------------------------------------------

No windows, entretanto, temos uma incrível surpresa: o benchmark dá uma surra de sensacional na versão do Linux:

pacote: build do Mozilla
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 1117.0ms +/- 1.5%
--------------------------------------------

Como eu tinha ficado intrigado com as CFLAGS que estavam por padrão no makepkg.conf devido a suas inconsistências, resolvi configurar eu mesmo, recompilar e ver o que acontecia. Para este teste escolhi -march=core2 -O2 -msse4 -pipe, que é um conjunto “seguro” de opções com o GCC 4.3.3.  Após recompilar, rodei mais um teste e não houve qualquer variação significativa no resultado anterior (ficou pouco mais de 5ms mais lento).

A unica coisa que faltava era verificar se o TraceMonkey estava habilitado e testar com ele. Após uma rápida pesquisa descobri que o TM vem habilitado por padrão para Web e que apenas a JIT para interfaces XUL/Chrome vem desabilitada.

pacote: aur/firefox-pgo-beta 3.1b2-1 + TraceMonkey (XUL/Chrome)
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 2109.0ms +/- 1.9%
--------------------------------------------

Novamente temos uma variação insignificante no desempenho. Desta forma acredito que os principais culpado possam ser o compilador GCC e o próprio código do Firefox para Linux.

Por fim, coisas a considerar:

  1. Meu Windows é 32 bits e meu Arch Linux é 64bits
  2. O Arch Linux não é uma distribuição pra usuários leigos. Espera-se que o usuário saiba o que está fazendo (ex: não existe nada para evitar que o usuário coloque -funroll-loops -ffast-math -freetard etc).
  3. O objetivo do post foi ver a diferença de desempenho entre o Firefox + PGO no Linux contra o Firefox + PGO no Windows. Gostaria de ter feito no Mac OS X, mas infelizmente só tenho Mac no laptop.
]]>
http://www.angusyoung.org/2009/02/27/benchmarks-do-firefox/feed/ 0
Gosta de Xbox 360? http://www.angusyoung.org/2009/02/11/gosta-de-xbox-360/ http://www.angusyoung.org/2009/02/11/gosta-de-xbox-360/#comments Wed, 11 Feb 2009 20:13:23 +0000 angusyoung http://www.angusyoung.org/?p=250 Essa dica é pra você que gosta do videogame Xbox 360 da Microsoft e está interessado em compartilhar dicas, reviews, opiniões, conhecer novas formas de adquirir Microsoft Points ou assinaturas Gold, Xbox Live, etc. Eu e alguns amigos criamos a lista de discussão Xbox 360 Brasil no Google Groups.

Para assinar o grupo envie um email para x360brasil-subscribe(arroba)googlegroups.com ou visite a página do nosso grupo. Todos os assuntos são bem vindos: mods, integração com Linux e Mac OS X, etc.

]]>
http://www.angusyoung.org/2009/02/11/gosta-de-xbox-360/feed/ 0
Frase do mês http://www.angusyoung.org/2009/02/10/frase-do-mes/ http://www.angusyoung.org/2009/02/10/frase-do-mes/#comments Tue, 10 Feb 2009 16:49:23 +0000 angusyoung http://www.angusyoung.org/?p=248 Hoje, lendo o Code Complete 2 topei com essa frase do Dijkstra:

“The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.”

Traduzindo:

“O programador compentente está ciente do tamanho limitado do seu próprio crânio. Ele, então, aborda sua tarefa com total humildade e evita truques espertos como (evita) a peste”

]]>
http://www.angusyoung.org/2009/02/10/frase-do-mes/feed/ 0
Windows 7 unmasked http://www.angusyoung.org/2009/02/03/windows-7-unmasked/ http://www.angusyoung.org/2009/02/03/windows-7-unmasked/#comments Tue, 03 Feb 2009 11:38:33 +0000 angusyoung http://www.angusyoung.org/?p=245 Como eu disse anteriormente, o Windows 7 é o primeiro de muitos windows que eu acho que vale a pena acompanhar. Acredito que, talvez, ele resolva os problemas que transformaram o Windows Vista em um fiasco. Acompanhando as aventuras do B. Piropo com os betas do Seven, topei com o artigo Windows Seven unmasked que aborda os aspectos mais técnicos do sistema. Vale a pena conferir se você está interessado em saber como está o desempenho, kernel, etc.

]]>
http://www.angusyoung.org/2009/02/03/windows-7-unmasked/feed/ 0
Sobre benchmarks de linguagens http://www.angusyoung.org/2009/01/27/sobre-benchmarks-de-linguagens/ http://www.angusyoung.org/2009/01/27/sobre-benchmarks-de-linguagens/#comments Wed, 28 Jan 2009 02:58:13 +0000 angusyoung http://www.angusyoung.org/?p=242 Hoje, não sei como, topei com mais uma comparação de desempenho entre Java em e C++ que, como de costume, gerou uma discussão sem fim. Não que eu ache essas discussões totalmente inúteis: na verdade, você sempre acaba aprendendo/conhecendo alguma coisa nova. O ponto principal e que todo mundo ignora – para meu espanto – é que, quando um programa qualquer em Java é mais rápido que o seu equivalente em C/C++ isso só prova uma coisa: que um programa C/C++ bem escrito consegue processar qualquer coisa bem rápido, inclusive os bytecodes do Java ;)

Em tempo, dêem uma olhada nesse interessantíssimo conjunto de benchmarks.

]]>
http://www.angusyoung.org/2009/01/27/sobre-benchmarks-de-linguagens/feed/ 3
Excelente desfragmentador para Windows http://www.angusyoung.org/2009/01/22/excelente-desfragmentador-para-windows/ http://www.angusyoung.org/2009/01/22/excelente-desfragmentador-para-windows/#comments Fri, 23 Jan 2009 02:33:03 +0000 angusyoung http://www.angusyoung.org/?p=238 De vez em quando eu acabo eu acabo encontrando alguns programas para Windows realmente muito bons. Hoje foi o caso, enquanto procurava uma ferramenta pra melhorar o desempenho do micro da minha mãe acabei encontrando o Ultimate Defrag, da Disk Trix. A boa notícia sobre o programa é que ele é completamente grátis, inclusive para uso pessoal comercial. Basta preencher o formulário de cadastro e você pode baixa-lo aqui.

]]>
http://www.angusyoung.org/2009/01/22/excelente-desfragmentador-para-windows/feed/ 0
Dicas: diminuindo o uso da CPU no dd-wrt http://www.angusyoung.org/2009/01/22/dicas-diminuindo-o-uso-da-cpu-no-dd-wrt/ http://www.angusyoung.org/2009/01/22/dicas-diminuindo-o-uso-da-cpu-no-dd-wrt/#comments Fri, 23 Jan 2009 01:50:02 +0000 angusyoung http://www.angusyoung.org/?p=233 Depois de ter instalado o DD-WRT, eu tive alguns probleminhas devido ao uso excessivo da CPU. Aqui vão duas dicas rápidas para quem quiser diminuir o uso da CPU noLinkSys WRT54G v6 rodando a DD-WRT v24:

  1. Desabilite o suporte q QoS
  2. Use WEP ao invés de WPA2*

No meu caso, o roteador que estava com um load average em torno de 3 a 4, caiu para menos de 1.5, como é possível ver no “copy/paste” abaixo, copiado de um momento em que meus micros estão fazendo vários downloads, aumentando o uso da CPU do roteador.

Firmware:
DD-WRT v24-sp1 (07/27/08) micro
Time:   22:41:05 up 31 min, load average: 0.34, 0.76, 0.74
WAN IP: 192.168.1.64

Como vocês podem ver, o uso da CPU caiu consideravelmente.

*Obs.: Não posso confirmar com 100% de que essa configuração realmente diminuiu o uso da CPU – e também não recomendo pois é mais inseguro que o WPA2 – mas listo aqui como sugestão e registro histórico de algo que eu fiz e aparentemente ajudou a resolver o problema.

]]>
http://www.angusyoung.org/2009/01/22/dicas-diminuindo-o-uso-da-cpu-no-dd-wrt/feed/ 0
MQ Series http://www.angusyoung.org/2009/01/20/mq-series/ http://www.angusyoung.org/2009/01/20/mq-series/#comments Tue, 20 Jan 2009 11:56:26 +0000 angusyoung http://www.angusyoung.org/?p=229 O Vinny, do Use Strict.net está fazendo uma série de posts documentando suas aventuras integrando o Perl com o Websphere MQ, uma das tecnlogias que eu gosto de trabalhar. Ele já começou em grande estilo, documentando em detalhes como instalar o módulo CPAN do MQ no Windows.

O Websphere MQ, para quem não conhece, é um produto desenvolvido pela IBM que, entre outras coisas, oferece transmissão de mensagens com alto grau de disponibilidade. Esse tipo de tecnlogia é comumente utilizado em grandes arquiteturas orientadas a serviço, com sistemas específicos atuando cada um na sua área de negócio.

]]>
http://www.angusyoung.org/2009/01/20/mq-series/feed/ 0