You are currently browsing the archives for the Em curso category


Usar as ligações de telefone para fazer uma rede de dados doméstica

Por causa daqueles problemas que temos agora na modernidade dos equipamentos ligados à Internet, já não é a primeira vez que ando aqui às voltas da transmissão Wifi e da melhoria do sinal. A solução aqui de casa depende de um repetidor de sinal WiFi, um equipamento WiFi que se liga por WiFi a outro equipamento WiFi, permitindo assim enviar o sinal através do corredor da casa onde as paredes não o permitiam.

Esta técnica tem no entanto algumas desvantagens teóricas. Primeiro a retransmissão em equipamentos de uma só antena é feita com a mesma antena alternando entre envio e receção, o que só por si reduz substancialmente a capacidade de comunicação sem fios do equipamento. Depois os equipamentos ocupam e sobrepõem o mesmo espectro radio-elétrico com sinal do mesmo tipo, criando uma saturação de sinal que reduz a qualidade da comunicação. Por fim, existe a noção que todas estas radiações radio-elétricas são nocivas para o ser humano, o que definitivamente a ser verdade, reduz bastante a vontade de manter estes equipamentos à nossa volta, embora seja facilmente resolvido desligando os equipamentos WiFi.

A possibilidade de instalar equipamentos de comunicações sobre rede elétrica também poderia ser uma solução, mas aí seria mais um equipamento. Este equipamento iria também abrir a porta a um conjunto de equipamentos que estão ainda a dar os primeiros passos, pelo que têm também alguns dos problemas que os equipamentos recentes tinham há uns anos atrás e começámos a ver ressurgir ultimamente.

Uma conversa entre amigos levou à hipótese que talvez fosse possível transformar uma rede de cabos para ligar um telefone lá de casa pudesse ser usada para ligar um router WiFi por outro por cabo. Isto permitiria não só reduzir a quantidade e força usada pelos equipamentos WiFi para comunicar entre eles e daí para a Internet, mas talvez, se colocado estrategicamente, ligar alguns dos equipamentos clientes por cabo, reduzindo ainda mais  o tempo de resposta para esse equipamento.

Teoricamente o feito é possível porque o cabo que tipicamente usamos para as nossas redes de dados tem um conector que para uma rede de 100 Megabit por segundo usa apenas 2 dos 4 pares, um total de 4 fios, exatamente o mesmo número de fios que se pode encontrar na ficha RJ11 utilizada para os telefones lá de casa. Esta teoria tem várias soluções possíveis que vão desde substituir as tomadas RJ11 na parede por tomadas RJ45, manipulando os fios internos do cabo de telefone e assim criar uma ligação entre 2 das tomadas. Outra solução será modificar antes os cabos que ligam do router à parede, menos modificações, mas obriga à compra de fichas e cravador RJ45.

Vamos experimentar e depois conto-vos como correu.

Compilar o Servidor Minecraft MCServer no Raspberry Pi

MCserver

MCserver

Cá em casa o Raspberry Pi (RPi) está sempre ligado para servir os seus vários propósitos. Isso levou-me a pensar numa forma de usar o RPi para manter um servidor de Minecraft. A ideia já não era nova. Já tinha pensado nela quando jogávamos Minecraft PE.

Encontrei na internet quem já se tivesse entretido com isto, e melhor. Alguém tinha preparado um servidor Minecraft totalmente em C++. A diferença entre o C++ e o Java é essencialmente que enquanto o primeiro foi feito para ser escrito uma vez e compilado em qualquer plataforma, o segundo foi feito para ser altamente portátil e poder correr em qualquer máquina. A grande vantagem de compilarmos na máquina em que vamos executar é que podemos obter ganhos de performance uma vez que o código é otimizado.

Tendo a performance como objetivo, pareceu-me que a opção de compilar o meu executável do C++ no RPi poderia valer a pena.

As instruções de compilação do MCserver no site são simples:

  1. Abrir um terminal para o vosso RPi (ssh ip-do-rpi);
  2. Autenticarem-se;
  3. Instalar as ferramentas de obtenção e compilação do código: sudo apt-get install clang git cmake build-essential;
  4. Obter o código da última versão:
    1. git clone https://github.com/mc-server/MCServer.git
      git submodule init
      git submodule update
  5. Preparar os ficheiros e compilar o servidor:
    1. cmake . -DCMAKE_BUILD_TYPE=RELEASE
      make .

