Fragmental

10/17/2005

Mudança

Bom, quem acessava o blog diretamente eh bom clicar aqui e ver as mudanças.

Rapidamente: estou deixandod e usar o Blogger (obrigado por tudo, Google) e passando a usar WordPress no meu proprio site. Nao haverao mais posts novos neste blog, alterem seus bookmarks para http://www.fragmental.com.br/blog

10/13/2005

O Russo da Califórnia

Teve reunião no RioJUG semana passada. Pra variar uma figura notável ganhou a assinatura de revista.

Nunca havia visto ele na reunião, e logo percebi porque. Yuri é Russo, mora na Califórnia há dez anos, aprendeu português (muito razoável) semestre passado, está tirando seu Phd em Berkley e está na UFRJ trabalhando em sua pesquisa.

E qual o campo dele? ERPs? Sistema flaxíveis? Integração? Não, Sociologia.

O campo de estudo do Yuri é como os engenheiros e técnicos de TI adquirem informação. Realmente, um campo muito interessante.

Veja a nós mesmos. Pessoas que ganham acima da média nacional e precisam se atualizar constantemente. Um ramo cheio de crenças e convicções, quase que uma religião, e vivendo eventuais guerras santas. Temos hippies, suits, quem só quer ganhar dinheiro e voltar pra casa, filantropos, líderes... tudo isso dentro de um ambiente altamente coorporativo. Temos doutores e molequees conversando de igual para igual (por menos que os doutores admitam isso). Em alguma madrugada, qualquer um pode entrar no quarto, virar a noite programando e mudar o mundo da tecnologia com algum conceito novo.

Não pude ficar muito tempo lá, mas vou pegar o e-mail dele e pedir que me inclua na lista de distribuição de uma publicação neste tema.

10/12/2005

Chega

de referendo pra mim. Eu voto no sim, mas to cansado de ver argumentos idiotas por todos os lados. ja nao discuto mais, ja nao debato mais.

A conversa agora eh na base do hoax. TV globo isso, veja aquilo, por favor. A globo apoia o sim, a veja apoia o nao. Duas entidades classicas de midia manipuladora comprada, mas quem ta de um lado soh sabe acusar o outro.

Soh quero que isso acabe logo porque tenho certeza que nao vai mudar nada. O que me da medo sao as pessoas que falam tanta besteira e acreditam em cada coisa ridicula saindo armadas por ai. Esse referendo so teve uma finalidade: mostrar que a sociedade eh manipulavel e naoe sta pronta para votar em algo assim. Esqueçam este papo de democracia, quem usa HOAX e FUD para defender um direito nao merece votar ou dirigir.

A unica coisa que realmente vai me afetar deste referendo eh o fato de ser mesario. O resto, dane-se. Cansei dessas discussoes idiotas.

Update pra variar, Mauricio Ricardo arrebenta.

10/10/2005

Pissed off

O que leva grevistas a achar que podem para com o trabalho dos outros? Não estou falando de seus colegas não, estou falando de mim mesmo e pessoas que não trabalham e nunca trabalharam nesta droga de banco. Não sou funcionário, não sou grevista, não sou acionista, não sou correntista, não mandei ninguém fazer concurso pra essa droga, não sou político nem jornalista.

Que direito essas pessoas acham que tem de me barrar na entrada do meu trabalho? Querem protestar? protestem. Quebrem uma agência, roubem o dinheiro todo DANE-SE, não me importo e os seus diretores vão ficar loucos. Agora encher o saco de alguém que não tme anda com isso. Engraçado que são sempre as mesmas pessoas nesses negócios de greve, o povo que vai como vaca pro abate e o grupinho de gente que adora agitar essas coisas, e quando cai em Brasília só faz besteira.

Desculpem o desabafo, não resisti.

Ah, estou fazendo umas mudanças no fragmental.com.br, acessem o blog diretamente ;)

10/09/2005

Uma Rosa Com Outro Nome...

Imagina a cena. Seu colega pede ajuda num trecho qualquer de código. Ele começa a te explicar o que está fazendo:

Então (ele é paulista), eu criei esse agrupamento de instruções parametrizáveis, que retorna um valor que é uma cópia de um objeto. Daí eu agrupei alguns destes numa unidade e coloquei algumas variáveis que eles compartilham. Como alguns destes agrupamentos não são utilizados por outros agrupamentos externos, defini uma política de exposição para eles...

