You are currently browsing the Poupar Melhor posts tagged: Computadores


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.

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.

Propostas duvidosas

Processamento distribuido por Kalani Hausman

Processamento distribuido por Kalani Hausman

Com a crescente dificuldade em mantermos o dinheiro na carteira, o mais provável é procurarmos soluções de aumentarmos a quantidade de dinheiro que lá existe. Essas soluções podem sair-nos caras ou mesmo por-nos na prisão.

O A.Sousa enviou-me uma dessas soluções para discutirmos se haveria ou não ali um gato escondido com rabo de foram:

Andam por aí vários esquemas que me parecem querer tirar partido dos PCs das pessoas através de ofertas “irresistíveis“.

Pareceu-me interessante partilhar convosco, não porque tenha conhecimento que estejam a fazer algo ilegal, mas porque por prática, tanto eu como o A.Sousa, vemos estas coisas com um olhar critico.

A solução proposta no link funciona como algo como um SETI@home, mas sem um fim definido. Outros projetos semelhantes existem já há muito tempo, como o Bovine de 1997 que tentou com sucesso ganhar o RSA Labs 56-bit secret-key challenge (RC5-32/12/7).

Enquanto no SETI@home oferecemos o processamento disponível nos nossos computadores para um fim muito bem definido, existem outras ofertas que não tem um fim pré-definido. Na oferta da provocação, o nosso processamento pode ser utilizado para qualquer fim.

Este âmbito alargado  coloca questões sobre qual o uso que será dado ao processamento e a responsabilidade que nos será imputada:

  • Será que eu por ter disponibilizado entre 2 a 6% do meu processamento serei responsabilizável por este ter sido usado para fins de pirataria informática?
  • Será que pode ser usado num ataque distribuído a um servidor (DDoS) ou numa quebra de password por força bruta?

Por outro lado, a oferta poderá ser legitima. O pagamento prometido atinge os 30$ mensais, o que parece simples de explicar através da venda da capacidade de processamento em lote para quem necessite e tenha como o usar, algo que grandes empresas como a Amazon já fazem, mas com o processamento centralizado. A este serviço chamaram-lhe Elastic Compute Cloud (EC2).

Se o processamento distribuído for usado para fins positivos, é bem possível que projectos destes venham a servir para criar coisas belas ou poderosas.

Já em 1994era possível com o 3D studio max distribuir pelos computadores da rede o processamento dos frames de um filme 3D. Os computadores eram controlados remotamente por um computador mestre (master) que lhes dava as ordens para processar frames. As frames recolhidas eram depois reunidas num filme final. Era básico, mas eficaz.

Quando virem uma oferta de computação distribuída, de forma a reduzirem o risco da oferta não ser legítima, procurem pela internet ver o que se diz dela. Quem sabe existe alguém que realmente esteja a oferecer dinheiro para usar o vosso computador para processamento distribuído com fins que possam aceitar?

Ubuntu 13.04

Saiu a nova versão do Ubuntu, a distribuição de software livre que podem instalar nos vossos computadores. Podem substituir o vosso atual sistema operativo por esta distribuição e experimentar a liberdade de usarem aplicações que produzem formatos não proprietários de ficheiros antes de qualquer outro.

Aqui no Poupar Melhor já vos dissemos que gostávamos bastante desta distribuição. Também já vos falámos com algumas destas distribuições têm 5 anos de suporte, mas não precisam de se preocupar, pois continuam a poder usar as aplicações, mesmo que o sistema operativo não seja mais suportado. A grande vantagem deste tipo de sistemas operativos é que são todos baseados no seu essencial em software aberto que podem aprender com o tempo a adaptar aos vossos sistemas.

A comunidade contribuiu com trabalho sem custo para utilizador muitos dos utilitários que vêm nestas distribuições. A comunidade deu e nós devolvemos com o podcast do Poupar Melhor que é todo feito nesta distribuição e com ferramentas de software livre.

Crie uma consola com um computador e alguns smartphones

Super Sync Sports da Google

Super Sync Sports da Google

Se estiverem entediados com os amigos e quiserem rapidamente gerar uma consola multi-jogadores, juntem o Chrome dos Smartphone dos amigos que estejam na mesma rede WiFi com o Chrome num computador e desfrutem de uma olimpíadas de dar ao dedo.

A Google tem alguns dos nossos sítios preferidos da Internet por tudo o que está a mudar em torno da forma como a própria Google se coloca no mercado.

Há algum tempo que se fala de como a Google quer ter uma consola de jogos, que o Android era na realidade um sistema operativo para câmaras fotográficas, mas a Google tem mais ideias e está sempre a testá-las. Com o Super Sync Sports da Google estamos mais próximos de ver o que uma consola de jogos aliada a um smartphone pode dar-nos.