No site as instruções dizem-nos para gerar os compilados com a opção -j 2 ao make, mas na minha experiência não acontecia nada com este argumento. O argumento j indica quantas tarefas podem ser feitas de cada vez, o que no caso do RPi parece ser apenas 1, tornando o argumento desnecessário.

No site do MCserver avisa que o processo de compilação no RPi vai demorar muito tempo, o que é verdade. No meu caso o RPi demorou mais de meia hora para atingir os 50% do processo de compilação. Passadas 2 horas e 51 minutos havia um executável pronto a testar no diretório MCserver.

O sistema aparenta funcionar como um servidor normal. Depois de arrancar cria as pastas que não encontrou e inicia um mundo com uma configuração por defeito. A documentação sobre a configuração pode ser encontrada numa Wiki e há também um forum para quem desenvolve.

Depois de lançar o servidor é disponibilizada uma página para administração no port :8080 do endereço do servidor. Aqui vão poder configurar as permissões dos visitantes ou iniciar modificações ao jogo, tal como fariam com um mod/plugin de Minecraft.

Para juntar os camaradas de aventura só têm de lhes dar o endereço do servidor, mas até que tenha sido feita uma verificação de segurança, não aconselho a disponibilizarem o servidor na Internet, isto é, a outras pessoas que estejam fora da vossa rede doméstica.

Minecraft server no Raspberry Pi

MC-Server - Servidor Minecraft em C++

MC-Server – Servidor Minecraft em C++

Isto vai de mal a pior. Já não jogo ao Minecraft com os miúdos, mas dedico-me a ler como fazer para lhes manter um servidor sempre ligado onde possam ter as suas aventuras e talvez um dia me juntarei, como fazia com o Minecraft PE.

O A.Sousa já me tinha contado como o Minecraft usava os recursos de forma pouco inteligente. Partindo do principio que esses recursos eram em parte consumidos para gerir o mundo onde as aventuras aconteciam, retirar o peso ao computador de gerir esse mundo seria a uma das formas de partilhar uma parte da carga com outra máquina.

O Raspberry Pi tem uma versão reduzida de Minecraft. Infelizmente esta versão não é compatível com as versões que correm nos computadores das crianças.

Procurando na internet, foi possível descobrir como correr o jogo como servidor. No How to geek podem ver como montar um RPi dedicado para o Minecraft, mas implica colocar o RPi em overclock, uma técnica que permite acelerar a velocidade de processamento, mas pode levar a que o sistema danifique o cartão de dados onde correm o sistema operativo.

De acordo com as instruções, vão ter de instalar o Java no RPi. Se como têm o vosso RPi a fazer de centro multimédia, servidor de ficheiros e TimeCapsule, a perspetiva de ter de fazer overclocking e ainda por cima juntar-lhe o Java não é nada animadora.

Encontrei uma solução que passa por instalar o MCServe, uma versão do servidor de minecraft em C++. A grande diferença entre ser Java ou C++ é que o Java pode ser corrido em qualquer máquina ou configuração, o que não pode ser tão otimizado, enquanto o C++ é suposto depois de escrever para uma máquina poder ser compilado em qualquer outra máquina, com algumas restrições. Também é dito que, compilando o C++ na própria máquina, o resultado pode chegar a otimizações de quase o dobro da eficiência, logo, mais rápido.

O MCServer é fácil de instalar, mas exige alguns conhecimentos de instalação e configuração de sistemas Linux. A minha tentativa foi feita obtendo a versão mais recente e compilando-a. Neste momento ainda corre no RPi ao lado do XBMC, da partilha de ficheiros e do TimeCapsule, mas as crianças reportam que há vezes que caem para o fundo do mundo e morrem e outras em que têm dificuldade em colocar blocos na construção se não moverem o boneco.

Minecraft no Magalhães

Portátil Magalhães

Portátil Magalhães

Isto de jogar Minecraft está a tornar-se um vicio sério. Agora descobrimos cá em casa que a versão dos tablets que andávamos a jogar não dava tantas possibilidades para a aventura como a versão do computador.

