24 Aug
Tempos atrás, escrevi sobre algumas doenças bem características de programadores.
Essas doenças são resultado direto da forma como vivemos (em especial Geeks). Nosso corpo não foi feito pra passar 32 horas por dia digitando em um teclado. Muito menos sentar da forma completamente torta (quase artística) como ficamos quando estamos assistindo um filme, programando ou jogando.
Um mês e meio atrás comecei a praticar Iaido (além de Nei Kung).
Além de sair completamente destruído das aulas (acho que a última vez que tinha feito exercício físico regularmente eu tinha 14 anos - tenho 23 agora) comecei a notar que estava com dificuldade pra digitar. Chegou a culminar em uma semana que começar a digitar fazia meu antebraço direito doer tanto que eu tinha que parar (pra isso que serve programação pareada :) ).
Isso aconteceu porque o Iaido exige muito do braço direito. Graças a isso eu percebi que estava com um problema muito mais sério do que eu achava. Provavelmente, se eu não tivesse feito nada, em alguns mêses eu teria alguma lesão séria no braço e poderia quase dizer adeus a carreira como programador.
Com os treinos minha musculatura está voltando vagarosamente a um ponto razoável. Além disso me sinto muito mais disposto durante o dia inteiro. Acho que nesse aspecto, estou abandonando completamente o estilo Geek (afinal, exercício é coisa pra quem não sabe escovar bits!).
Posts Relacionados:
Assine nosso RSS feed!
20 Aug
Este post nada tem a ver com nossa última polêmica ;) .
Estava eu, tranqüilamente indo trabalhar. Como sempre, o ônibus estava atrasado. Normal. Faz parte do seu dia a dia. O estranho foi ver a paulista ficando praticamente sem carros no sentido para o qual eu ia. Bem longe eu vi um carro de bombeiro. Pensei: Putz… deve ser acidente… hoje que não chego. Não era. Simplesmente era o César Cielo (medalhista brasileiro em Pequim). Poxa, legal! O cara merece respeito e admiração. O que ele fez não é pra qualquer um não (especialmente com todo o incrível incentivo que existe para o esporte no Brasil). Tem que fazer festa mesmo.
Mas peraí…. fechar a paulista por 30 minutos? Os caras que organizaram essa aparição pública tem vários parafusos a menos. Sei lá. Fecha uma faixa. Duas no máximo. Mas não ela inteira. A porcaria do meu ônibus passa por ela e além do atraso do ônibus tive que esperar toda a carreata passar. Mas isso nem foi o pior. Até aí (embora meu humor já estivesse mais próximo do limbo do que da minha cara) dava pra agüentar. O pior foi olhar pra cima e ver que tinha um helicóptero com um ser de baixa capacidade de raciocínio dentro jogando papel picado por toda a paulista. Vai varrer depois, cérebro de ostra? Porque festa não é festa se a paulista não estiver coberta de lixo.
Enfim, parabéns César! Mas vê se contrata uma assessoria de imprensa com um pouco mais de cérebro no futuro.
Posts Relacionados:
Assine nosso RSS feed!
8 Aug
![]()
Dias atrás encontrei um vídeo que veio de encontro com muito do que tenho feito ultimamente. Java e API.
Estou trabalhando em dois projetos Open Source (falo deles assim que lançar a primeira versão) em java. Consequentemente tenho que me preocupar com a forma que os programadores vão usar essas APIs.
Embora pareça simples (em um dos casos o projeto simplesmente foi extraído de um outro projeto maior), não é nem um pouco trivial. Apenas pense que cada mudança que for feita poderá causar impacto em algum código perdido pelo mundo e você entenderá a complicação.
Depois de já ter definido as duas APIs (pelo menos a parte beeeem inicial), encontrei esse Google Tech Talk do Joshua Bloch em que ele fala exatamente sobre isso.
Uma das coisas que mais gostei no vídeo, é que os exemplos de bons e péssimos designs são tirados do código da especificação J2SE, ou seja, código com o qual lidamos diariamente (a parte em que ele fala sobre CORBA é demais!).
O vídeo tem uma hora de duração (por mim poderia ser ainda maior, pois a palestra é realmente muito boa).
Espero que gostem!
Posts Relacionados:
Assine nosso RSS feed!
14 Apr
Quando criamos o construtor da nossa classe, mesmo que não coloquemos explicitamente uma chamada ao construtor da classe mãe, a chamada ao construtor da classe mãe é a primeira coisa que acontece no nosso construtor.
Vejam as seguites classes:
class A {
A(){
System.out.println("Construtor A");
}
}
class B extends A{
B(){
System.out.println("Construtor B");
}
}
class C extends B{
C(){
System.out.println("Construtor C");
}
}
class D extends C{
D(){
System.out.println("Construtor D");
}
}
Se dermos new D(), a saída será:
Construtor A
Construtor B
Construtor C
Construtor D
Isso garante que todas as ancestrais da sua classe estejam inicializadas antes da sua classe ser inicializada.
Posts Relacionados:
Assine nosso RSS feed!