Blog do Eduardo Costa Meu blog pessoal

12Jan/130

Adeus velha guarda do iOS

Depois de meses longe do desenvolvimento iOS, fui pegar meus projetos que ficaram "na geladeira". Surpresa do dia: a Apple jogou fora o suporte ao armv6. Em português claro, isso significa que não existe mais suporte oficial para iPhones anteriores ao 3GS, iPod Touch anteriores ao 2ª Geração, etc. Enfim, todo mundo que não pode atualizar para o iOS 5 ou superior.

Para quem gosta de sofrer fazendo aplicações que suportem todas as versões do iOS desde o 3, isso pode significar o fim da tortura ou o início de uma tortura maior ainda (regada a várias gambiarras). Para quem gosta de falar mal da Apple, prato cheio.

Eu fico feliz com o fim dessa tortura e dúvida. Poder criar jogos com Shaders, aplicações com Storyboard, suporte a iCloud, Facebook, Twitter, etc. Sem me preocupar em colocar "ifs" para ver se o usuário tem ou não um celular novo. Ótima notícia.

Não encontrei estatísticas oficiais, mas desenvolvedores espertos publicaram gráficos e estatísticas. Os números são deprimentes para quem gosta de sofrer. No gráfico de pizza, a fatia da versão 4 não tem a grossura de um aspargo. Percentual não chega a 4%.

Hora dos números. Digamos que cada versão venda igualmente. Você sabe que isso é mentira, pois alguém que ainda mantém um dispositivo tão antigo realmente não deve gastar muito com aplicativos. Mas, mesmo assim, vamos supor que a venda é proporcional. Se vender dez mil com um aplicativo, parabéns! Mas somente quatrocentos seriam da versão 4. Isso não vai pagar o tempo que levou para adaptar o software para as versões antigas. Sinceramente, esse valor poderia ter sido economizado, ou investido em usar os novos recursos do iOS 5/6.

Eu adorei a notícia. Só fico triste por abandonar meu iPod Touch 2ª geração. Deu muitas alegrias, mas agora está praticamente virando peso de papel.

29Out/120

Atualização do Servidor

Depois de meses sem publicar nada, verifiquei que meu servidor usava uma versão realmente antiga do Amazon AMI, datada de novembro de 2010. Existiam duas opções: atualizar na própria máquina, ou criar uma nova do zero. Optei pela segunda pois a máquina nova fica mais limpa, usando o NGINX no lugar do Apache, e com uma partição específica para módulos Perl (muito importante para meus futuros projetos Catalyst).

A Amazon facilitou horrores minha vida: bastou instalar tudo como qualquer outro linux, tirar snapshots aqui e acolá, e mover o Elastic IP de uma máquina para a outra. Pronto! Sem dores de cabeça.

O NGINX usei pois promete ser mais leve e escalável que o Apache. Talvez seja, mas os CGIs integrados do Apache fazem uma boa diferença. O FastCGI é uma promessa muito interessante, mas consome uma quantidade razoável de memória.

Já a partição Perl foi uma idéia doida que tive. Tenho um ou outro script utilitário rodando, e gostaria muito de não levar horas instalando módulos novos. Explicação: uso a "t1.micro", a máquina mais barata de todas, que funciona bem para minhas necessidades, mas tem uma penalidade para processos que consomem CPU. Instalar módulos Perl requer compilação e testes, que consomem CPU.

O truque que bolei foi pegar um snapshot da partição Perl (configurada com o CPAN-mini), anexar em uma máquina mais cara e sem os limites de CPU, instalar os módulos lá, depois fazer um hotswap na máquina de produção. Isso só daria certo se a arquitetura das duas máquinas fossem similares (ou seja, mesma distro e mesma arquitetura) - o que não era verdade na antiga máquina 32bits e nas novas 64bits.

Em resumo, tudo funcionou magnificamente (apenas consumindo um tempinho para migrar manualmente as configurações do Apache para NGINX). Não tenho nenhuma saudade da época em que esse tipo de procedimento era um parto que durava semanas.

Categorias: cloud Sem Comentários
22Abr/120

Ludum Dare 23 entregue

Depois de um dia e meio, consegui entregar meu jogo no Ludum Dare 23. O tema dessa vez foi "Tiny World" (mundo minúsculo). Esse tema ganhou no quesito "abstração". Percebi que tem muitas pessoas entregando jogos envolvendo "mundo" ou "minúsculo", mas poucos conseguiram os dois. Espero ter sido um desses. Meu jogo é sobre moléculas. Você as monta em um ambiente "sandbox" ou tem que encarar os desafios de montar moléculas pré-determinadas. Ah, com direito a um tutorial. Se eu tivesse um ambiente melhor, teria caprichado mais na sonoplastia, pois achei que faltou colocar mais sons.

Se quiser jogar, pode ir no sitio da Ludum Dare (e depois conhecer outros competidores) ou clicar aqui.

