Portinglês

Vivemos na era da internet. Podemos conversar com pessoas do mundo todo, ter contato com inúmeros idiomas. Os limites geográficos tornam-se irrelevantes.   Mas ao que parece tornam-se irrelevantes também os cuidados com nosso idioma.

Não que eu ache que todos devam ser pedantes, ou que um erro ou outro deva ser considerado um crime contra o português, mas às vezes me dói ler algumas coisas escritas por aí.

Moleskine e caneta

Deixando os fórums e chats de lado, que possuem um idioma próprio, acho que o pior problema na área da computação e tecnologia é o da tradução. Dada a velocidade do desenvolvimento da tecnologia, muitos termos são cunhados invariavelmente em inglês e tomados emprestados literalmente, quando temos tantas palavras na nossa língua que as expressam muito bem.

Exemplos clássicos são deletar, salvar, browser etc. Os motivos são diversos: ignorância da língua portuguesa, dificuldades em traduções inglês-português, aculturação, vontade de parecer “distinto”, etc.(Anglicismo).

Mas uma que me incomoda em especial é a palavra performance. Sempre me vem à cabeça uma peça teatral, um número de dança, quando o que querem dizer realmente, em um português claro, é desempenho (bom, talvez agora eu esteja sendo pedante :-). E outra, agora à pouco li em uma revista que o formato JSON (Wikipedia:JSON) é “menos verboso” que o XML. Tenha dó. Pode ser que algumas pessoas não entendam “menos prolixo“, mas inventar estas barbaridades é bem pior…

Um link para uma crítica melhor escrita: http://revistalingua.uol.com.br/textos.asp?codigo=10979.

Nota: Eu trouxe este meu texto a partir de meu Wiki, de onde ele será removido. Vou tentar focar o wiki em textos mais técnicos.

Fontpark 2.0

Para quem não sabe, no fim do ano passado, 2008, ocorreu o Japan Media Arts Festival. Olhando a lista de vencedores, me interessei por esta entrada: FONTPARK 2.0, de Nakamura Yugo.

Entrei no site premiado e me surpreendi. Se trata de arte interativa da mais alta qualidade. E o que é melhor, é divertido!

A idéia é você criar alguma coisa visual:  um desenho, um logo, uma animação,  uma paisagem. Mas para isto utilizando apenas letras. E tais letras, ou caracteres para os colegas, podem ser do nosso alfabeto (que agora conta com 26 letras! ha!) ou do japonês! Milhares de opções para você montar sua ilustração,  desenho, paisagem ou o diabo que for.

Deixo com vocês minha criação:

(Já notaram que não tenho dom artístico?)

Tente você também: http://fontpark.morisawa.co.jp/

Melhorando a mesa de trabalho 2

Início do ano, hora de investir no conforto e produtividade. Fiz um upgrade na configuração de minha mesa.

Após as últimas alterações, só faltou um monitor extra e outras coisinhas.

16/01/2009 - Share on Ovi

Um monitor 22 polegadas, um porta revistas e apoios para livros. Organização e funcionalidade! Outros acertos envolveram a estabilidade do suporte para notebook e monitor.

Comprei uma daquelas canaletas internas para fiação, de plástico e da tramontina, e um conjunto de porcas + parafusos.

16/01/2009 - Share on Ovi

Cortei a canaleta, formando duas barras, e as parafusei no suporte. Embora não muito firmes por si só, deram uma boa melhorada na prateleira.

O monitor é um Samsung T220, que estava em promoção no Wal-Mart. Infelizmente o suporte do monitor é próprio para o modelo, inviabilizando um suporte melhor para minha mesa.

Obs:  quantos itens geeks podem ser encontrados na mesa? E olha que nem a preparei  para a foto

Ciclo de vida de uma página Asp.NET

The Rise and Fall of a Asp.Net page: AspNetPageLifeCycle

O framework Asp.NET provê para o desenvolvedor um mar de facilidades, mas um item particularmente nebuloso para os iniciantes é o ciclo de vida do sistema e, no caso, da página.

Toda página asp tem seu código processado pelo servidor, geralmente o IIS. Tais páginas herdam de sua superclasse, a System.Web.UI.Page, seus campos, propriedades e métodos. Alguns métodos, denominados eventos, são executados pelo sistema automaticamente.

ComponentArt Grid, ServerTemplate e Linq to SQL

Micro post para reclamar e aliviar a cabeça.

Estou tentando melhorar uma listagem de dados, de forma a ficar mais simples, mais elegante e  mais versátil. É claro que o código fonte também deve ficar mais simples, mais elegante e mais versátil.  Por isso aproveitei para estudar o uso do Linq To Sql.

Fui dar uma olhada também no ComponentArt Grid. Ai de mim.

O ServerTemplate do ComponentArt Grid (CA Grid) não funciona com o LinqDataSource. Ao menos não diretamente, apenas configurando no template aspx. É preciso programar no code-behind.

Mas surge outro problema, montar expressões Linq sob demanda é complicado. É preciso Reflection e bastante persistência (do programador, não dos dados), OU utilizar o Dynamic Linq, uma mão na roda para criar expressões programaticamente.

É claro que outro (velho)  problema apareceu: controles no ServerTemplate não conseguem disparar eventos consistemente. Falham, por xemplo,  se o usuário realiza um agrupamento no Grid e logo depois tentar disparar um evento apertando algum botão do Grid.  O problema é criar o botão a ser apertado usando o ImageButton. Deve-se utilizar o LinkButton. Para qualquer caso. Na verdade esqueça que existe o ImageButton. Eu já esqueci.

Como se tornar um ótimo programador

Vamos iniciar o ano com um post sobre a mais importante qualidade de um programador. A preguiça.

Sim! Preguiça!

Um programador preguiçoso cria ferramentas que automatizam seu trabalho. Ele estuda e busca maneiras de tornar seu trabalho mais eficiente e menos demorado. Ele evita fazer a mesma coisa mais de uma vez, reestruturando todo um sistema para isto, se for preciso.

Sempre seguindo o lema:

Sou capaz de trabalhar arduamente a fim de evitar trabalho

Quem já não elaborou todo um micro framework, robusto,  configurável, para que todo aquele código repetitivo seja criado automaticamente? Investigou ferramentas de mapeamento objeto-relacional (ou objetorrelacional? maldita reforma ortográfica) a fim de não ter de escrever código da camada de acesso ao banco de dados?

Quem ainda não escreveu um script em Perl para processar um texto longo, trabalho que poderia ser feito facilmente, se você tivesse bastante tempo disponível?

Pois então, o preguiçoso busca aumentar o tempo disponível, e não gastar, principamente trabalhando.

O programador preguiçoso faz isto tudo e mais.

É preciso dar duro a fim de maximizar seus momentos de ócio. Agora cansei, vou dormir. Ou jogar Wii.