As emocionantes aventuras de um sysadmin linux na procura pelo uptime perfeito!

Hell, it’s about time

Posted: maio 19th, 2007 | Author: coredump | Filed under: Gaming | Tags: ,

Nem precisa explicar né?

[]s
core

tags: starcraft, starcraft2, blizzard

2 Comments »

Uma caixa cheia de coisas.

Posted: março 29th, 2007 | Author: coredump | Filed under: Gaming, Pessoal, TV | Tags: , , ,

E então. Como eu não posto nada desde meu fatídico aniversário resolvi fazer um post meio gigante (pelo menos eu acho que vai ser…) sobre tudo que anda acontecendo.

Aniversários

E eu fiquei mais velho no dia 22 de fevereiro. Fiz uma festinha lá em casa e chamei a galerinha mais chegada, nada muito grande até porquê meu apartamento não é uma casa de campo :) Foi divertido e eu acabei dormindo meio que bêbado demais.

Depois disso, foi a vez do Pedro este mês. A Li organizou uma festa bonita e foi bem divertido. Dessa vez fizemos a festa no salão de festa do nosso prédio e não nos sogros como ano passado, o que facilitou um monte de coisa. Pedro se divertiu horrores com os amigos(as) e com o bacana da animação infantil. Na verdade, ele se divertiu tanto que não queria ir embora :)

Agora eu estou na espera porque abril é aniversário da esposa. Massa né? Fevereiro, março, abril. Agora tem de planejar o próximo aniversãrio da família para janeiro ou maio.

Orgulho

Então, a Li tem feito artesanato em feltro agora nas horas vagas. Como eu sou babão eu tinha de falar. Ela tem a manha nessas coisas mesmo (além de outras, claro ;) ). Repare para a palavra “pilustrika” que eu requeri praticamente a patente.

Trabalho

Então. Não é que eu mudei de emprego denovo? Acabei voltando para meu antigo trampo, e voltando a trabalhar com kov, yves, mais o pessoal do Asilo Arkhan. Por mais que a equipe da Cobra fosse legal, nada bate voltar a trabalhar com as pessoas que eu respeito e gosto.

Existem outros motivos que fazem o emprego legal. Não é o fato de não ter problemas, porque isso sempre tem em qualquer lugar. É sobre mexer com segurança, itil, linux (debian, graças a djaga) em um ambiente que dá aperto, constantemente mudando e tal.

Certificações

Por mais que eu odeie certificações ‘de caixinha’, o Yves me convenceu (convenceu nada, ele é meu chefe, ele mandou) a fazer a LPI. E depois de algum tempo nós dois resolvemos estudar para tentar a CISSP em setembro. É um projeto de vida para esse ano, mesmo já tendo que lidar com faculdade, trabalho e família. Até setembro temos de estar preparados para 250 questões sobre Segurança da Informação, numa prova de 6 horas. Sobre a LPI, mês que vem devo fazer as provas para o nível 1, e depois pensar durante alguns anos a mais sobre o nível 2.

Coisas antigas

Hoje no trabalho o kov lembrou de alguma coisa sobre mensagens antigas de email em listas de discussão, e acabou achando o código de um programa antigaço dele. Tudo surgiu porque eu estava lendo a história do RequestTracker.

Não é que eu me lembrei disso aqui: http://freshmeat.net/projects/chapasswd/ que foi meu primeiríssimo projeto na freshmeat/sourceforge. Manipulação de strings em C! O código é horroroso de feio, e ainda tem um DEFINE no meio apontando pro meu home. Dureza né? Mas legal, pelo menos dá pra ver que com certeza em 2001 eu estava tentando virar gente (programando em C!).

Futebol

Aos domingos eu tenho corrido atrás de uma bola junto com o povo do trabalho. Vocês não tem noção como é ridícula a minha situação. Tentar aprender futebol depois de 28 anos é dureza. A vantagem é levar o Pedro para brincar lá na quadra enquanto a Pri vigia a praguinha. Ele já consegue chutar e acertar o gol com mais precisão do que eu… :)

World of Warcraft

Então. Continuo jogando esse vício. A diferença é que agora quase todo mundo da equipe joga também. Tem de se policiar durante o dia para o assunto não degringolar e virar aquela barafunda de todo mundo falar de jogo e nada de trabalho. Para desespero do Yves, que é o chefe desse bando de viciado e não joga (muito).

Séries