20Abr/120

Ludum Dare 23

O Ludum Dare 23 (pronuncia-se "Ludum Daré") começa hoje, às 21h. Eu vou participar, mas infelizmente errei totalmente as contas de calendário, e acabei não me preparando. Para quem não sabe, é um evento para desenvolver jogos em menos de 48h. O tema é algo genérico (o tema do LD 22 foi "sozinho"), e cada um interpreta do jeito que achar melhor. Daí, os interessados jogam e votam.

Markus "Notch" Persson participou com um "minicraft", e, mesmo com toda a fama e fãs, não chegou nem nos top 20. Para mim, vai ser o equivalente a uma maratona: se eu chegar no final, já estou realizado. Ou, traduzindo para português, fico feliz se tiver um jogo pronto em 48h.

 

Categorias: geek Sem Comentários
8Abr/122

Tower Defense no Unity3D

Não sei se o Unity faz tudo ficar tão simples, mas a implementação de um jogo de "Tower Defense" parece ser tão trivial com ele. Não desmerecendo o trabalho de ninguém, mas uma engine poderosa resolve a maior parte do problema. Em menos de um dia, fiz o básico:

Com o Blender, fiz o mapa cor-de-Hulk e o caminho a seguir. Poderia ter feito a torre, a defesa e o inimigo também, mas estava com preguiça (afinal, é só uma "spike solution"). Com o Unity, a parte de detecção de proximidade está pronta. Minha parte foi escrever meia dúzia de scripts que, somados, não alcançam 100 linhas de código.

1Abr/120

Hello Unity3D World

Após algumas semanas estudando o Unity3D, decidi fazer um "Hello World" por conta própria. É um remake de um jogo retro de ping-XXXX cujo nome não posso falar ou a empresa que retém o copyright vai querer me processar. Acredite, pois foi o que aconteceu quando fiz isso na App Store.

O jogo é só uma experiência, de forma que não tem pontuação e deve ter tanto bug que eles já possuem cadeia-de-comando e briga entre gangues. Acredito que nenhum deles vai sair da Matrix para descer a lenha em seu HD numa cena entupida de efeitos especiais, mas vou seguir o contrato AS-IS (aquele que, resumindo, quer dizer: "não garanto nada"). De qualquer forma, clique aqui para jogar!

Próximo "hello world" eu prometo embutir na mesma página para facilitar.

22Mar/121

A dificuldade de viver na legalidade

Agora que sou um cara trabalhador, e que sofro para conseguir terminar qualquer projeto pessoal que me renda algum extra, julgo muito importante viver na legalidade. Isso envolve não consumir nenhum tipo de material pirata. Jogos, filmes, tudo. Eu reaprendi a ter o mesmo amor de um jogo comprado que eu tinha na época em que meu amado pai comprava meus cartuchos de video-game. Afinal, sei o trabalho que foi para os autores desenvolverem suas respectivas obras.

No Steam, compro sem problemas. Achei também um tal de GameTree com alguns jogos Mac bons também. Para iPad, eu tinha minha conta na Argentina - afinal, o Brasil tem que complicar e não aceita classificações estrangeiras, o que impossibilita a Apple de vender jogos aqui.

Eis que hoje descubro que meu cartão não é mais aceito na terra do Maradona. Tal qual acontece no EUA e outros países evoluídos, o cartão precisa ser nacional. Tudo bem, correto. Deve ser para prevenir fraudes e outros absurdos. Não obstante, lascou minha vida. Mais uma porta na cara de quem faz o possível para viver na legalidade. Sorte minha que no Uruguai ainda funciona: bastou mover a conta para lá e continuar feliz.

Estou vendo a hora em que só comprando gift cards do iTunes com simbólicas taxas de 10% (multiplique com o câmbio do dia). Dói... Resumo da ópera? O ditado "crime não compensa" está caindo em desuso.

Categorias: shoutbox 1 Comentário
3Mar/121

Como motivar funcionários, ao estilo Minecraft

Motivar profissionais é uma arte. São poucos os que conseguem manter um talento motivado e produtivo. Notch (também conhecido como Markus Persson), criador do jogo Minecraft, definitivamente sabe como fazer seus funcionários muito felizes. Mais felizes que personagens no fim de um filme de comédia romântica.

Quer saber a receita? Os passos são simples:

  1. Lucre três milhões de dólares. Esta parte é fácil. Se tem empresa que lucra bilhões, o que são míseros três milhões? Ainda mais quando você tem uma equipe de talentos.
  2. Agora vem o passo mais difícil de todos. Não, esse passo não envolve embolsar o dinheiro e gastar com algum carro esportivo ou com um jatinho particular. Pegue esses três milhões de dólares e divida entre seus funcionários. Sim! Pegue tudo e dê para eles. Sem esperar nada em troca vai ser um enorme diferencial.

Duvida? Olha o tweet do Notch para provar:

Os mais céticos devem achar que a Mojang (nome da empresa cujo dono é o Notch e cujo lucro em 2011 foi três milhões e cujos funcionários devem ser os mais felizes do mundo - literalmente) deve ser uma organização enorme, multinacional, com milhares de empregados. Mesmo se tivesse três mil funcionários, seriam mais de mil dólares de bônus. Oras, quantos brasileiros vão ter uma PPLR de mil dólares esse ano - ou seja, de mil a dois mil reais?.

Só para informar, a Mojang, com seu lucro de três milhões, só tem uns 25 funcionários para dividir a grana! E o Markus não fica numa cadeira de poderoso chefão numa sala especial no último andar do prédio, alisando gatos e oferecendo propostas irrecusáveis. Não. Ele continua desenvolvendo Minecraft junto com os funcionários. Tanto que, no tweet, ele menciona "outros funcionários" - nem parece que é dono da empresa. Aliás, nesta foto, você só reconhece o Notch se souber anteriormente quem ele é.

E, claro, a matemática final: se os três milhões forem divididos igualmente, cada funcionário vai receber uma "PPLR" de CENTO E VINTE MIL DÓLARES. Deixa eu repetir:  "PPLR" de CENTO E VINTE MIL DÓLARES. Mesmo com os impostos abusivos do Brasil, esse valor cairia para, muito por baixo, uns oitenta mil. Já pensou como seria bom receber mais de cem mil reais de bônus da empresa? Ainda mais sem metas ou qualquer outro "deadline" para resolver. O sujeito ganhou três milhões, poderia ter embolsado tudo, gasto com luxo e vida boa, mas decidiu dividir com a galera. Vai dizer que esse povo não vai trabalhar motivado ao extremo?

13Fev/122

Local para uma casa no Minecraft

Casa no Minecraft tem algo parecido com a vida real: a escolha do lugar é fundamental. Você começou um novo mundo e deseja fazer uma casa legal, né? Primeira dica: não escolha um lugar logo no primeiro dia. Seu primeiro dia deve ser apenas para sobreviver: obter madeira, fazer a mesa, fazer a picareta, arrumar carvão (ou fazer carvão, se não encontrar rápido), criar umas tochas e escavar uma mini-caverna. Qualquer coisa além disso você se arrisca a anoitecer e vir um monte de bichos diferentes para te matar.

Enquanto não amanhece, recomendo criar um kit de exploração com o que sobrou de material. Com paus e pedras (stick and cobblestone), crie uma espada, um machado, uma pá e uma picareta. A espada é para defesa contra os monstros que demorarem para desaparecer na manhã. O machado vai acelerar a obtenção de madeira. A pá e a picareta vão ajudar a escavar outras cavernas (pá para terra e picareta para as pedras). Complete o kit com algumas tochas e blocos variados. E, claro, recupere sua mesa e a fornalha (basta quebrar como qualquer outro bloco), para não precisar construir novas.

A partir do segundo dia, sua missão é encontrar um bom local. A rotina será a seguinte: explorar o mundo até o sol ficar no topo. Se não encontrar, obter um pouco de madeira e fazer uma nova caverna temporária. Com isso, você fica com o mínimo necessário para sobreviver até encontrar um lugar fixo, além de acumular material para a construção (ou para tapar buracos).

O tipo de local varia, mas o principal é ser plano. Terrenos assim te permitem expandir com facilidade, e a vista é muito melhor. Eis alguns exemplos do que estou falando:

O terceiro exemplo requer imaginação e muita devastação florestal. Não recomendo, a menos que sua casa seja feita com madeira (nesse caso, material não faltaria).

Antes de se alegrar com o lugar, é imprescindível dar uma olhada ao redor para ver se é seguro. Eu amei o lugar do segundo exemplo - tem até vacas para enfeitar o ambiente. Mas, infelizmente, ficava exatamente em cima de um complexo enorme de cavernas BEM fundas, daquelas que você morreria com o dano da queda. Isso é muito mau, pois, se escavar para baixo (para, por exemplo, trocar o piso), você pode cair e morrer de graça. Ou então ter monstro passeando pelo seu quintal direto, com aqueles barulhos chatos pra caramba.

Quando achar o lugar ideal, basta fazer uma última caverna para servir como QG enquanto constrói a casa e aumentar a segurança da área com tochas. Depois, é só se divertir com a construção.

13Jan/120

Spam flood

Por alguma razão que não conheço, meu blog foi inundado por spam. Tive que apagar 67 comentários desse tipo e agora fui obrigado a adotar o akismet. Talvez tenha sido eles, tentando vender o produto. O interessante é: nenhum dos comentários tinha links. O que me motivou a escrever foi ver no site do akismet a informação que blog spammers contrata mão-de-obra barata para fazer o trabalho dos bots. Isso explica a criatividade dos textos. Ou seja, mais uma fonte de renda exploratória para quem não quer um trabalho de verdade!