sysd.org
17abr/120

Extreme WYSIWYG

Essa semana, Slashdot nos contemplou com dois deliciosos eye-candies na área de interface e usabilidade:

Gliimpse

Devo confessar que, se eu tivesse como utilizar esse tipo de preview para redigir HTML, esse blog teria updates muito mais frequentes :P

Não me habituei com nenhum editor WYSIWIG, e até os meus slides faço em POD e renderizo com S5.

Realmente, me parece uma bela de uma mão na roda!

Light Table


Light Table - a new IDE from Chris Granger on Vimeo.

Demais esse conceito de IDE + REPL, que está para virar protótipo!

Só vejo um porém. Exemplificando metaforicamente: a melhor definição de uma "linguagem de programação" que conheço é "capacidade de produzir loop infinito". Por isso, falar "programador HTML", por exemplo, é meio que nonsense. Agora, apesar do loop infinito ser tão importante na teoria, não é nada bom na prática. Por exemplo, digitar :​​(){ :​​|:& };: na linha de comando do Linux ou Mac e dar ENTER leva ao suicídio do sistema operacional. Enfim, quem já programou em JavaScript e usou alert() para debugar, sabe do que estou falando :)

Agora, o cara usou um exemplo muito feliz: IDE dele é totalmente voltada para linguagens funcionais, tanto que a menor unidade de código, para ele, é a função. Por obséquio, linguagens funcionais não tem loop! Tem recursão, que até pode ser infinita, mas convenhamos: quem domina programação funcional, dificilmente vai cometer essa gafe...

Concluindo: a ideia é genial, mas daria certo para poucos. O meu palpite é que surgirá a versão dessa IDE para trabalhar com JavaScript, tanto client- quanto server-side (Node.js), pois JavaScript, surpreendentemente, é funcional (tecnicamente falando, JavaScript é quase um Domain Specific Language de Scheme, que é dialeto de Lisp).

20jul/112

TicketFeed – Alimentando o seu leitor de feeds!

Sei lá o que posso prosear a respeito disso :P

Mas vamos começar pelo começo. Um belo dia, estive eu no caixa de um restaurante, prestes a pagar pelo meu almoço, quando uma notícia nada agradável me surpreende: o meu saldo estava zerado!!!

Como isso seria possível, se o meu ticket até está na minha planilha de gastos (isso é, sempre que uso ele, anoto quando e aonde foi)?! Pois é, foi clonado.

Então de que adiantou todo o meu acompanhamento de crédito/débito? Pfffffft :P

Aí no processo de resgatar o rico dinheirinho do meu rango, me deparei com o site oficial, http://www.ticket.com.br/, que é uma tosqueira inigualável. Para começar, o "sistema de segurança" é tão pífio que requer apenas o número do cartão, sem senha alguma, para consultas de extrato/saldo! Tudo bem que não é uma informação pra lá de sigilosa, ainda assim... Qual a utilidade podemos extrair disso?

  1. Funcionários de uma mesma empresa recebem seus cartões do mesmo lote. A numeração dos cartões é sequencial, só muda o dígito verificador (que segue o padrão do cartão de crédito). No extrato sai o nome do local aonde o dinheiro foi debitado. Assim, é perfeitamente possível rastrear os meus coleguinhas;
  2. Posso fazer coleta automática do extrato, assim saberei de antemão se fui debitado indevidamente. Poderia receber avisos de débito/crédito por email, mas o email está morrendo, e o hype do momento são os leitores de feed (sarcasmo mode off).

Acabei optando pela segunda opção. Aliás, aproveitei para fazer um test drive do DotCloud, e gostei!

Então, o negócio é o seguinte. Pegue o seu Ticket. Entre em http://ticket.iwatcher.net/. Preencha o respectivo campo, e gere URL do tracker. Eu gosto do Google Reader, mas funciona em qualquer outro agregador de feeds. A ideia central é: para cada "ping" no tracker, o webservice rodará um scrapper no site oficial, e gerará um feed a partir dos dados coletados. Assim, você terá um feed de notícias gerado pelos seus hábitos gastronômicos ;)

Uma observação importantíssima a respeito da privacidade dos dados: o número do seu Ticket é transferido em plaintext, assim como no site oficial. Obviamente, dessa forma ele acaba parando no access.log do servidor. Não tem como evitar isso. Já os dados das transações não estão sendo replicadas em nenhum banco de dados. Traduzindo: eu não sei o que se passa na sua conta, caso você venha a utilizar o meu webservice. Nem pretendo saber. Mas, de posse dos logs dos servidores, é perfeitamente possível acessar o extrato referente a cada Ticket consultado, visto que o site oficial não utiliza nenhum tipo de PIN/senha.