Heroes e NCIS estão paradas até abril. Neste meio tempo eu e Li assistimos as três temporadas de House e estamos emparelhados com a série nos EUA.

Também assistimos os últimos episódios de Stargate SG-1. Lamentável que a série tenha sido cancelada, mas pelo menos deviam ter terminado com umas historinhas melhores, os últimos episódios estavam detestáveis, intragáveis e difíceis de se assistir. Agora é esperar os filmes que devem sair este ano e a nova série, que vai se chamar Stargate Universe, que deve estrear em 2008. Ah, e esperar a nova temporada de Stargate Atlantis, que eu nem sei quando começa.

E então, acho que é isso. Tá tudo bem, eu to feliz com o trabalho e com a família, tá tudo indo bem em tudo… Tá massa.

intel

3 Comments »

Burning Crusade: Forçando o balance na marra.

Posted: janeiro 18th, 2007 | Author: coredump | Filed under: Gaming | Tags: ,

Desde os tempos iniciais de World of Warcraft, toda a discussão tinha se baseado na dicotomia do cenário: de um lado, a Horda. Ex-controlada por demônios com suas raças tribais e de tradições shamanistas. Do outro, a Aliança com seus humanos de motivação míope e seus fanáticos Paladinos.

Isso se mostrou no desenho das raças e personagens também. As cidades da Horda são basicamente tribos ou assentamentos comparadas as obras de engenharia anã e élfica das cidades da Aliança. Até o cabelereiro da Horda é ruim, na verdade, visto que as opções de escolha de cabelo para os personagens na hora da criação é lamentável.

O que a Blizzard não esperava era que isso fosse causar tanta desigualdade entre as duas facções. Em alguns realms (é como o WoW chama seus múltiplos servidores), a proporção chega a ser 80% dos jogadores na Aliança e 20% na Horda. E isso causa alguns probleminhas, principalmente no Player versus Player (PvP).

Como resolver isso? Bom, a Blizzard criou duas raças novas na expansão (The Burning Crusade, lançada dia 16 de janeiro), os Draenei e os Blood Elfs. A minha opinião é que eles pediram para os times de desenho de personagem criarem as novas raças para suas respectivas facções e depois simplesmente inverteram o resultado. Ou seja, a raça com a cidade bem desenhada e bons cabelereiros acabou na Horda! Isso resultou em:

  • A Horda agora tem Elfos. Tem de se viver com isso. Por mais que sejam uns elfos meio malucos, continuam sendo insuportáveis elfos.
  • A Aliança agora tem uma raça desengonçada, feia e gigante. E isso é bom. Era dureza ter de escolher entre 4 raças, uma menor que a outra (sendo que gnome não podia ser levado a sério).
  • A Horda agora tem Paladinos.
  • A Aliança agora tem Shamans.

Assim, a Blizzard espera que mais pessoas vão para a Horda, jogar com seus elfinhos paladinos, eventualmente estabilizando a população dos realms.

Ontem a noite eu instalei a expansão e criei personagens nas novas raças, minhas impressões:

  • Draenei:
    • A cidade deles é o local de um acidente com uma nave extraplanar. Nada podia ser mais feio que uma plain crash.
    • As fêmeas draenei são mais desengonçadas que as anãs, o que me fez desistir de criar um personagem sério com elas.
    • Draenei são tão altos quanto Tauren. Vai ser interessante nos Battlegrounds.
    • Por algum motivo bizarro, eles tem uma cultura misturada de Índia com Rússia.
  • Blood Elfs:
    • As fêmeas Blood Elfs são lindas. Não existe combinação na hora de criar personagem que faça elas ficarem feias.
    • Os machos Blood Elfs parecem personagens de Anime.
    • A área dos Blood Elfs é soturna e muito bem desenhada. Cheio de detalhes como vassourinhas que varrem sozinhas o chão, coisinhas mágicas aleatórias.
    • As danças (/dance) de ambos os sexos são muito engraçadas.

Agora eu estou esperando chegar no nivel mínimo para entrar para a área nova da expansão, Outlands, onde dizem ter uma cidade realmente neutra e muita, mas muita coisa legal.

Aparentemente esta expansão cataliza os 2 anos que a Blizzard teve pesquisando sua base de jogadores com relação ao que fazer para o jogo ficar melhor, e realmente implementaram suas observações. Um review positivo, até agora.

intel.

tags: world of warcraft, burning crusade, draenei, blood elf

4 Comments »

A interface do WoW e a boa programação

