You are currently browsing the archives for the Em curso category


Aproveitar uma lâmpada fluorescente para fazer uma lanterna

Enquanto procurava por uma solução para alimentar o meu Raspberry Pi a baterias, encontrei este vídeo. Segundo o autor, a parte da lâmpada economizadora que se estraga é a eletrónica e não o tubo com os químicos que produzem a luz. Sendo assim, depois de eliminado o circuito original e montado um novo feito à mão, a lâmpada é aproveitável com pilhas de 1,5V. As conhecidas pilhas AA.

Quando vi o vídeo seguinte lembrei-me das n medições que o A.Sousa já fez. Uma das coisas que gostei de ver foi a forma como o autor tentou sempre explicar cada valor e como aproveitou o seu conhecimento para construir uma lanterna de uma lâmpada de baixo consumo.

Estes dois vídeos explicam a forma como é construída e como funciona em detalhe a lâmpada.

Ouvir as noticias no iPhone

Wibbitz para iPhone

Wibbitz para iPhone

Ouvir os textos que escolho para fazer mais de uma tarefa ao mesmo tempo é o meu tema. Ouvir um Podcast pode ajudar, mas não é a mesma coisa. Procuro algo que me permita juntar o Twitter, os blogs tecnológicos e as bocas políticas sem ter de parar de trabalhar ao mesmo tempo.

Encontrei uma App para o iPhone que vai buscar as últimas notícias, organiza-as por temas e lê-nos os títulos. Se algum dos títulos nos interessar, um gesto no ecrã e a aplicação lê-nos os detalhes dessa notícia. Querem melhor que isto? Eu quero melhor.

Wibbitz para iPhone

Wibbitz para iPhone

O Wibbitz faz um trabalho excelente e tem uma apresentação fantástica… se forem americanos. A app não permite criar a minha própria organização ou adicionar conteúdos escolhidos por mim. A voz só lê as notícias em inglês e não há como mudar. Vou ter de continuar a procura por uma forma de criar a minha própria solução.

Apple OSX e Ubuntu a dizer os twitts do Poupar Melhor

Para por o nosso computador a ler-nos os sites que queremos, vamos ter algum trabalho de linha de comandos. Como já tinha dito aqui, o Apple tem um sistema de discurso muito melhor que o meu Windows XP lá dos escritório, por isso decidi começar por aqui.

Procurei usar ferramentas livremente disponíveis na Internet para montar esta funcionalidade ou que já se encontrassem no sistema operativo. Tentei escolher de entre as que fossem mais versáteis na linha de comandos de forma a depois criar o evento que de tempos a tempos que  lesse o meu conteúdo. A diferença será na peça final que é a que produz o som. Por enquanto não vamos explorar já a hipótese de usar o Google Translate para este fim.

Os ingredientes são um conjunto de programas, quase todos do projeto GNU:

  1. cURL – vai buscar informação aos servidores da internet;
  2. sed – transforma o texto na linha de comandos;
  3. OSX say – converte o texto escrito em formato falado;
  4. espeak – converte o texto escrito em formato falado no Ubuntu.

A receita:

curl https://twitter.com/pouparmelhor | sed -n '/tweet-text/,/stream-item-footer/p' | sed 's/< [^>]*>//g' | sed "s|http[:]//[^ ]*||g" | sed "s|bit.*||g" | sed "s|&nbsp;||g" | sed 's/class="tco-ellipsis">//g' | sed 's/Pouparmelhor.com/Poupar Melhor/g' | sed 's/<[^>]*>//g;s/^[ \t]*//;/^$/d'| while read line ; do echo $line| say ; done

Esta experiência recolhe da página do Poupar Melhor no Twitter o conteúdo com o curl. Encontra no código HTML a informação que se encontra entre tweet-text e stream-item-footer com o sed e usa o mesmo utilitário para corrigir todo o conteúdo, removendo formatação HTML e afinando outros detalhes.

O resultado é a voz da Apple a contar-nos o que se passa no Poupar Melhor sem termos de olhar para lá.

Para repetir a proeza no Ubuntu basta substituir o comando say pelo comando speak e usar a instrução -vpt-pt para ele falar em português. Bem… Mais ou menos. A receita fica abaixo:

curl https://twitter.com/pouparmelhor | sed -n '/tweet-text/,/stream-item-footer/p' | sed 's/< [^>]*>//g' | sed "s|http[:]//[^ ]*||g" | sed "s|bit.*||g" | sed "s|&nbsp;||g" | sed 's/class="tco-ellipsis">//g' | sed 's/Pouparmelhor.com/Poupar Melhor/g' | sed 's/<[^>]*>//g;s/^[ \t]*//;/^$/d'| while read line ; do echo $line| espeak -vpt-pt ; done

A voz do espeak é muito robotizada, tal como a que podem ouvir no Excel a imitar um robot num Windows XP. Embora os utilizadores do Windows também possam usar os utilitários cURL e sed, parece-me que o acesso ao sintetizador de texto para voz está excluído das opções por defeito na linha de comandos.

Computador a falar


Desde que decidi que havia de conseguir pôr o Raspberry Pi a falar que ando a tentar que qualquer computador leia o que se escreve no Twitter. Excel a falar o que está no Twitter foi mais uma aproximação. Gostava que a solução pudesse ser executada em qualquer sistema operativo, mas o Excel a falar não é a melhor solução.

Encontrei alguém que já tinha tido a mesma ideia que eu e criou um script que permite ultrapassar as limitações do Google Translate para que devolva a leitura de textos com mais de 100 caracteres e ando a tentar uma solução com base nestas facilidades.

Enquanto trabalhava na solução, encontrei algumas coisas que poderão facilitar a vida a quem tem muito que fazer, mas continua a querer a ler tudo.

O OSX tem uma solução muito simples para quem gosta de adaptar os computadores às suas necessidades. O OSX tem o comando say. Para o usar é só abrir o Terminal e escrever  o comando say seguido do texto que queremos que ele leia:

say Eu leio o Poupar Melhor.

Se ainda não tiverem a voz da Joana para ler o vosso comando say, sigam as instruções do The Unofficial Apple Weblog para adicionarem a voz portuguesa.

O Apple OSX tem também uma solução rápida para gerarmos um ficheiro de som a partir de qualquer texto. A explicação está no vídeo. Depois de gerado o som é só ouvir como se de uma música se tratasse.

Saga do IUC de 2012 da mota

Motociclos por @designerferro

Motociclos por @designerferro

A compra o meu motociclo tem sido uma experiência única para garantir que chego sempre a horas onde quero, mas o IUC (Imposto Único de Circulação) de 2012 já me fez perder bastante tempo por algo que nunca me passou pela cabeça perder.

Recebi uma carta do concessionário que me tinha vendido a mota a informar-me que tinha o IUC de 2012. Uma vez que já tinha pago o IUC de 2013 pensei que poderia passar-se algo um lapso, mas como não encontrei o recibo entendi que seria meu.

Ao tentar pagar o IUC no site da AT (Autoridade Tributária) recebi a mensagem:

Os dados Cadastrais / Veículo estão incoerentes. Por favor contacte o helpdesk ou dirija-se a um Serviço de Finanças.

Liguei para o 707 @Aut_Trib_Adua, o número no Portal de Finanças. A primeira que liguei, ao fim de 1 minuto a escolher opções, deu uma mensagem a dizer que “Devido ao elevado número de chamadas bla bla bla ligue mais tarde” e desligaram a chamada automaticamente. Nem me vou alongar sobre sobre o que pensamos aqui sobre número 707, o que eles significam para o Poupar Melhor e o uso destes pela Autoridade Tributária.

Na 2ª tentativa, os totais foram:

  • 1 minuto de opções;
  • 16 minutos de espera;
  • Um total 27 minutos de chamada;

O atendimento, quando aconteceu, foi bastante simpático, mas não resolvia. O problema teria sido entre o IMTT e o importador:

  • A matricula era de 13 janeiro de 2012 e a minha propriedade é de 07 de fevereiro de  2012.

Como tinha comprado a mota a 18 de janeiro de 2012, entendi que a situação tinha de ser esclarecida. Tinha de saber se era o primeiro dono e se o primeiro dono tinha todas as contas em dia com a AT. Decidi que tinha de resolver a questão por email. Enviei um email para a DSCAC – Informações com os dados do veiculo e o meus dados pessoais e recebi a resposta abaixo:

Por não ser assunto da nossa competência, vai a sua mensagem reencaminhada para o Serviços de Finanças, cujo e-mail é…