Não faltou muito para que as crianças me enchessem o juízo até terem todas as possibilidades que os bloquinhos lhes podiam dar. A versão de computador permite ligarem-se a servidores com modificações ao jogo original. Essas modificações estão para além de meras mudanças cosméticas. Minijogos, jogador contra jogador, aventuras do tipo fuga da prisão ou ilhas mágicas no ar são algumas das possibilidades que as modificações do Minecraft dão aos seus jogadores.

A possibilidade de jogarem os dois miúdos aqui em casa estava por isso resumida aos computadores cá de casa, que não são propriamente conhecidos por serem o  mais recente que o mercado tem para oferecer. Em contrapartida, o mais velho foi agraciado em tempos com um portátil Magalhães.

Só que este jogo, embora tenha o que aparentam ser um conjunto de gráficos com renderização de baixo custo para o processamento, é na realidade um problema. O jogo corre em Java, já de si um ambiente exigente e sem sinais de melhoras, mas o seu código não é propriamente conhecido por estar otimizado.

O computador Magalhães vem de origem com apenas um gigabyte de memória e por isso o primeiro passo foi substituir-lhe a memória por uma de 2 gigabytes. Em termos de processador, a capacidade do Magalhães 2 está hoje ao nível de um tablet com um processador Atom a 1,6 Mhz e a placa gráfica aparentemente não cumpre a norma Open GL 2.0, o que só virá a complicar isto tudo dentro de algum tempo. Até lá, tinha de conseguir por o Minecraft a funcionar no Magalhães.

Uma pesquisa rápida no Google apontou-me para uma solução que, embora tenha resolvido o problema em parte, ainda não permite jogar com uma animação fluída. A solução encontrada foi instalar o Optifine, uma modificação aos ecrãs de configuração do Minecraft que permite desligar uma série de pequenos nadas que só tornam o jogo mais lento.

O Optifine, entre outras coisas, apresenta opções de configuração explicadas para remover a animação da água, as partículas como chuva ou nevoeiro e isso permitiu que o jogo pudesse ser jogado no Magalhães. A animação é gerada com poucas imagens por segundo, mas funciona. Aparentemente em casa do A.Sousa também há pequenos viciados e o A.Sousa já experimentou outras soluções que terão agora também de ser exploradas no portátil Magalhães.

Segundo o A.Sousa, um dos problemas do Minecraft é estar sempre a ler e escrever para o mesmo ficheiro em disco, uma operação tipicamente lenta nos discos rígidos derivado da sua velocidade de leitura e escrita, mas também porque nem todos temos dinheiro para os substituir por discos SSD. Havendo memória disponível, seria muito mais inteligente o jogo carregar o tal ficheiro para a memória e guardá-lo em disco rígido só no final.

A solução em Windows para esta situação passa por utilizar um gestor de ram disk ou ram drive. Vamos experimentar. Sempre deve ser mais barato que substituir o disco rígido por um disco SSD.

Jogar Minecraft e perder horas

Minecraft PE

Minecraft PE

Eu me confesso. Tenho jogado Minecraft com os miúdos tardes inteiras durante o fim de semana. Esta maravilha de empilhar e destruir blocos é uma espécie de Lego digital. Não fosse o ponto positivo deste jogo ser jogado em grupo com grande necessidade de comunicação para coordenação de esforços e diria que foram na realidade horas perdidas.

As construções no modo criativo são algo digno da imaginação mais louca. No modo criativo todos os materiais estão disponíveis. Podemos fazer com eles o que quisermos. Gerar os habitantes que entendermos. Podemos até voar.O modo que preferimos é o modo de aventura. As aventuras são criadas no mundo digital aleatoriamente.

Os jogadores iniciam sem qualquer equipamento base, por isso a primeira tarefa é construir ferramentas essenciais à sobrevivência e cavar uma toca para passar a primeira noite a salvo das criaturas maléficas que povoam o mundo. Aranhas, esqueletos, zombies, bichos verdes que explodem e seres gigantes que se teleportam são os nossos inimigos naturais.