Ah, e o layout da página do gerador de feeds fica uma nhaca no Firefox. Eu não sei corrigir :(

Alguém com um bom domínio de CSS se habilita?

14dez/0913

Über-Geek Rugged Pen-Drives From Hell!!!

O crédito vai para o Dmitry Brant, que tornou os seus gadgets USB em indestrutíveis tratando-os com adamantium resina epóxi. Mas a ideia em si eu tive faz um tempão, quando detonei o meu adaptadorzinho de ler cartões SD... O que me faltou era um molde que desse nenhum o mínimo de trabalho. Aí um belo dia olhei para mais um pendrive que quebrei, e depois para um tubo de fio de solda... E, wow, o conector USB tem aproximadamente o mesmo diâmetro que o interior do tubo! Como na época estava fazendo a disciplina "Oficina de Materiais Plásticos", tinha uma quantidade razoável de resina de poliéster para brincar.

Matéria-prima

Matéria-prima: pendrive(s), resina de poliéster, tubos de solda (ATENÇÃO: descobri de uma maneira bastante desconfortável de que não é qualquer tubo que serve... ALGUNS são feitos de um plástico que reage com a resina de poliéster. Portanto, é minimamente sábio deixar um pingo de resina no tubo por um tempo antes de usá-lo como molde :P ), copos plásticos de polipropileno (ATENÇÃO... OK, é a mesma coisa de antes: se não for polipropileno, reage com a resina :S), e fita crepe.

Inserindo no molde

Enrolei várias camadas de fita crepe no conector USB dos pendrives para protegê-los e também para que fiquem bem encaixados dentro do tubo-molde. Uma dica: ao enfiar o pendrive no tubo, deixe um espaço até o fundo: depois, essa "sobra" pode ser usada para fazer furo para passar cordinha de chaveiro ou coisa do tipo.

Molde e resina

Agora, o know-how do processo: os tubinhos de solda tem um furo embaixo. Assim, ao invés de encher de resina por cima e melecar tudo e encher de bolha, os moldes com pendrives são submergidos na resina, que entra por baixo ;)

Outro detalhe importante: o nível da resina. Primeiro, enchi o copo de poliéster, misturei com o catalizador (instruções no verso :P ), daí coloquei os tubinhos e aí sim empurrei os pendrives para o fundo com uma varetinha, para que o conector USB fique para fora.

Submergindo

É só deixar nesse estado pelo tempo suficiente para a resina esfriar (a reação com o catalisador é exotérmica, mas o calor é pequeno e não chega a prejudicar os circuitos). A resina que usei tem uma coloração verde bizonha, o que até que combina com o verde das plaquinhas PCB. Mas também existe resina transparente (surpreendentemente, se chama "cristal"). Uma nota: se o tubo de solda for de material certo, ele não apresenta a menor dificuldade para sair da resina. E, para tirar os pendrives de dentro dos moldes, é só empurrá-los com um prego/fósforo/palito através daquele furico embaixo ;)

Outra nota: mesmo depois de aparentemente sólida, a resina leva alguns dias para ficar 100%. Portanto, sem pressa, se quiser que fique realmente bonito.

Pendrives prontos!

O resultado final! Me desculpe, Dmitry, mas ficou muito mais bonito do que o seu ;)

Pendrives prontos!

E as principais propriedades continuam as mesmas: alta resistência ao impacto (martelei um dos pendrives e ele sobreviveu) e à umidade (inclusive, é perfeitamente lavável: não tem como água entrar nos circuitos elétricos, no máximo, molha os contatos do conector USB que é só soprar para secar ;) ).

LED aceso, versão "polida"

Muitos me perguntaram: "isso funciona"? Mas é claro! Por que não funcionaria?! A resina não é condutora e isola os circuitos de qualquer desgraça que lhes possa ocorrer... E o pendrive não gera calor o suficiente para "torrar" de dentro para fora. Ah, e os efeitos luminosos são ótimos: a "capa" de poliéster, sendo cilíndrica, atua como uma lente.

LED aceso, versão lixada

Esta é a versão "planificada": lixei até ficar um "tijolinho" translúcido. O efeito luminoso também é interessante, devido ao scattering. E as rachaduras internas se devem às porradas com o martelo :P

Próximo passo: fazer uma tampinha à altura do pendrive, rááááá!!!!!!!

Easy AdSense by Unreal