Posted: dezembro 22nd, 2006 | Author: coredump | Filed under: Gaming, Programação | Tags: ,

Primeiro, vejam o screenshot abaixo, é a última versão da minha UI (User Interface) no World of Warcraft:

From Screenshots

Se você der uma olhada no álbum inteiro, tem alguns screenshots das versões anteriores, ou de como eu fui adaptando até chegar ai. Eu mudei muita coisa pelo simples fato de não conseguir enxergar bem a interface padrão da Blizzard: Fonte muito ruim, items mal colocados, informação escondida…

Aos interessados, os addons que eu uso neste screenshot são:

  • ag_UnitFrames (Barras de Health/etc..)
  • Bartender3 (Barra de Botões)
  • Cartographer
  • Chronometer (Timer de habilidades como Polymorph)
  • Clearfont2 (Coloca uma fonte legível no jogo)
  • DeuceCommander
  • eePanels (Cria painíes como o atrás dos botões e do chat)
  • ElkBuffBars (Mostra os buffs como barras de progresso)
  • EQCompare
  • Fubar com vários ‘fu’ (Barra no topo com informações)
  • oCB (Casting Bar)
  • oCD (Cooldown Count)
  • Prat (Chat com cores, nome de canais abreviados, etc…)
  • SimpleCombatLog (Combat Log mostra informações de forma legível)
  • simpleMiniMap (Mini Mapa quadrado, sem bordas)
  • TinyTip (Tip com detalhes mais legíveis)
  • Cryolisis (A bolota no meio com um monte de coisas legais pra Mage)

Quem conhece o WoW sabe que uma das grandes sacadas do jogo são os Addons, que são mini-programas para manipular aspectos e a interface do jogo. Esses addons são limitados e por isso não chegam a ser cheating porque não conseguem fazer coisas milagrosas ou quebrar regras.
Uma coisa interessante sobre os addons de World of Warcraft é que eles são programados numa linguagem chamada Lua, criada e mantida na PUC-Rio.

A biblioteca Ace2

Sempre que eu me referir a “Ace2″, considere que eu estou falando da Ace versão 2 e de sua versão anterior, “Ace1″ ou simplesmente “Ace”.

Depois de algum tempo, as pessoas que programam começam a notar que várias coisas que elas fazem são repetidas, e como em todo ambiente onde se compartilha código, começam a notar que existem formas melhores de fazer de tudo. O pessoal da Ace2 fez exatamente isso: pegou um monte de funções que a maioria dos addons precisa usar e criou uma biblioteca. Isso inicialmente criou um monte de reclamações: para se instalar um determinado addon, era necessário baixar DUAS coisas (a biblioteca e o addon propriamente dito) e ainda tinha de se manter as versões de tudo sincronizado, além disso, certos jogadores acham que biblioteca é desperdício de memória. E pode ser, se usado incorretamente como veremos daqui a pouco…

Então o pessoal da Ace2 provou ser realmente hacker de respeito. Criaram um programa rodando em windows para cuidar de baixar, atualizar e remover os addons baseados em sua biblioteca, e criou um ambiente de desenvolvimento com fórum, servidor svn e trac para todos que fossem usar a biblioteca. Assim, eles foram criando novos addons e, quando necessário, clonando addons famosos usando a Ace2.

From Screenshots

Mas porquê, você pergunta? Se já existe um addon que faz o trabalho, porque esta cisma em criar um novo, só pra usar a Ace2?

World of Warcraft, Lua e o Garbage Collection

Addons são programas que rodam dentro do jogo. Ou seja, eles gastam memória. Quanto mais dados ou imagens um addon gerencia, mais memória ele usa. Para gerenciar esta memória, a linguagem Lua inclui (como toda linguagem moderna) o recurso de Garbage Collection. Além disso, estamos falando de código reentrante, que é uma coisa velha como a serra (existe desde os anos 80).

O maior motivo que se tem para que vários addons sejam portados ou clonados usando a Ace2 é simplesmente pelo uso de memória. Um exemplo:

Usando addons independentes:

Addon 1 – 100 kb
Addon 2 – 100 kb
Addon 3 – 100 kb

Suponhamos (hipoteticamente) que estes 3 addons tenham cerca de 20% de código parecido, ou seja: todos precisam manipular texto, todos precisam mostrar mensagens na tela e todos precisam criar uma janela colorida em alguma parte da tela. Mesmo assim, eles estão implementando estas funções de forma diferente, cada um usando seu próprio código, e mesmo que eles copiem o código entre si, os addons são compartimentos diferentes. Assim sendo, o total seria de 300 kb de uso de memória.

