Flash is Single Threaded: RPC and AsyncToken behavior

So in Flex you can invoke a service (like a WebService method, or HTTPService.send()), which returns a token (mx.rpc.AsyncToken). After that, you set a responder on the token. When the results come back, the responder is called. Calling the send() method actually sends the request, so the whole construct looks bizarre, since you’re setting a responder/handler AFTER the call has been sent. This is a very common pattern in Cairngorm applications.

The fact is that this never fails, and I wondered why, because it looks possible (although unlikely) for an RPC call to return data before the responder is set. After thinking for a while, I remembered one of my first problems with Flash, years ago: it’s single threaded. After investigating on the web, I found out this is really what makes this (and a whole host of other async stuff) work in Flash/Flex. The call may return data, but since it’s single threaded, your method will surely be able to continue, and set the responder, before the result handler is called. Uncommon, to say the least.

Carrinho de Compras com AJAX

Inspirado pela onda web 2.0, estou prototipando um Carrinho de Compras com AJAX. Usando, óbvio, prototype.js. Ainda não está pronto, mas acho que vai ficar bom. Veja um screenshot recente:

Carrinho Com AJAX

Burrocracia NET/Virtua chega a novos extremos

Apesar do serviço ser excelente (e caro), a NET/Virtua me surpreendeu com a burocracia na semana passada. Quando fomos morar no antigo apartamento da minha avó, reativei a assinatura NET que meu pai tinha feito para minha avó. Com isso passei a pagar R$69/mês para ver enlatados americanos, e nenhum canal de filme. Além disso, fiz um pacote ‘fidelidade’ (você não paga assinatura, nem instalação, mas tem que ficar 12 meses senão paga multa) de um Vírtua 600kps, pagando $89/mês. Aqui no escritório temos um Vírtua 1200/600kbps, pagando R$140, então não achei ruim.
Agora, cinco meses depois, estamos nos mudando (pergunte a Dine sobre os detalhes, e sobre o coletivo, ok? isso aqui é blog de nerd) e preciso transferir tudo (TV e Virtua) para um novo endereço. Liga na ‘central de emburrecimento’ e olha que fácil: “Isso não é possível, senhor”. Pergunto a razão. “O contrato NET que o senhor possui, senhor, é vinculado ao condomínio, senhor, e não pode ser transferido, senhor”. 3 horas depois: “a nossa sugestão, senhor, é que o senhor faça uma nova assinatura no novo endereço, senhor, e depois cancele a antiga, senhor”. Mas é o plano ‘fidelidade’? “Nesse caso, senhor, o senhor estará pagando uma multa de R$240, senhor. Afinal o senhor está cancelando o serviço, senhor”. É o fim…
Depois de cinco horas (sério!!!) no telefone com os infelizes, um supervisor me indica a solução mágica: “Basta fazer uma nova assinatura NET/TV no novo endereço, senhor, com a mesma titularidade, que será possível transferir o Virtua/fidelidade para o novo endereço”. Trouxa eu que fiz isso, e agora estou a 6 dias tentando convencer algum outro infeliz, na área de PJ, ou via FAX, ou sinal de fumaça, “senhores”, que fiz o que mandaram, e que se não transferirem isso rapidinho, vou meter todo mundo no PROCOM, e cancelar todos os elogios jamais feitos ao Virtua. Fim do mundo!

Obs: já mandei mais de 50 faxes, e perdi nada menos do que 7 horas e quinze minutos no telefone, contadinhos, com esses infelizes. Anda logo, vai.

PS. Consegui finalmente esvaziar meu gmail, via POP/SSL. O POP deles só manda 600 mails de cada vez, é um inferno. Agora colocarei a conta do gmail via fetchmail na minha conta principal, tornando a menos inútil e mais verificada.