Sites e sistemas rápidos, acessíveis, bem posicionados no Google e, o que é mais importante, fáceis de usar.

Arquivos de 11/2008

Eu vou ao 1º Encontro de TI da Arteccom

25/11/2008

A Editora Arteccom está organizando o I ETI. Eu vou estar lá, e recomendo, parece que vai ser muito interessante. Recebi deles o seguinte release:

É tempo de interatividade e o 1º Encontro de TI faz tudo o que o público deseja!
A editora Arteccom promove novo evento que promete agitar o mercado dos desenvolvedores web.

Sabe aquele evento que você sempre sonhou? Com as palestras que você sempre quis assistir? Virou realidade! A Arteccom fez uma pesquisa com desenvolvedores web para que fossem sugeridos temas e palestrantes para o evento. 512 profissionais da área de TI responderam a pesquisa e, mais tarde, com expressiva participação do público no site www.encontrodeti.com.br, foi desenhado o 1º Encontro de Tecnologia da Informação.

Os temas mais votados e escolhidos para as palestras foram “Linguagens – quais são as mais requisitadas pelas grandes empresas e o valor das formações/certificações”, “CMS livres: Drupal x Joomla! x WordPress”, “Ferramenta Google Analytics: como analisar acessos e gerar melhores resultados” e “Padrões W3C – Como tornar seu site mais leve e mais acessível”. E ocorrerão ainda, simultaneamente, algumas oficinas que vão discutir os assuntos mais atuais da área, como Ruby On Rails, SEO, Interoperabilidade e Scrum.

Mas a interação não pára por aí. Depois de escolhidos os temas, os mediadores das palestrantes e oficinas propõem um debate no site do ETI para decidir qual especialidade dentro do assunto principal será abordada para as palestras (http://www.encontrodeti.com.br/site/?p=558). Ou seja, todas as decisões são feitas através de pesquisas com o público.

Vai ter até café da manhã, espaço imprensa digital, e, para completar, eu te faço mais uma perguntinha: Já pensou em um evento com as palestras e oficinas que você sempre sonhou, e no final ainda curtir um Happy Hour? Não está acreditando não é? É isso aí! Você não pode perder! No final deste mês, dia 27/11, quinta-feira, na Amcham Brasil, em São Paulo, e dia 29/11, sábado, no Centro de Convenções SulAmérica, no Rio de Janeiro.

Para ter um gostinho do que vai rolar no evento, confira os quatro chats sobre os temas das palestras, que tiveram ótima repercussão com cerca de 50 participantes em cada sala: http://www.encontrodeti.com.br/site/?page_id=319.

O Encontro de Tecnologia da Informação é uma realização da Arteccom, com os patrocínios de PagSeguro UOL, UOL Host, Tecla e Hostnet.

Veja a programação do evento:

08:30 – Credenciamento
09:00 – Café da manhã (networking e visita aos estandes)
10:00 – Abertura
10:15Palestra: “Linguagens: quais são as mais requisitadas pelas grandes empresas e o valor das formações/certificações”
Palestrante SP e RJ: Guilherme Chapiewski (Globo.com)
11:15Debate CMS livres:
- WordPress: SP: José Murilo (Minc) | RJ: Guilherme Aguiar (Minc)
- Joomla!: Ricardo Accioly (Noix)
- Drupal: Paulino Michelazzo (Fábrica Livre)
13:00 – Intervalo para almoço
14:30Palestra: “Google Analytics: como analisar acessos e gerar melhores resultados”
Palestrante SP: Ruy Carneiro (WA Consulting)
Palestrante RJ: Gustavo Loureiro (Infnet)
15:30 – Intervalo para visita aos estandes
16:00Palestra: “Padrões W3C: torne seu site mais leve e mais acessível”
Palestrante SP: Vagner Diniz (W3C)
Palestrante RJ: Everaldo Bechara (iLearn)
17:00 – Happy hour
18:00 – Encerramento

Oficinas (vagas limitadas):

10:15 às 11:15h (palestra principal: Linguagens e certificações)
Ruby on Rails – SP Fábio Akita (Locaweb)
Ruby on Rails – RJ Sylvestre Mergulhão (Hostnet)

11:15 às 12:15 (palestra principal: CMS livres)
SEO – SP Fábio Ricotta (MestreSEO)
SEO – RJ Paulo Teixeira (Marketing de Busca)

14:30 às 15:30 (palestra principal: Google Analytics)
Interoperabilidade – SP Fábio Hara (Microsoft)
Interoperabilidade – RJ Gilson Banin (Microsoft)

16:00 às 17:00 (palestra principal: Padrões W3C)
Scrum – SP Guilherme Chapiewski (Globo.com)
Scrum – RJ Guilherme Chapiewski (Globo.com)

Locais:

São Paulo
Data: 27 de novembro de 2008
Local: Amcham Brasil
Rua da Paz, 1.431 – Chácara Santo Antônio – São Paulo – SP
Telefone: (11) 5180-3728

Rio de Janeiro
Data: 29 de novembro de 2008
Local: Centro de Convenções SulAmérica
Av. Paulo de Frontin, 1 – Cidade Nova – RJ
Telefone: (21) 3293-6700

Inscrições: www.encontrodeti.com.br
Mais informações: (21) 2253.0596

Texto de Flávia Freire
Flavia.freire@arteccom.com.br

Recomendo. Vejo você lá.

Fuja da complexidade

02/11/2008

Abri o OpenOffice Writer, mandei gravar uma macro, escrevi "teste", selecionei e pintei de vermelho. Olha o código gerado:

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = "teste"
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "FontColor"
args3(0).Value = 16711680
dispatcher.executeDispatch(document, ".uno:FontColor", "", 0, args3())
end sub

Há muito código complexo por aí. Nesse caso, para invocar os métodos dos objetos do OpenOffice, é preciso usar um objeto dispatcher, chamando executeDispatcher, e passando o objeto, o nome do método e um array de argumentos. Que espécie de sadismo leva alguém a projetar uma solução como essa? Vale lembrar o que diz o Zen do Python:

Se uma implementação é difícil de explicar, é uma idéia ruim.

Outro exemplo interessantíssimo é o protocolo SOAP. Se você precisar construir um serviço SOAP do zero, dê uma investigada na documentação que você vai ter que ler. Compare com a documentação do protocolo XML-RPC, para ter uma idéia.

Meninos, o tio vai ensinar um segredo a vocês, a complexidade se reproduz assexuadamente. Há muito código complexo demais por aí. Se você encontrar indícios de complexidade hoje, corte antes que ela se reproduza, porque ela tende a fugir do controle. Cada vez que você deixa uma implementação complexa num componente de um sistema, você está complicando um pouquinho todos os pontos do sistema que usam aquele. Os resultados ruins são exponenciais. Por mais talentoso que você seja, se deixar a complexidade se enraizar e crescer, vai chegar um momento em que a lógica vai "jogar a toalha" e você vai começar a programar na base da tentativa e erro.

Lembre-se, então, partes simples, conectadas por interfaces simples. Complicado é errado, feio e mau, faz você entregar atrasado e com bugs. E, se precisar de inspiração, abra o Python e digite:

import this