Nem se dignaram a dar CC: ao serviço. Contactado o serviço de finanças indicado, recebi outra cordial resposta. Era noutro guiché:

No que respeita à sua questão, informamos para contactar a Conservatória de Registo Automóveis.

Lá fui contar a história para a Conservatória de Registo Automóvel. A resposta foi… Tente noutro guiché:

Informa-se de que não tem este helpedesk competência para se pronunciar sobre a questão posta, pelo que se sugere que se dirija junto de uma conservatória com competência de registo automóvel.
Junto o endereço onde poderá verificar o contacto das conservatórias de registo automóvel…

Este ainda foi pior. Deu-me um link para um PDF com a listagem dos serviço locais e tive de andar à procura do que me correspondia. E lá fui eu para o guiché seguinte contar a mesma história:

Informamos que não foi encontrada qualquer desconformidade entre os elementos que nos forneceu e os constantes do registo do veículo, todavia se pretender provar tal facto, junto da Autoridade Tributária, deverá solicitar cópia do registo do mesmo e proceder ao pagamento de 5,00EUR.

O quê?! Existe uma incoerência nos dados e eu ainda tenho de pagar? Agora quero voltar ao guiché inicial, mas há um novo elemento: a Yamaha envia-me uma carta a dizer que devo pagar o IUC de 2012. Onde é que já vi isto. Entro em contacto com a Yamaha e a coisa começa a esclarecer-se.

Os importadores compram as motas. Como alguém que não interessa agora nomear demora algum tempo a emitir as matriculas, a Yamaha pede a matricula logo.

A lei tem um detalhe que obriga os veículos a pagar o IUC a partir do momento que recebem a matrícula, mas alguém se esqueceu deste detalhe quando apresentou a conta. Os 5€ não estavam em causa, mas sim a mensagem pouco esclarecedora e o rali dos guichés a que me obrigaram. E lá foi um email para o guiché seguinte. A resposta não demorou:

Como V.Ex.ª por certo sabe, o registo da propriedade dos veículos automóveis é feito no Instituto de Registos e Notariado (IRN) e apenas e só nessa entidade. Não compete à AT (Autoridade Tributária e Aduaneira) inscrever ou alterar a titularidade dos Veículos Automóveis. Ela apenas utiliza a base de dados do referido Instituto.

Nos termos do n.º 1 do artigo 3.º da Lei n.º 22-A/2007, de 29 de Junho:
– “São sujeitos passivos de imposto os proprietários dos veículos, considerando-se como tal pessoas singulares ou colectivas, de direito público ou privado, em nome das quais os mesmos se encontrem registados.”

Assim, enquanto constar em seu nome na base de dados do Instituto dos Registos e Notariado (IRN) o imposto é devido.

“Como V.Exª por certo sabe”?! Mas vão alegar aquela história toda do desconhecimento da lei não implica o seu não cumprimento para justificar uma incoerência de dados?! Ainda não perceberam que os dados incoerentes são da responsabilidade das entidades que os trocam e que a mensagem era tudo menos clara?!

O registo da propriedade dos veículos automóveis feito no Instituto de Registos e Notariado (IRN) é utilizado pela Autoridade (AT – Autoridade Tributária e Aduaneira) para a cobrança do imposto previsto nos termos da lei e compete à AT exigir a correção dos dados que usa para cobrança de impostos no sentido de não se apresentarem incoerentes aos contribuintes.

Como não sou de desistir, enviei um email a indicar que deviam proceder às correções necessárias para que os dados deixassem de se apresentar incoerentes no site da AT. Respondeu-me um senhor com menos prosa, mais esclarecedor, mas que em meu entender não compreende o que se passa lá no sistema da AT e as suas incoerências de dados:

Tendo em conta que a liquidação do IUC efetuado pela Autoridade Tributaria tem por base os elementos enviados por aquela entidade e na nossa base de dados consta registado a essa data, como a data da matricula é 2012.01.13, o imposto foi devido nesse mês.

Pois, bem sei que o importador é que deve e tentou que outro pagasse o lapso, mas não é isso que diz no site da AT. Entretanto, o proprietário à data da matricula, e que mantive em CC: nas trocas de mensagens com a AT, informam-me irá proceder ao pagamento.

Ainda se mantinha o problema relativamente à mensagem. A mensagem apresentada não é adequada aos factos e esteve por base em todo o equivoco.

