Crab Log

Entradas do Maio 2008

onAnswer Hack

Maio 31, 2008 · Não Há Comentários

Este hack mostra como usar #onAnswer. Para mais detalhes veja o link lá embaixo.

Criaremos 4 classe e seus métodos para obter imagens fáceis de seguir.

Crie a primeira classe com o código:

SeasideHack subclass: #OnAnswerHack

instanceVariableNames: ‘a’

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

E os métodos:

initialize

super initialize.

a := A new

renderContentOn: html

html render: a

children

^ Array with: a

Crie a segunda classe com:

SeasideHack subclass: #A

instanceVariableNames:

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

E os métodos:

renderContentOn: html

html div id: ‘letter-A’;

with: [html text: 'A'.

html

form: [html submitButton text: 'call B';

callback: [self call: B new]]]

style

^ ‘#letter-A {background-color: hotpink; width: 300px; height: 300px}’

Crie a terceira classe com:

SeasideHack subclass: #B

instanceVariableNames: ‘c’

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

Com os métodos:

initialize

super initialize.

c := C new

renderContentOn: html

html div id: ‘letter-B’;

with: [html text: 'B'.

html render: c.

html

form: [html submitButton text: 'answer';

callback: [self answer]]]

style

^ ‘#letter-B {background-color: darkseagreen; width: 200px; height: 200px}’

children

^ Array with: c

E finalmente a quarta classe:

SeasideHack subclass: #C

instanceVariableNames:

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

E os métodos:

renderContentOn: html

html div id: ‘letter-C’;

with: [html text: 'C'.

html

form: [html submitButton text: 'answer';

callback: [self answer]]]

style

^ ‘#letter-C {background-color: aquamarine; width: 100px; height: 100px}’

Para registrar a aplicação no Seaside execute:

OnAnswerHack registerAsApplication: ‘onanswerhack’

A execução da aplicação leva à aparição da seguinte figura:

Um clique no botão call B substitui o componente A pelo componente B e faz aparecer a figura:

O botão answer do componente B (botão de baixo) invoca self answer que retorna ao componente A, mas o botão answer no componente C, embedded em B, envia a mensagem self answer que não retorna para nenhum componente pois o componente C não foi invocado com self call:. No componente B a última linha do código abaixo (que você deve inserir agora) serve para interceptar o retorno e redirecioná-lo para o componente que invocou o componente B (o componente A):

initialize

super initialize.

c := C new.

c

onAnswer: [:dummy | self answer]

Fonte: Aprendendo a usar o método #onAnswer: em Seaside na prática: autenticação de usuários

Categorias: Smalltalk
Tagged: ,

Alphabetic Batched List Hack

Maio 31, 2008 · Não Há Comentários

WAAlphabeticBatchedList efetua a paginação de uma lista de forma alfabética.

Para testar crie a classe com o código:

WAComponent subclass: #AlphabeticBatchedListHack

instanceVariableNames: ‘items batchedlist’

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

Os métodos são:

initialize

super initialize.

items := Collection allSubclasses..

batchedlist := WAAlphabeticBatchedList new.

batchedlist items: items

renderContentOn: html

html heading: self class description.

html heading: ‘All subclasses of Collection’ level: 2.

batchedlist batch

do: [:item | html render: item. html break].

html render: batchedlist

children

^ Array with: batchedlist

A página apresentada é como abaixo:

Categorias: Smalltalk
Tagged: ,

Batched List Hack

Maio 30, 2008 · Não Há Comentários

Neste hack colocamos alguns códigos que podem esclarecer como usar o componente WABatchedList no Seaside. Primeiro crie a classe de teste com:

WAComponent subclass: #BatchedListHack

instanceVariableNames: ‘items batchedlist’

classVariableNames:

poolDictionaries:

category: ‘Seaside-Hacks’

Depois implemente os seguintes métodos:

