Comportamento, ciência, tecnologia, direito, política, religião, cinema e televisão, alguma controvérsia, algum bom senso, e um pouquinho de besteira, para dar um gostinho...

7 de out. de 2014

Virtualização, Linux e o futuro da Informática

Essa semana um projeto engavetado por muito tempo saiu da gaveta. Temos um pequeno servidor que roda, entre outras coisas, um serviço de HTTP. Esse servidor é na verdade um notebook antigo (Pentium 4, 512 MB de RAM, 40GB de HD) que estava "encostado" alguns anos atrás. Foi "ressucitado" instalando nele o Linux (utilizei o Gentoo) e funcionou muito bem, por alguns anos, até que resolveu começar a encrencar.

Esse tipo de hardware antigo é sucetível a problemas físicos (calor principalmente), e ele ficava ligado literalmente 24/7, então o problema é exacerbado pelo constante funcionamento das ventoinhas, que acumulam poeiras nos dutos, o que faz com que os heatpipes não conduzam tão bem o calor para fora do notebook. O acúmulo de calor, o desgaste de componentes físicos como o HD e o fato de ficar largado em um canto fazem com que, eventualmente, essa máquina padeça de uma lentidão crônica, e quando isso afeta os serviços prestados por ela, a irritação do administrador de sistemas começa a crescer.

o hardware onde tudo rodava tinha seus 8 anos. Já era velho quando começou a ser usado para este fim, e agora, mais 3 anos depois, deu o que tinha que dar. Não é preciso ser um gênio para saber que um computador moderno modesto leva vantagem de 30 para 1 numa comparação de poder computacional. Em resumo, estou usando um servidor que tem 1/30 da capacidade de processamento do meu computador.

A solução para quem analisa isso é óbvia. Virtualização. Desde que as máquinas começaram a acumular tanto poder computacional que os outros gargalos dominaram as razões de um sistema ser lento (entrada e saída, disco, memória, rede), a virtualização faz com que possamos utilizar um hardware físico para rodar vários hardwares virtuais. Com servidores é mais útil, pois é possível rodar vários serviços completamente separados, gerenciar via software. Atualizações, backups e segurança são mais robustas em ambientes virtualizados. A gama de usos é incrível e cresce a cada nova versão dos hypervisors e hosts. A possibilidade de rodar um sistema operacional inteiro faz com que problemas de compatibilidade sejam resolvidos e provê alternativas ao refactory e a manutenção de versões obsoletas e/ou com problemas.

Resolvi então "migrar" esse servidor para uma máquina virtual. Nessa hora o fato do SO ser Linux no servidor ajuda muito. O host é Windows e a ferramenta escolhida foi o VMWare Player (gratuito e facílimo de usar para o básico).

Criei um disco virtual de 120GB e com o auxílio de uma imagem ISO virtualizada como CDROM contendo um programa de cópia de dados (DiskCopy) e um conversor IDE->USB ligado ao HD original do notebook transferi todos os dados do disco do notebook diretamente para o disco virtual. A virtualização moderna é tão impressionante que disponibiliza o hardware conectado ao host (discos removíveis, impressoras, rede) ao guest sob demanda. Tentei bootar o sistema. Kernel panic. O problema é que virtualizadores modernos assumem padrões modernos como standard, e a máquina onde rodava aquilo ali era para lá de antiga. Ele criou o disco virtual como SCSI (nem SATA, SCSI mesmo), enquanto o disco original era IDE. Depois de trocada a opção, o sistema bootou e os serviços funcionaram. Uma olhada no kernel para mudar alguns drivers necessários e o sistema estava completamente funcionando.

Adeus lag, o sistema guest teve uma melhora de performance na ordem dos 300% e a possibilidade de se guardar o estado do sistema e restaurá-lo a vontade é simplesmente fenomenal. Isso ilustra o abismo, a disparidade monumental entre hardwares com poucos anos de diferença. Também ilustra a flexibilidade do Linux, que num ambiente completamente diferente, se comportou muito bem e precisou mínima intervenção para ficar completamente operacional.

Uma ótima experiência e mais conhecimento adquirido.

26 de set. de 2014

Elements - The Game

Eu sempre gostei de jogos, na adolescência tinha mais tempo e podia me dedicar HORAS a um jogo, "virar" ele, detonar, descobrir todos os segredos. Hoje em dia jogos tem que ter certas condições para que eu jogue:


  1. Tem que ser casual. Eu não tenho tempo nem vontade de gastar horas seguidas em um jogo. Uma partida não pode durar mais que alguns minutos, senão corro risco de perder a esposa, negligenciar o cachorro e me frustar.
  2. Tem que gravar o progresso. OK, então eu jogo algumas partidas. Duas coisas DEVEM acontecer: Eu tenho que ficar melhor no jogo, o jogo deve lembrar que eu sou bom nele. Não precisa necessariamente ter um sistema de salvamento, usuário e senha, mas algum registro tem que existir.
  3. Tem que ter algum tipo de multiplayer, nem que seja assíncrono. O melhor de um jogo é se tornar bom nele, e de nada vale se não puder contar para alguém ou tirar sarro.
  4. Tem que exigir certa destreza mental. Pode ter partidas melhores ou piores, mas tem que depender de mim, não da velocidade do processador e placa de vídeo.
  5. Tem que ser "abandonável". Se a vida real chama, eu tenho que ir. Ferre-se o jogo. Se eu não perder nada e não for penalizado por isso, melhor.