O grupo organiza-se para apanhar as matérias primas para construir portas, tijolos, ferramentas de metal, armaduras e outras coisas necessárias e depois parte à aventura. Procuramos minérios nobres dentro das cavernas onde os zombies e esqueletos se escondem durante o dia para não morrerem torrados pelo sol.

Estas aventuras guardam-se no estado em as deixamos e podemos continuar no dia seguinte. Por um lado há a arrumação facilitada que não tínhamos no nosso tempo. Por outro falta a total liberdade de imaginação que os nossos brinquedos não eletrónicos tinham. Mas a imaginação fala mais alto e as crianças exigem que apareçam coisas conforme as regras delas.

Querem criar uma economia no jogo e a possibilidade de interagir com os cidadãos do jogo para comprar e vender os materiais que encontram. Isto é possível na versão para Windows e OS X adicionando modificações a que chamam plugins, mas não é possível nos Tablets onde jogamos.

Outra coisa que também não é desejável é manter um tablet ligado o dia todo para que os amigo visitem o mundo que criámos. Isso fez-me procurar uma solução para manter um mundo ativo no Raspberry Pi. As soluções que encontrei até dizem que isto é possível, mas as limitações do RPi tornam a utilização do mundo difícil. Falta de memória e capacidade de processamento estão na origem dos jogadores perderem a ligação várias vezes, o que torna a jogabilidade impossível.

A falta de suporte do criador original do jogo para os servidores externos ao próprio jogo também é conhecida e bugs que afetam estes servidores mantém-se por vários meses. O jogo foi também comprado recentemente pela Microsoft, o que deixa o seu futuro algo instável.

Atualmente mantenho em modo experimental uma das soluções ativas que consegui colocar a funcionar tanto no Windows como no OS X. O PocketMine-MP é um servidor Free Open Source para o Minecraft Pocket Edition que permite manter o mundo ativo fora do Tablet e também instalar as desejadas modificações. Este servidor, tem ainda alguns defeitos, por isso espero que em breve, quando estes estiverem resolvidos, vos possa vir convidar para o visitar.

O que dizem os bancos sobre poupança

Gráfico- Informação sobre como poupar disponibilizada pelos bancos

Gráfico – Informação sobre como poupar disponibilizada pelos bancos

Quando fomos ver o que dizia nos 33 bancos em que procurámos informação com os vocábulos relacionados com poupar, a descrição ficou como se segue:

  • 18 não podiam ser considerados como tendo temas sobre poupança ou não existe informação online;
  • 10 referem-se a esta questão apontando o utilizador para contas poupança;
  • 4 dão dicas genéricas sobre poupanças várias;
  • 2 apresentam simuladores;
  • 1 liga a questão da poupança à atribuição de crédito.

Hoje vamos dar-vos os detalhes sobre o que encontrámos para poderem avaliar por vocês.

Os 10 bancos que se referem a poupar como contas poupança foram:

  1. Banco Best;
  2. Banif;
  3. Barclays;
  4. BBVA;
  5. BES/Novobanco;
  6. BPI;
  7. Caixa Galicia Portugal;
  8. Crédito Agricola;
  9. Millennium BCP; e
  10. Santander Totta.

Os 4 bancos em que identificámos dicas genéricas sobre poupança foram:

  1. Caixa Geral de Depósitos: apresenta informações sobre dicas úteis para poupar no dia a dia, possibilidades de partilhar ideias e sugerir temas;
  2. Montepio: sugestões de poupança para crianças e dicas poupança reforma;
  3. Santander Totta: sugestões para poupar com os mandamentos da poupança; poupança no dia a dia (água, luz, supermercado…); Constituição do fundo de emergência e Contas poupança; e
  4. Banco Cetelem: sugestões de poupança, nomeadamente para água, luz e supermercado.

Os 2 bancos que apresentavam simuladores que ligavam ao tema eram os seguintes:

  1. Banco BIC: simulador crédito à habitação e crédito pessoal;
  2. Banco Popular: Crédito à habitação, Crédito aos consumidores e Cartões de crédito, Pensões (Segurança Social), Simulador da poupança.

O banco que liga o tema de poupar com a atribuição de crédito é o Banco BIC, que também apresenta o tema da poupança fiscal associado.