A mensagem de erro deveria ser corrigida e enviei um último email a sugerir isso mesmo, disponibilizando-me para rever quando estivesse corrigida.

Deveria ser possível verificar no Portal da AT (Autoridade Tributária) que todos os pagamentos dos anos em que somos proprietários de um veículo foram efetuados de forma a evitar mais equívocos.

Excel a falar o que está no Twitter

Twitter

Twitter

Já falámos várias vezes aqui sobre fazermos mais de uma tarefa ao mesmo tempo. Algumas das coisas que podemos fazer incluem ouvir um Podcast, mas nenhuma incluía uma forma de ler o Twitter e trabalhar ao mesmo tempo. Aqui em casa já tive o Raspberry Pi a dizer os últimos 10 twitts de cada hora, mas com alguns defeitos, nomeadamente as crianças que se queixavam de cada vez que a caixa falava.

Outro dia decidi procurar como fazê-lo no Windows para ver no que dava. Queria apenas uma prova de conceito de que era possível. Algo que se implementasse em 30 minutos ou menos. O que tinha à mão na altura era o Excel e deu no que conto aqui.

O código está mesmo feito à bruta, mas quem quiser pode juntar-lhe um ciclo For ... Next e recolher o limite do valor numa célula.

Coloquem os URL de cada conta Twitter que querem ler numa mesma coluna do Excel, por exemplo https://twitter.com/pouparmelhor. Reservem a primeira linha para escreverem “Link” no topo de coluna. Nas novas versões de Excel vão ter de gravar com0 .xlsm e autorizar a execução de macros para poder executar o código que mostro mais abaixo.

Para inserirem o código na vossa folha de Excel, carreguem nas teclas ALT + F11. Isto vai fazer aparecer o editor de VBA (Visual Basic for Applications) do Excel e vai mostrar-vos as folhas/planilhas/sheet do Workbook. O código tem de ser inserido onde têm a coluna com os URL.

Para tudo funcionar vão ter também de juntar nas opções do Excel as funcionalidades do Internet Explorer. Isto faz-se acrescentado a referência no editor de VBA a partir do menu.

Inserir referências

Inserir referências

Escolham na lista de referências o Microsoft Internet Controls e o Microsoft HTML Object Library.

Microsoft Internet Controls e Microsoft HTMLObject Library

Microsoft Internet Controls e Microsoft HTML Object Library

Selecionem a Sheet/Folha onde têm a coluna Link e passem para lá o código que se encontra abaixo.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim IE As Object
If Cells(1, Target.Column) = "Link" Then
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False
IE.navigate ActiveCell.Value
Do
DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE
Dim Pagina As HTMLDocument
Set Pagina = IE.document
Dim Twitt As String
Twitt = "1. " & Pagina.getElementsByTagName("p")(6).innerText & vbCr & vbLf
Twitt = Twitt & "2. " & Pagina.getElementsByTagName("p")(7).innerText & vbCr & vbLf
Twitt = Twitt & "3. " & Pagina.getElementsByTagName("p")(8).innerText & vbCr & vbLf
Twitt = Twitt & "4. " & Pagina.getElementsByTagName("p")(9).innerText & vbCr & vbLf
Twitt = Twitt & "5. " & Pagina.getElementsByTagName("p")(10).innerText & vbCr & vbLf
Twitt = Twitt & "6. " & Pagina.getElementsByTagName("p")(11).innerText & vbCr & vbLf
Twitt = Twitt & "7. " & Pagina.getElementsByTagName("p")(12).innerText & vbCr & vbLf
Twitt = Twitt & "8. " & Pagina.getElementsByTagName("p")(13).innerText & vbCr & vbLf
Twitt = Twitt & "9. " & Pagina.getElementsByTagName("p")(14).innerText & vbCr & vbLf
Twitt = Twitt & "10. " & Pagina.getElementsByTagName("p")(15).innerText & vbCr & vbLf
Application.Speech.Speak Twitt
IE.Quit
End If
End Sub

De cada vez que mudarem de célula na coluna Link o Excel vai abrir o Internet Explorer, juntar 10 Twitts e lê-los em voz alta. Infelizmente o Windows XP usa um sistema de conversão para voz que é, como é que hei-de dizer… antigo.

Se experimentarem o Google Translate vão ver que a qualidade do som é muito superior. Vou tentar explorar esta qualidade para o mesmo objetivo.