No final, FPSs ainda ganham (Unreal, CS) em muitos requisitos, mas encontrar um amigo para jogar é complicado. Eis que eu achei o Elements: elementsthegame.com.

Baseado em cartas e turnos, você cria um deck entre 30 a 60 cartas, com 12 possíveis elementos e cartas neutras, cada carta "custa" um certo número de quanta de um certo elemento, sua "marca" gera um quantum por turno, e você usa pilares, pêndulos e outras cartas para gerar mais. 100 HP e uma variedade de AIs para jogar contra.

Meu atual deck foi criado por uma usuária para batalhar contra o último nível, mas invisto mais no nível 4, onde ele tem mais sucesso. Você pode ganhar cartas raras, ou fazer up das cartas (todas as cartas do meu deck são ups).


É um ótimo passatempo, tem infinitas combinações (cada jogo é diferente), tem PvP assíncrono e síncrono (campeonatos, que eu ainda não participo). Vale a pena.

19 de set. de 2014

Ciência, fé e as novas gerações

Ciência é conhecimento. Embora muitas pessoas definam coisas totalmente desprovidas de conhecimento como ciência, indicando seu estudo, aqui me refiro a ciência como os produtos do método científico. Ou seja, para ser ciência precisa ser baseada no método científico. Qual o motivo? O conhecimento adquirido através desse método evolui com o tempo, não é imutável, e é a base para quase todos os avanços disponíveis hoje em dia.

Tudo que usa eletricidade é ciência, por exemplo. Podes imaginar tua vida sem eletricidade? Pilhas, baterias, transformadores, alternadores, dínamos, todos dispositivos envolvidos na transformaçãi e disponibilização de energia para tornar sua vida melhor.

Suas roupas, cosméticos, móveis. Tudo produzido a partir de máquinas, cujo funcionamento é baseado em ciência. Mesmo que tudo fosse produzido a mão, ainda assim, seria conhecimento adquirido através de observação e teste.

Mesmo uma criança é um natural cientista. Ele testa, extrapola limites, brinca com sua imaginação e curiosidade. É necessário muita escola e doutrinação para matar o cientista que existe dentro de toda criança. Muitas figuras de autoridade ditando regras absurdas, não observáveis, não testáveis, para encher uma cabeça infantil de culpa e matar seu instinto avidamente curioso.

Então, quando a ciência disser algo, acredite nela. Se não houver evidência científica, não tome como verdade. Já falei sobre fé aqui, sobre a negação da observação de maneira que a crença possa ser mantida. Quando respostas fabricadas respondem suas perguntas, se perde a busca do conhecimento que nos levou a essa revolução tecnológica que vivemos. A cada "amém" dá-se mais autoridade a uma figura que nunca levou a nenhum avanço. A cada "experiência pessoal" se perde a curiosidade de enteder o universo. A cada guru, padre, pastor, rabino ou profeta, perdemos milhares de mentes que poderiam conceber grandes avanços em vários campos, melhorando nossa vida.

Quando você levantar de sua cama produzida industrialmente, colocar seus chinelos, usar sua escova e pasta de dente, tomar café, pegar seu carro e ir trabalhar, lembre-se: as pessoas que inventaram tudo isso não o fizeram através da fé, mas sim através de perguntas, busca de conhecimento científico e experimentação. Foram as dúvidas de suas mentes e não as certezas de sua fé que levaram ao avanço. Entenda que a ciência proporcionou praticamente tudo que você usa. Lembre-se que assim que a ciência, curiosa e atrevida, tentou fazer perguntas cujas respostas prontas da fé não respondiam com o rigor necessário, ela foi maltratada, abandonada e perseguida. Não cometa a mesmo erro.

Não podemos mais ser hipócritas a ponto de utilizar todos os avanços e ainda assim marginalizar a ciência quando ela questiona instrumentos de dominação baseados em crença.

Eu sempre digo, respeito as pessoas, tolero suas crenças, mas tente preservar a curiosidade de seus filhos, não imponha a eles suas crenças. Não doutrine suas crianças. Não deixe a fé matar a curiosidade. E principalmente, não mate as perguntas com respostas baseadas em fé. Não imponha suas verdades enlatadas, baseadas em crenças, para perguntas cujas respostas estão lá fora, esperando para serem encontradas. Sua criança pode um dia nos levar a essa resposta, e criar algo realmente incrível, imponente, lindo, deixando como herança para todos os seus descendentes: conhecimento científico.