Já que outros estão falando de livros que gostam, a minha atual fila de leitura. Os livros foram sendo pegos na estante, sem ordem alguma, listados abaixo de baixo para cima:

- American Gods, Neil Gaiman
- O mundo assombrado pelos demônios, Carl Sagan
- Revolution in the valley, Andy Hertzfeld
- iCon - Steve Jobs, Young Simon
- Cryptonomicon, Neal Stephenson
- Dune, Frank Herbert
- Bíblia Sagrada, tradução em português da nova versão internacional (NVI)
- 23 minutos no inferno, Bill Wiese
- 90 minutos no céu, Don Piper com Cecil Murphey
- Elite da Tropa, Luiz Eduardo Soares, André Batista e Rodrigo Pimentel
- 8 hábitos do líder eficaz de grupos pequenos, Dave Earley
- Continente sombrio, Mark Mazower
- Valuation - Como precificar ações, Alexandre Póvoa
- Trend Following, Michael W. Covel
- Getting things done, David Allen
- The intelligent investor, Benjamim Graham
UPDATE: Já encontrei pelo menos mais 4 livros que também deveriam estar na pilha… 
Minhas dores de cabeça com os releases desse nano-projetinho open source (CachedObjects), essa biblioteca de cache para um framework (CodeIgniter) de desenvolvimento web em php me colocaram pra pensar:
Como você administra os releases do seu projeto open source? Tudo manualmente? Chama o tar -cvzf na linha de comando? Automatizou isso? e controle de versão? Qual? (povo do nerds.valeta, essa é pra vcs responderem :p)
Para quem não me entendeu, controle de versão não automatiza em nada o processo de release, seja cvs, svn, bzr, git, o que você quiser.
No meu caso, fiz um makefile para simplificar as seguintes etapas:
a) extração do history svn e formatação no padrão changelog.
b) produção tanto do README quando do site usando txt2tags
c) empacotamento em .tar.gz e .zip
d) upload do site atualizado e dos pacotes.
Mas ainda falta + coisa pra que o release seja realmente one liner.
Olha o presente que acabei de dar para a minha filha.. um snow leopard.
Edit: Ok, ok, ok, nerds chatos, não é um leopardo da neve, isso é um tigre albino. Digamos que é a ‘tentativa que vale’ 
Tirando LOST, não comento muito sobre o que assisto. Exatamente no último hiato antes do final da quarta temporada de LOST eu fiquei ‘órfão de novela’ e resolvi baixar os primeiros episódios da primeira temporada de Battlestar Galactica, para ver se valia a pena. O que todo mundo sabe é “ah, aquela refilmagem onde o startbuck é mulher, né?”. Isso, exatamente essa refilmagem. Acontece que definitivamente não parou por aí. Ao contrário de Star Wars, que é um enorme conto de fadas scifi, e Star Trek, onde a humanidade inteira é unida we-are-the-world e religião parece ser algo do passado, em BSG aborda-se política e religião como temas centrais da história.
A história muito resumidamente é: Humanos que vivem em 12 planetas criam robôs sentientes (cylons) para serem seus escravos. Cylons se rebelam e entram em guerra com os humanos. Depois de décadas de paz, Cylons lançam um ataque surpresa e destroem todos os 12 planetas sobrando apenas um punhado de naves civis e uma nave militar velha, a Battlestar Galactica, fugindo dos Cylons e procurando a mítica décima terceira colônia humana, a terra. Ah, esqueci de dizer que os cylons evoluíram a ponto de imitar a forma humana, um cylon é visualmente indistinguível de um ser humano.
Os detalhes interessantes começam exatamente nos aspectos políticos e religiosos: Os aspectos governo civil X militares, o fato dos humanos serem politeístas enquanto cylons são monoteístas, etc.
Estou atualmente acompanhando a quarta temporada que já foi declarada como a última, então você não corre o risco de começar a assistir e terminar sem final como metade das séries americanas meia-boca, vamos ter um final planejado como final desde o começo. Recomendo.
By sergio
|
08 jun 08
|
Also posted in TV
|
Im using CodeIgniter in a small pet-project in my spare time and missed a more granular cache than the entire page, and the code:
$cache = get_cache('that_snippet',60);
if (not $cache) {
// slow code here;
$cache = $result_of_slow_code;
write_cache('that_snippet',$cache);
}
return $cache;
is too ugly to be duplicated all over the code.
So using a little PHP hackerism (object __call() method) and extending the controller and model classes of CodeIgniter, now I can cache the methods results of controllers and models. All that you need to get cached results of myslowmethod(parameters) is call myslowmethodCached(parameters). Clean and Elegant to use, based on a ugly php hackerism, isolated in one place.
http://sergio.bruder.com.b/cachedobjects/
Porquê é tão lento?
stratus é um mac mini rodando Mac OS X Leopard 10.5.3, nimbus é um via c7 1GHZ ubuntu server ligados via fast ethernet com um WRT54GS entre eles. 128Mfile foi um arquivo gerado a partir do dd if=/dev/random, 128 megabytes. tar | netcat, scp e cp via um mount point smb (samba):
stratus:~ sergio$ time tar -cvf - 128Mfile | nc nimbus 10000
128Mfile
real 0m12.501s
stratus:~ sergio$ time scp 128Mfile nimbus:
128Mfile 100% 128MB 3.7MB/s 00:35
real 0m35.882s
stratus:~ sergio$ time cp 128Mfile /Volumes/sergio/teste/
real 1m35.314s
Resumindo em uma pequena tabela:
| |
time |
performance |
| tar | netcat |
12,50 s |
10,24 MB/s |
| scp |
34,88 s |
3,57 MB/s |
| samba |
95,31 s |
1,34 MB/s |
powertop e outras brincadeiras
Ainda brincando com o servidor novo, acabei chegando ao powertop. a situação atual (isso depois de acpi=force hpet=force, cpufreq e_powersave e cpuidle. A pergunta é, porquê não vai para C3?
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 0.1%) 998 Mhz 0.0%
C1 0.0ms ( 0.0%) 798 Mhz 100.0%
C2 427.7ms (99.9%)
C3 0.0ms ( 0.0%)
Wakeups-from-idle per second : 2.3 interval: 30.0s
no ACPI power usage estimate available
Top causes for wakeups:
27.1% ( 0.6) : neigh_table_init_no_netlink (neigh_periodic_timer)
21.4% ( 0.5) ifconfig : __netdev_watchdog_up (dev_watchdog)
12.9% ( 0.3) : eth0
10.0% ( 0.2) : neigh_table_init_no_netlink (neigh_periodic_timer)
4.3% ( 0.1) nmbd : schedule_timeout (process_timeout)
4.3% ( 0.1) cpufreqd : do_setitimer (it_real_fn)
2.9% ( 0.1) : page_writeback_init (wb_timer_fn)
1.4% ( 0.0) : inet_init (inet_frag_secret_rebuild)
1.4% ( 0.0) smbd : schedule_timeout (process_timeout)
1.4% ( 0.0) : flow_cache_init (flow_cache_new_hashrnd)
1.4% ( 0.0) : rif_init (rif_check_expire)
1.4% ( 0.0) : seqgen_init (delayed_work_timer_fn)
Um dos percalços que encontrei nesse servidor 24×7 fanless foi: nem CentOS nem Ubuntu-server tem kernels VIAC7-orientados, isto é, não tinha cpufreq funcional, problemas com acpi, etc.
O CentOS depois de se forçar a barra na instalação consegue-se um mínimo de algo em torno de 1GB. Ubuntu server instalação default ~ 400MB. Ganhou o ubuntu dessa vez, minha primeira tentativa não-rpm em um servidor.
Resolvi compilar meu próprio kernel! Hoooray, me senti voltando 10 anos atrás :p Acontece que minha intimidade com pacotes .deb é zero, nenhuma, nada. Várias horas de sono perdidas depois cheguei em
http://sergio.bruder.com.br/debs/, uma versão para VIA C7 do último kernel flavour server do Ubuntu 8.04 com suporte a CPUFREQ habilitado, módulo para a parte hardware de cryptografia, etc, tudo compilado. Mais tarde conto em mais detalhes a parte userlevel da coisa.
PS: Acabei compilando esse kernel em uma instalação de Ubuntu-JEOS rodando no vmware fusion 2.0 no meu macbook.