Você entendeu? Dependendo do sue nível de imersão em cosias abstratas relacionadas á programação, talvez sim, mas o desenvolvedor mediano vai fazer "uhum" algumas vezes e olhar para o código para ver o que esse cidadão queria dizer. E ele vê o que ele tentou explicar:

public class Usuario{
private int idade;
private boolean sexo;
private double altura;

public void setIdade(int idadeNova){
if (idadeNova>13) {
idade= idadeNova;
calcularAltura();
}
else{
throw new IllegalArgumentException("Idade baixa demais para usar o sistema" );
}
}

private calcularAltura(){
altura=idade*10.45;
}
}

Aí você pensa
Caramba, não seria mais fácil ele dizer que fez uma classe com métodos públicos e privados e atributos privados?

Seria, mas e se ele não conhecesse este termo? Sim, o exemplo é bem forçado, mas é de propósito.

Muita gente torce o nariz quando alguém mostra um Pattern. Logo pensam: "Quanta besteira...eu uso isso há anos!" e esquecem que tão importante quanto criar Patterns é catalogá-los. Pense em algum padrão que você use no dia a dia. Agora imagina que você tem uma dúvida com o uso deste.

Você vai num fórum qualquer, o GUJ por exemplo, e tenta descrever sua dúvida. Você pode gastar dois parágrafos explicando o que fez ou pode simplesmente dizer o nome do Padrão e a pessoa que ler já sabe do que se trata (ou pelo menos vai saber se procurar).

Existem livros e sites que fazem apenas isso. Eles documentam e catalogam padrões, colocam eles dentro de contextos, listam vantagens e desvantagens, mas não necessariamente criam nada novo. Você não vai encontrar novas geniais soluções, apenas soluções clássicas catalogadas.

Além do óbvio benefício de acabar conhecendo uma solução que já é clássica mas você não conhecia, outro benefício não tão óbvio está simplesmente em termos um idioma comum entre profissionais.

Se você falar para alguém de .Net ou C++ que fez um Observer, ele provavelmente sabe do que você está falando. Se falar que usa um DAO, apesar de ser algo mais comum em Java EE, é bem capaz de ser entendido (menos pelo cara do .Net que pode se confundir com esse negócio de DAO/ADO), como este padrão também tem outros nomes mais genéricos, pode ser que ele também use isso nas suas aplicações.

Um padrão não é padrão desde seu nascimento. Ele nasce como uma solução isolada, e de repente alguém pensa "Ei, eu posso resolver este problema do mesmo jeito que fiz naquele caso..." (por isso Ted Neward fala que o sistema só morre quando as máquinas são desligadas, o código fonte é apagado e o último desenvolvedor é morto). E por mais que você use e reuse, ensine esta técnica ela só vai virar um padrão no dia em que for catalogada. Seja em um livro, paper ou site ou qualquer coisa.

Se alguém te disser que recebeu um buquê de as flores que pertencem à família rosasceae, que são arbustos ou trepadeiras, providos de acúleos com folhas simples partidas em 5 ou 7 lóbulos de bordos denteados, com 5 pétalas, muitos estamos e um ovário ínfero... estão continuam sendo rosas, mas não seria mais fácil se vocês falassem a mesma língua?

10/04/2005

Mike Spille escreveu sobre sua experiência com Groovy no TSS. Vale uma lida.




Concordo com muito do que ele falou, mas o maior problema de Groovy hoje, na minha opinião, é um debug decente. As Stacktraces não dizem muita coisa (só perdem pras Stacktraces bizarras do Hibernate, SqlWalker é complicado...) e debugar no olho é terrível, aidna mais pra quem não é tão proficiente na linguagem ou está aprendendo.

mas Groovy é uma linguagem muito legal e membro de uma tendência. Se você precisa de algum script portável, considere imensamente seu uso. Se precisa de uma linguagem bonitinha e cheia de recursos (closures! weeeeeeeeeeeeeee!!)que tenha a sua disposição toda a JVM e APIs, frameworks, e demais coisas que não te fazem abandonar java, dê uma olhada.



Eu sei que foram...sei lá, cinco anos que a única linguagem além de Java foi SQL, mas isso está mudando. As linguagens para a JVM estão aí, com suporte total no Java 6.0 Mustang. Seja por pressão do .Net, seja por java não ter algumas coisas legais, acabou o monopólio.

