sexta-feira, 19 de maio de 2017

Consertando um Kobo

Há alguns anos ganhei um Kobo Touch. Ele funcionou muito bem até que, no último verão, a tela falhou. Por excesso de manuseio, ela deve ter fissurado e deixou de atualizar boa parte de sua área.



Imediatamente procurei uma forma de consertá-lo e descobri que é possível comprar a tela (da China, obviamente). Abri o leitor e descobri que o modelo da tela é ED060SCE(LF). Encontrei vários vendedores no AliExpress e decidi por um que vendia um ED060SCE(LF)C1. Não era exatamente o modelo do meu, mas servia. Infelizmente, não encontrei uma explicação para as variantes (para poder, ao menos, escolher a mais recente). Aparentemente, ED indica o fabricante (E-Ink); 060 indica o tamanho (6"); e SCE(LF) indica o modelo. Depois disso, as letras e os números indicam variações que só o fabricante conhece. Neste caso, encontrei T1 e C1.

Paguei US$18,00 (menos de R$60) e isso inclui ferramentas: quatro chaves de fenda (só foi preciso usar uma) e duas peças de plástico (uma para abrir e outra que não achei utilidade). Menos de um quinto do valor de um aparelho novo, embora a Livraria Cultura (que representava a canadense Kobo no Brasil) tenha desistido de vendê-lo. É uma pena, porque é um aparelho muito bom. Por outro lado, considerando o valor da tela, percebe-se que o valor de venda do aparelho era excessivo (eu comprei uma tela só e imagino que uma compra grande consiga um preço ainda melhor).



Duas coisas interessantes aparecem dentro do Kobo, Primeiro, há um cartão microSDHC de 2GB. Portanto, é possível aumentar a capacidade de armazenamento. Não testei, porque 2GB de livros já é uma quantidade infindável de leitura e, de qualquer maneira, há também um slot externo. Em segundo lugar, há uma porta serial. Se um dia a tela voltar a falhar, posso tranformar o Kobo noutra coisa.

A maior dificuldade na troca foi descolar a tela original. A placa-mãe está aparafusada numa base de plástico (que é forte, por sorte) e esta base é aparafusada à caixa. A tela fica colada tanto à caixa como à base de plástico. E a cola é forte. Foi preciso quebrar a tela em muitos pedacinhos para poder extraí-la da armação. A cola permaneceu e bastou para encaixar tudo novamente.

Acho triste que esses projetos sejam feitos de maneira a dificultar a manutenção. A caixa é montada por encaixes, mas eles exigem força e não é difícil quebrar a tela no processo. Além disso, a bateria é colada e os fios soldados: não é fácil trocá-la.

Embora não fosse tecnicamente interessante, esse conserto deu a satisfação de dar nova vida a um aparelho que, doutra sorte, iria para o lixo.

sexta-feira, 5 de maio de 2017

Anagramas

Inspirado num artigo publicado no do Hacker News, resolvi explorar os anagramas da língua portuguesa. O algoritmo é muito simples. Cada palavra é transformada numa chave que é composta por suas letras em ordem alfabética. Todas as palavras são guardadas num hash de acordo com a chave. Então, todas as palavras que possuem as mesmas combinações de letras são naturalmente agrupadas.


use strict;

my $dict;
my %anagrams;
open($dict, '<', 'wordlist-preao-latest.txt');
while (my $word=<$dict>) {
  chomp $word;
  my $index=$word;
  $index=~s/\-//g;  
  my $sorted = join "", sort split //, $index;
  push @{$anagrams{$sorted}}, $word;
}

for my $words (values %anagrams) {
  print "@$words\n" if @$words>1;
}


Modifiquei o código para que ignorasse os traços. O dicionário que encontrei possui, inclusivamente, todas as conjugações dos verbos.

O campeão de variações (22) foi este:


amestrei eremitas estiar-me estreiam 
estremai mastreei mastreie meterias 
rasteiem remateis remetais remetias 
reteimas ser-te-iam seriam-te teimar-se 
teimares temerias ter-me-ias ter-se-iam 
teriam-se terias-me


E os anagramas mais longos não são muito interessantes, porque a maioria é de diferentes conjugações. O mais longo é:

transcendentalizar-lhe-ias transcendentalizar-lhes-ia

E há muitos desses antes deste:

constitucionalizardes desconstitucionalizar

Pelo menos são verbos diferentes.

Com uma pequena adição ao programa, gerei um arquivo com todos os anagramas (um por linha) ordenados por ordem decrescente de comprimento:

my @sorted= sort { length $b <=> length $a } keys %anagrams;
for my $i (0..$#sorted) {
  if(scalar(@{$anagrams{$sorted[$i]}})>1) {
    print join ' ',@{$anagrams{$sorted[$i]}};
    print "\n";
  }
} 

São mais de 114 mil linhas e cerca de 3MB. A evolução natural é transformar isso num webservice e vender o AaaS (Anagrams as a Service).