Chegou a minha fonte fanless 120W. Claro, não funcionou. A fonte 12V que consegui para alimentá-la cai para 5V assim que tenta-se ligar qualquer coisa, somente o computador, sem HD. Meu chute dirigido, o culpado é a fonte 12V, teoricamente um carregador universal para notebooks, feito na china, claro, para uma empresa brasileira chamada Hayonik.
Espero não ter queimado a fonte atx…. Falta também um adaptador para ligar hds SATA em fontes + velhas (a fonte fanless não tem um conector sata). Mais uma visita à 24 de maio… Pelo menos a boa notícia
que sobra é que esse post foi feito com a mini-itx funcionando com uma velha e barulhenta fonte atx e um velho hd IDE também encostado.
PS: A fonte ATW 120W fanless é essa aqui óh:

Em mais uma recaída nerd depois de uma falta de espaço em casa, resolvi matar vários coelhos com uma cajadada só e ao invés de somente fazer um upgrade de HD resolvi partir para um servidor separado aonde pudesse ter um HD 3.5″ (com um mac mini e um macbook, somente hds de notebook eram possíveis sem gavetas, e eu já tenho uma gaveta usb para hd 2.5″ e a idéia de uma segunda gaveta dessa vez 3.5″ não me agradava). Já que a missão dele é ficar ligado 24×7, nada de “torradeiras”: comecei com uma VIA mini-itx EPIA LN10000EG com cpu VIA C7 1GHz fanless + fonte 120W também fanless, o único power-hungry desse servidoreco será o hd, 3.5″ SATA 750GB. Nem todos os componentes chegaram (esperando a fonte ainda), maiores novidades quando eu começar a reclamar da minha aparentemente péssima idéia de partir para o gabinete DIY ao invés de usar gabinetes mini-itx industrializados (que estavam comparativamente ao preço da mboard-com-cpu estupidamente caros).
Presidente da administradora da Iguatemi confirma loja da Apple no Brasil. A Apple abrirá duas lojas no Brasil até março de 2008, continuando o investimento da marca no Brasil após a parceria com a rede de hipermercados Extras que resultará em 16 pontos de venda exclusivos até o final de 2008. (…) A primeira será aberta ainda em dezembro no Iguatemi, em Pinheiros, enquanto a segunda loja será no Market Place, no Morumbi.
Duas lojas praticamente de uma vez só, em São Paulo. Agora só falta a iTunes Store pra completar a felicidade deste apple-maníaco tupiniquim. E outra loja dessas em Curitiba :p