Aprenda Groovy, Python, Ruby... alguma outra coisa. Saia da zona de conforto.

9/29/2005

Microsoft Windows Officially Broken

Não gosto de postar links sem comentários, mas ainda não acabei esse, só achei muito interessante.

Microsoft Windows Officially Broken

Dá-lhe Rubinho

Perdão pelo título engraçadinho, não pretendo falar de Fórmula 1 hoje.

Mas a analogia é válida (creio). Você lembra de 2003/2002? Lula foi eleito e tomou posse, EUA invadem Afeganistão, Espanha adota o Euro, Ataque dos Clones nos cinemas, Columbia se desintegrou, SARS invade o oriente... e o Struts e outros frameworks MVC para web precoces são a nova onda na comunidade Java.

Enquanto isso, Sun, IBM e demais forçavam na trindade BMP/CMP+SessionBeans+Servlets. E a comunidade surge com esse tal MVC.

Três anos de palestras em JUGs e eventos, melhorias, concorrência e hoje (ontem, eu diria) o MVC está em tudo relacionado a Web. E surge para o mercado o tão falando JSF.

E o que a comunidade está fazendo? Adotando JSF em massa? Depende.

Quem curte seguir a tendência das grandes, está de olho nas IDEs JSF, Struts Shale, MyFaces, blablabla. Quem curte tecnologia está de olho em Rails. Quanto tempo para acontecer o mesmo que acotneceu com o Struts?

Bem, existem mais dificuldades. O Struts:
  • É em Java
  • É da Apache
O Rails:
  • É em Ruby
  • Não á da Apache
Quanto a ser em Ruby, minha dica é: aprenda Ruby. Mas como mesmo se você aprender a codificar em Ruby ainda tem toda a pilha Java EE que não vai ser migrada (nem estou sugerindo que seja), e sua emrpesa não vai usar Ruby tão cedo (a menos que você trabalhe num lugar legal, claro, mas isso é raro).

Então já temos pelo menos duas alternativas "sérias" em desenvolvimento:


Mas o que é o Ruby on Rails e porque ele faz tanto sucesso? É um framework para a criação de aplicações web em Ruby muito simples, prático, produtivo e agradável.

Por que ele é legal? Basicamente porque ele facilita sua vida. Rails é baseado em convenções. Com alguns comandos, você cria sua aplicação completa, se quiser personalizar (e você vai querer...), é só alterar os pontos certos.

Posso fazer tudo com Rails? Obviamente não. Eu estou usando apra aplicações web simples, ams alguém com muita proficiência em Ruby com certeza consegue fazer muito mais. Claro que para aplicações complexas, a paltaforma Java EE continua no seu lugarzinho, mas do jeito que java tende a tornar complexas coisas simples como uma pequena aplicação web CRUD de qualidade razoável ("tudo em JSP" não é opção aqui), essa nova alternativa promete.

Então, quanto tempo?

Engraçado, no debate ontem as pessoas falavam que cultura de "abrir um software para consertar" era coisa de maluco, que nenhum CEO ia querer isso. Um cara da IBM (aliás, ótima palestra! Muito acima da média e infinitamente acima das outras que já assiti da IBM, recomendo que procurem os slides aqui assim que disponíveis), um do governo (aliás foi meu professor há alguns anos... de Java), o Eliziário representando o capitalismo moderno e o Xexéo, acadêmico discutindo Linux. Você pensaria nisso ha dez anos? Que essas empresas usam e apoiam software aberto, em maior ou menor escala?

As coisas andam, e nesse ramo andam rápido demais. Há muito tempo a influência da comunidade no mundo de tecnologia é extremamente forte. Hibernate, Spring, Struts, MySQL, Java, Python, Linux... tudo isso cresceu na vontade das pessoas antes de alguma empresa comprar a idéia. Demora, mas elas compram.

E demora tanto que quando enfim a IBM lançar alguma cosia Rails-like, haverá outra coisa mais hype. E o ciclo se repete. E se repete. E se repete.

Semrpe que penso nesse ciclo lembro de uma pessoa que conheci num banco em um projeto que aprticipei. Cara com mais de 30 anos de profissão,contando os dias para se aposentar. "Eu vou pra praia, vou pra montanha, vou pra PQP, mas NUNCA mais quero saber de computador..."


 
f