Usando uma biblioteca:

Biblioteca 1 – 20 kb
Addon 1 – 80 kb
Addon 2 – 80 kb
Addon 3 – 80 kb

O que acontece? Os 20% de código ‘parecido’ foi movido para uma biblioteca compartilhada pelos 3 addons. As funções de texto, mensagens na tela e janelas são comuns e por isso precisam ser criadas apenas 1 vez. A utilização total da memória é de 260 kb.

Então, por isso as pessoas pedem tanto para que (se possível) todos os addons usem a Ace2: eles podem chegar a economizar 40% de memória. Toda a minha interface acima gasta 24MB, contra quase 40MB que ela utilizava antes, usando addons similares, não-Ace2.

Então, se você estiver interessado em testar, dê uma passada na página do Ace2, nos fórums, leia sobre os addons disponíveis e você vai ver que até os grandes famosos como o CT_Raid tem contrapartes mais leves e tão boas quanto usando o Ace2.

Se você não é nerd, hacker, ou curioso, o post acabou aqui.

Mas…

Se você é…

Como a Ace2 usa o Garbage Collector do WoW de forma inteligente.

Pois é. Isso aqui:

Biblioteca 1 – 20 kb
Addon 1 – 80 kb
Addon 2 – 80 kb
Addon 3 – 80 kb

É a situação ideal que acontece DEPOIS da primeira passagem do Garbage Collector do WoW. A Ace2, para evitar problemas, inclui SUAS bibliotecas (porque Ace2 é na verdade um conjunto de mini-bibliotecas) em todos os addons que usam ela. Na verdade, quando você inicia o jogo, é mais isso aqui que acontece:

Biblioteca X do Addon 1 – 20 kb
Addon 1 – 80 kb
Biblioteca X do Addon 2 – 20 kb
Addon 2 – 80 kb
Biblioteca X do Addon 3 – 20 kb
Addon 3 – 80 kb

Para um total de 300kb, como no caso anterior. WTF!!! Como eu disse, para cada addon, a biblioteca foi incluida para evitar dores de cabeça. Só que eles são muito expertos. Como as bibliotecas tem as mesmas assinaturas, o Garbage Collector sabe que na verdade isso tudo é cópia de uma mesma biblioteca. Na primeira passagem ele passa o rodo na memória duplicada e deixa apenas uma versão ativa, chegando no cenário ideal. Isso acontece de forma transparente para o jogador, de tempos em tempos, mas é uma informação interessante de saber… Principalmente porque existem alguns addons, como o Warmup que medem a “velocidade” da carga de addons, e eles podem ser enganados por esta característica da Ace2. Ele acha que esta memória toda que está sendo usada vai ser desperdiçada, enquanto na verdade ela vai ser aproveitada na primeira passagem do Garbage Collector.

Então, se você nerdou até aqui, o post acabou e você já descobriu algo novo, eu espero. :)

intel

5 Comments »

Todo Suikoden dói

Posted: novembro 6th, 2006 | Author: coredump | Filed under: Gaming | Tags: , ,

Então.

Acabei Suikoden. De longe o V deve ser o melhor dos que eu já joguei da série (e eu já joguei quase todos). Infelizmente não consegui fazer o good ending dessa vez porque me faltou paciência, mesmo assim, o final já foi de doer. Vieram-me lágrimas aos olhos ao ler o resumo das 108 stars of destiny.

Basicamente, a série Suikoden se baseia numa lenda chinesa que chama “As 108 estrelas do destino” ou coisa que o valha. Teoricamente, cada jogo tem um herói (que você escolhe o nome) e durante o jogo pode encontrar 108 outros personagens que vão ajudar no destino do mesmo. Alguns são simples de conseguir, como simplesmente perguntar “Então, entre para nosso exército!”, outros dependem de coisas como nível do personagem ou quantos outros personagens você já conseguiu recrutar, e tem os que beiram o ridículo, como uma personagem que eu tive de enfrentar num mini-game de pescaria que era muito difícil. No final do jogo passam várias telinhas com o resumo do que aconteceu com cada personagem depois que o tempo passou.

Esses RPG de VG tão ficando cada vez mais fodões nos roteiros.

Então. Onwards para o Final Fantasy XII. Um jogo que ganhou o score de 40/40 da Famitsu não pode decepcionar, pode?

intel.

Technorati Tags: , ,

7 Comments »