initialize
super initialize.
items := OrderedCollection new.
1
to: 100
do: [:k | items add: 'item ' , (k asString padded: #left to: 3 with: $0)].
batchedlist := WABatchedList new.
batchedlist batchSize: 15.
batchedlist items: items

renderContentOn: html

html heading: ‘Batched List Test’.

batchedlist batch

do: [:item |

html render: item.

html break].

html render: batchedlist

children

^ Array with: batchedlist

A página gerada é como abaixo:

Categorias: Smalltalk
Tagged: ,

Smalltalk is dangerous. It is a drug.

Maio 30, 2008 · Não Há Comentários

“Smalltalk is dangerous. It is a drug. My advice to you would be don’t try it; it could ruin your life. Once you take the time to learn it (to REALLY learn it) you will see that there is nothing out there (yet) to touch it. Of course, like all drugs, how dangerous it is depends on your character. It may be that once you’ve got to this stage you’ll find it difficult (if not impossible) to “go back” to other languages and, if you are forced to, you might become an embittered character constantly muttering ascerbic comments under your breath. Who knows, you may even have to quit the software industry altogether because nothing else lives up to your new expectations.”

Andy Bower

Fonte: Seaside, ROR and retiring Java from the spotlight of web applications

Categorias: Smalltalk · Software · Tecnologia

Mineirinho

Maio 18, 2008 · Não Há Comentários

“É, suponho que é em mim, como um dos representantes de nós, que devo procurar por que esta doendo a morte de um facínora. E por que é que mais me adianta contar os treze tiros que mataram Mineirinho do que os seus crimes. Perguntei a minha cozinheira o que pensava sobre o assunto. Vi no seu rosto a pequena convulsão de um conflito, o mal-estar de não entender o que se sente, o de precisar trair sensações contraditórias por não saber como harmonizá-las. Fatos irredutíveis, mas revolta irredutível também, a violenta compaixão da revolta. Sentir-se dividido na própria perplexidade diante de não poder esquecer que Mineirinho era perigoso e já matara demais; e no entanto nós o queríamos vivo. A cozinheira se fechou um pouco, vendo-me talvez como a justiça que se vinga. Com alguma raiva de mim, que estava mexendo na sua alma, respondeu fria: ‘O que eu sinto não serve para se dizer. Quem não sabe que Mineirinho era criminoso? Mas tenho certeza de que ele se salvou e já entrou no Céu.’ Respondi-lhe que ‘mais do que muita gente que não matou’.Por que? No entanto a primeira lei, a que protege corpo e vida insubstituíveis, é a de que não matarás. Ela é a minha maior garantia: assim não me matam, porque eu não quero morrer, e assim não me deixam matar, porque ter matado será a escuridão para mim.

Esta é a lei. Mas há alguma coisa que, se me fez ouvir o primeiro tiro com um alívio de segurança, no terceiro me deixa alerta, no quarto desassossegada, o quinto e o sexto me cobrem de vergonha, o sétimo e o oitavo eu ouço com o coração batendo de horror, no nono e no décimo minha boca está trêmula, no décimo primeiro digo em espanto o nome de Deus, no décimo segundo chamo meu irmão. O décimo terceiro tiro me assassina - porquê eu sou o outro. Porque eu quero ser o outro.

Essa justiça que vela meu sono, eu a repudio, humilhada por precisar dela. Enquanto isso durmo e falsamente me salvo. Nós, os sonsos essenciais. Para que minha casa funcione, exijo de mim como primeiro dever que eu seja sonsa, que eu não exerça a minha revolta e o meu amor, guardados. Se eu não for sonsa, minha casa estremece. Eu devo ter esquecido que embaixo da casa está o terreno, o chão onde nova casa poderia ser erguida. Enquanto isso dormimos e falsamente nos salvamos. Até que treze tiros nos acordem, e com horror digo tarde demais - vinte e oito anos depois que Mineirinho nasceu - que ao homem acuado, que a esse não nos matem. Porque sei que ele é o meu erro. E de uma vida inteira, por Deus, o que se salva às vezes é apenas o erro, e eu sei que não nos salvaremos enquanto nosso erro não nos for preciso. Meu erro é o meu espelho, onde vejo o que em silêncio eu fiz de um homem. Meu erro é o modo como vi a vida se abrir na sua carne e me espantei, e vi a matéria de vida, placenta e sangue, a lama viva. Em Mineirinho se rebentou o meu modo de viver. Como não amá-lo, se ele viveu até o décimo terceiro tiro o que eu dormia? Sua assustada violência. Sua violência inocente - não nas conseqüências, mas em si inocente como a de um filho de quem o pai não tomou conta. Tudo o que nele foi violência é em nós furtivo, e um evita o olhar do outro para não corrermos o risco de nos entendermos. Para que a casa não estremeça. A violência rebentada em Mineirinho que só outra mão de homem, a mão da esperança, pousando sobre sua cabeça aturdida e doente, poderia aplacar e fazer com que seus olhos surpreendidos se erguessem e enfim se enchessem de lágrimas. Só depois que um homem é encontrado inerte no chão, sem o gorro e sem os sapatos, vejo que esqueci de lhe ter dito: também eu.
Eu não quero esta casa. Quero uma justiça que tivesse dado chance a uma coisa pura e cheia de desamparo e Mineirinho - essa coisa que move montanhas e é a mesma que o faz gostar ‘feito doido’ de uma mulher, e a mesma que o levou a passar por porta tão estreita que dilacera a nudez; é uma coisa que em nós é tão intensa e límpida como uma grama perigosa de radium, essa coisa é um grão de vida que se for pisado se transforma em algo ameaçador - em amor pisado; essa coisa, que em Mineirinho se tornou punhal, é a mesma que em mim faz com que eu dê água a outro homem, não porque eu tenha água, mas porque, também eu, sei o que é sede; e também eu, não me perdi, experimentei a perdição. A justiça prévia, essa não me envergonharia. Já era tempo de, com ironia ou não, sermos mais divinos; se adivinhamos o que seria a bondade de Deus é porquê adivinhamos em nós a bondade, aquela que vê o homem antes de ele ser um doente do crime . Continuo, porém, esperando que Deus seja o pai, quando sei que um homem pode ser o pai de outro homem. E continuo a morar na casa fraca. Essa casa, cuja porta protetora eu tranco tão bem, essa casa não resistirá à primeira ventania que fará voar pelos ares uma porta trancada. Mas ela está de pé, e Mineirinho viveu por mim a raiva, enquanto eu tive calma. Foi fuzilado na sua força desorientada, enquanto um deus fabricado no último instante abençoa às pressas a minha maldade organizada e a minha justiça estupidificada: o que sustenta as paredes de minha casa é a certeza de que sempre me justificarei, meus amigos não me justificarão, mas meus inimigos que são os meus cúmplices, esses me cumprimentarão; o que me sustenta é saber que sempre fabricarei um deus à imagem do que eu precisar para dormir tranqüila, e que os outros furtivamente fingirão que estamos todos certos e que nada há a fazer. Tudo isso, sim, pois somos os sonsos essenciais, baluartes de alguma coisa. E sobretudo procurar não entender.

Porque quem entende desorganiza. Há alguma coisa em nós que desorganizaria tudo - uma coisa que entende. Essa coisa que fica muda diante do homem sem o gorro e sem os sapatos, e para tê-los ele roubou e matou; e fica muda diante do S. Jorge de ouro e diamantes. Essa alguma coisa muita séria em mim fica ainda mais séria diante do homem metralhado. Essa alguma coisa é o assassino em mim? Não, é o desespero em nós. Feito doidos, nós o conhecemos, a esse homem morto onde a grama de radium se incendiara. Mas só feito doidos, e não como sonsos, o conhecemos. É como doido que entro pela vida que tantas vezes não tem porta, e como doido compreendo o que é perigoso compreender, e como doido é que sinto o amor profundo, aquele que se confirma quando vejo que o radium se irradiará de qualquer modo, se não for pela confiança, pela esperança e pelo amor, então miseravelmente pela doente coragem de destruição. Se eu não fosse doido, eu seria oitocentos policiais com oitocentas metralhadoras, e esta seria a minha honorabilidade.

Até que viesse uma justiça um pouco mais doida. Uma que levasse em conta que todos temos que falar por um homem que se desesperou porque neste a fala humana já falhou, ele já é tão mudo que só o bruto grito desarticulado serve de sinalização. Uma justiça prévia que se lembrasse de que nossa grande luta é a do medo, e que um homem que mata muito é porque teve muito medo. Sobretudo uma justiça que se olhasse a si própria, e que visse que nós todos, lama viva, somos escuros, e por isso nem mesmo a maldade de um homem pode ser entregue à maldade de outro homem: para que este não possa cometer livre e aprovadamente um crime de fuzilamento. Uma justiça que não se esqueça de que nós todos somos perigosos, e que na hora em que o justiceiro mata, ele não está mais nos protegendo nem querendo eliminar um criminoso, ele está cometendo o seu crime particular, um longamente guardado. Na hora de matar um criminoso - nesse instante estásendo morto um inocente. Não, não é que eu queira o sublime, nem as coisas que foram se tornando as palavras que me fazem dormir tranqüila, mistura de perdão, de caridade vaga, nós que nos refugiamos no abstrato.

O que eu quero é muito mais áspero e mais difícil: quero o terreno”.

Clarice Lispector, 1978

Categorias: Citação

Utopia Selvagem

Maio 11, 2008 · Não Há Comentários

Minha admiração por Darcy Ribeiro aumentou bastante quando há alguns anos me deparei com este livro divertidíssimo e mordaz.

O que ele disse sobre este livro:

Utopia selvagem é um trabalho com os mitos elementares procurando expressar o nosso modo de ser brasileiro. Antropofagia e canibalismo, guerra e militarismo, componentes míticos e componentes factuais atravessam o livro na busca de uma identidade étnica, ou seja, atrás da pergunta “quem somos nós?”

O que ele disse, brilhantemente, sobre si:

Sou um homem de causas. Vivi sempre pregando, lutando como um cruzado, pelas causas que me comovem. [...] Na verdade, somei mais fracassos que vitórias em minhas lutas, mas isso não importa. Horrível seria ter ficado ao lado dos que venceram nessas batalhas

E em um trecho de ‘O povo brasileiro: A formação e o sentido do Brasil’:

Para os que chegavam, o mundo em que entravam era a arena dos seus ganhos, em ouro e glórias. Para os índios que ali estavam, nus na praia, o mundo era um luxo de se viver. Este foi o efeito do encontro fatal que ali se dera. Ao longo das praias brasileiras de 1500, se defrontaram, pasmos de se verem uns aos outros tal qual eram, a selvageria e a civilização. Suas concepções, não só diferentes mas opostas, do mundo, da vida, da morte, do amor, se chocaram cruamente. Os navegantes, barbudos, hirsutos, fedentos, escalavrados de feridas de escorbuto, olhavam o que parecia ser a inocência e a beleza encarnadas . Os índios, esplêndidos de vigor e de beleza, viam, ainda pasmos, aqueles seres que saíam do mar

Links relacionados:

Categorias: Livro

Tradução de Squeak By Example

Maio 8, 2008 · Não Há Comentários

Veja os detalhes da tradução do Squeak By Example.

Categorias: post-citação

Quem atingiu dalgum modo a liberdade da razão

Maio 8, 2008 · 2 Comentários

Quem atingiu dalgum modo a liberdade da razão não se pode considerar na terra outra coisa que um Peregrino, embora não um viajante rumando para uma meta final – pois esta não existe. Contemplará e terá os olhos abertos para tudo que acontece no mundo; não ligará o coração em definitivo a nada de único; deve haver nele algo erradio, pois a sua alegria está no mutável e no inconstante. Por certo cairão noites penosas sobre um homem desse – quando estiver cansado e encontrar fechadas as portas da cidade, que lhe deveria dar repouso. Pode ser, ainda mais, que o deserto chegue até a elas, como no Oriente, e as feras ululem, ora perto, ora longe, e um vento forte se eleve, e os salteadores lhe roubem os animais de carga. Desce então uma noite terrível, como um segundo deserto no deserto, e o Peregrino se sentirá exausto no coração. Quando o sol levantar, abrasando como a divindade da ira, abre-se a cidade, e nas faces dos habitantes ele verá talvez mais deserto, mais sujeira, mais embuste e mais insegurança do que fora de portas – e o dia será quase pior que a noite. Isto pode, na verdade, ocorrer a um Peregrino; mas depois virão, como recompensa, manhãs deleitosas, noutra paragem e noutro dia, onde, através do dilúculo, verá bandos de musas bailarem perto, na névoa das montanhas; onde, em seguida, quando passear à sombra das árvores, na serenidade da manhã, cair-lhe-ão, dentre os ramos e a folhagem, coisas boas e claras, dádivas dos espíritos livres, que se acomodam bem, como ele, nos montes, florestas e solidões, e são, como ele, de maneira ora alegre, ora pensativa, peregrinos e filósofos. Oriundos do mistério da madrugada, pensam no que pode fazer tão pura, luminosa, jovialmente transfigurada a fisionomia do dia entre a décima e a décima segunda pancada do sino: andam a buscar a Filosofia da Manhã.”

Nietzche

Categorias: Citação

A moda moral de uma sociedade mercantil

Maio 6, 2008 · Não Há Comentários

“A moda moral de uma sociedade mercantil — Por trás do princípio básico da atual moral: ‘ações morais são as ações da simpatia pelos outros’, vejo agir o impulso social da temerosidade, que assim se mascara intelectualmente; esse impulso deseja, como a coisa suprema e mais importante, que seja tirada da vida toda periculosidade que ela já tinha, e que todos ajudem a fazê-lo com todas as forças: por isso, apenas as ações que tem em mira a segurança comum e o sentimento de segurança da comunidade merecem o predicado de ‘bom’! — Como devem ter pouca alegria consigo os homens de hoje, se uma tal tirania do temor lhes prescreve a lei moral suprema, se permitem, sem objeção, que lhes seja ordenado não olhar para si, mas ter olhos de lince para toda miséria, todo sofrimento de outra parte! Não estaremos, com esse descomunal propósito de limar todas as arestas e asperezas da vida, a ponto de transformar a humanidade em areia? Areia! Pequena, redonda, tenra, infinita areia! É este o seu ideal, arautos das afecções simpáticas? — Enquanto isso, fica sem resposta a questão de saber se somos mais úteis ao outro indo a seu encontro e ajudando-o — o que pode suceder de modo apenas superficial, quando não é uma interferência e remodelação tirânica –, ou fazendo de si mesmo algo que o outro vê com deleite, como um belo, tranqüilo jardim fechado, que tem muros altos para as tempestades e a poeira da estrada, mas também um portão hospitaleiro.”

Aurora, aforismo 174, Nietzsche

Categorias: Citação · Filosofia · Nietzsche

Êta mundinho

Maio 2, 2008 · Não Há Comentários

Categorias: Ciência · Curiosidade