13
Abr

De cabeça pousada a sanidade escoa pelos dedos e transforma-se numa torrente de ideias que fluem mas de nada presta.
Sentimentos transformam-se em palavras ininteligíveis, uma sopa de letras sem sentido que borbulha e ofusca a realidade.
Ó mente que não sente, apenas pensa, de que serás feita tu?
Esta consciência inconsciente indomável, em constante contacto com a sua própria insanidade questiona-se mas a nenhuma conclusão chega.
O que é isto de estar vivo e consciente? De que será feito? Serão todas as esturturas materiais suficientemente complexas providas da sua própria forma de consciência, sendo a consciência mais ou menos reduzidas em função da complexidade da esturtura? O que é a empatia?
Como aplicar os métodos científicos para encontrar um caminho?

Pergunto-me, sem nenhuma luz ao fim do túnel, sem muitas esperanças de um dia a ver.
Finalmente cedo ao cansaço, submerjo no caos e deixo-me levar pelas marés e tudo já parece fazer sentido.

13
Abr

De cabeça pousada a sanidade escoa pelos dedos e transforma-se numa torrente de ideias que fluem mas de nada presta.
Sentimentos transformam-se em palavras ininteligíveis, uma sopa de letras sem sentido que borbulha e ofusca a realidade.
Ó mente que não sente, apenas pensa, de que serás feita tu?
Esta consciência inconsciente indomável, em constante contacto com a sua própria insanidade questiona-se mas a nenhuma conclusão chega.
O que é isto de estar vivo e consciente? De que será feito? Serão todas as esturturas materiais suficientemente complexas providas da sua própria forma de consciência, sendo a consciência mais ou menos reduzidas em função da complexidade da esturtura? O que é a empatia?
Como aplicar os métodos científicos para encontrar um caminho?

Pergunto-me, sem nenhuma luz ao fim do túnel, sem muitas esperanças de um dia a ver.
Finalmente cedo ao cansaço, submerjo no caos e deixo-me levar pelas marés e tudo já parece fazer sentido.

14
Mar

Cansei-me da hesitação e do pensamento sem acção.
Que se foda quem não gosta, quem não faz; Que se fodam os insultos que poderão fazer pelas costas.
Nos campos de batalha mais inesperados aparecem também as mais importantes e a inacção recheada de medo significa derrota certa. Tomar uma atitude demonstra tomates, esteja esta certa ou errada. Posso ir com eles a tremer mas vou sem hesitar!

Os erros de outrora são os risos de agora – e irei rir-me bastante quando estiver no topo.

E assim encerro este capítulo da minha vida, com bastante calo e muita vontade de combater.

Mãos à obra!

05
Mar

Imposto especial

Acabei de reparar que a já pago o novo imposto especial sugerido pela troika, já aparece na minha conta da luz.
Para além de querer felicitar o governo por estarem cada vez mais céleres na implementeção de medidas, aproveitava para deixar uma outra sugestão de imposto:
E que tal se criassem uma taxa sobre a mentira?
Assim como na factura da luz pagamos €0.001 por cada kW/h gasto, talvez fosse interessante se tivessem de pagar €0.001 por cada mentira proferida.

24
Jan

A solução para os problemas do mundo

Ora bem, o mundo anda fodido, o que se faz?
1) Judeus
O estado de Israel foi criado há uns anos e os judeus todos foram para lá recuperarem as sua terra sagrade, porque assim Deus quis.
Será que foi obra de deus ou obra do homem?
Eu cá tenho as minhas suspeitas. A minha conspiração é a seguinte: Melhor do que os apanhar pela rua e meter uma estrelinha obrigatória na roupa é fazer com que eles emigrem todos para o mesmo sítio.
Os americanos queriam acabar com aquela merda de raça, mataram uma dúzia de palestinianos e puseram-nos naquele cantinho.
Quando houver a oportunidade, mina-se aquilo tudo com bombas nucleares e *puff* nos noticiários todos será “Erro informático causa disparo de centenas de ICMB, consequentemente causando extreminação dos Judeus”.
Vai lá o programador à televisão, diz “ehhh páaa, desculpem lá, programei mal a cena e olha, deu buffer overflow e aquilo explodiu”.

2) Pretos
Pois, os pretos tão todos em África mas não queremos bombardear aquela merda pelo seguinte:
-África é grande, bombardear aquela merda sai caro (não encontras mísseis nucleares a passearem na rua, pois não?); e mesmo que encontrasses, a poeira da radioactividade nos ia foder a nós também. Pois.
-África para além de grande tem muitos recursos naturais.

Atão como é que se mata essa gentalha? Simples!
Aumenta-se o problema da fome e faz-se com que os pretos passem ainda mais fome. Depois era só distribuir uma cadeia alimentar de frango assado em pontos estratégicos em África.
“Eh cambada, tão a dare frangassad ali n’esquina”

Chegava lá a pretalhada toda esgaziada pa comer aquela merda e *puff*`cianeto. Todos a espumar como se tivessem a ter ataques epilépticos, tipo cães raivosos e o caralho.

3) Ciganada (Deixei os mais idiotas p’ra último)
Pronto, ciganos. É de conhecimento geral que aquela espécie de chupistas de abonos do estado que cheiram a cigano e emporcalham as ruas com a sua presença têm medo de sapos?
Porquê é que têm medo de sapos? Sei lá caralho, já pensei no assunto mas é aquela questão que está ao mesmo nível de “Porquê é que tenho o fetiche X?”.

Adiante, era pôr a sic, tvi, etc. a anunciar na TV: “Infestãção de milhões e milhões de sapos alastra desde o Sul de Portugal até o Norte a uma velocidade impressionante”. Era a ciganada toda a dar com o calcanhar no pescoço pó norte a fugir, chegavam lá *pum* *pum* *pum* pessoal todo de caçadeiras, maças e o caralho.

4) E a merda que sobrar?
Sei lá caralho, sugiram vocês nos comentários.

19
Jan

*

Sempre pensamos na vida como uma analogia a uma jornada, como um peregrinação, que tinha um propósito sério no fim e o objectivo era chegar àquele fim – sucesso ou o que seja, ou talvez o céu após a morte. Mas não compreendemos o seu verdadeiro significado durante todo este tempo: Isto é algo musical, e é suposto cantarmos ou dançarmos enquanto a música está a ser tocada.

-Alan Watts

17
Jan

alguma merda

Ora bem, estava a caminho de casa com ideias de escrever alguma coisa, como já não me lembro o que era para escrever, vou debitar merda pó teclado.

Talvez possa começar por me apresentar: Sou bipolar, às vezes estou bem, outras estou mal. Tenho acessos de raiva quando vou à caminho do trabalho e param o carro numa rua de linha contínua para deixarem os filhinhos, no meu tempo eu ia à pé que me fodia.

Não gosto de pessoas aborrecidas, aborreço-me quando estou com elas. Muitas vezes conto piadas que não têm piada nenhuma e rio-me até me aperceber que não tinha piada, aí fico envergonhado. A vergonha é maior quando estou sozinho.
Não gosto de estar sozinho porque sou aborrecido, fico entediado comigo próprio e então saio com os meus “amigos” para ver se os chateio. Note-se que pus amigos entre aspas – eu não tenho amigos, ninguém gosta de mim.
No outro dia começaram a conspirar contra mim nas minhas costas enquanto eu ouvia vozes!

Tenho muitos amigos e eles gostam todos muito de mim, menos quando tenho mudanças súbitas de humor, mas eles aceitam-me como sou e gostam de mim na mesma.

Enfim, chega de falar de mim, vamos falar de qualquer outra merda…
………………………..
…………………………
Txé esquece lá isso ó man, não sei falar de outra coisa, só sei falar de mim, pois para mim eu sou tudo e os outros são apenas uma ilusão. Eu sou o centro do mundo.

Ah! Tive uma ideia, vamos falar de… coisas que me irritam:
-Fico fodido quando vejo pessoas que só sabem falar delas e não deixam que eu fale de mim, nessas situações geralmente abstraio-me por completo da realidade, recolho-me no aconchego do meu pensamento e começo a pensar no que irei dizer sobre mim quando a pessoa se calar.
-Não gosto de advogados e ainda não sei muito bem o porquê
-Não gosto de ter de me levantar de manhã cedo, mas também fico irritado quando acordo depois do meio-dia e sinto que desperdicei o meu dia a dormir
-Não gosto de ter de arrumar a casa
-Não gosto de ter a casa suja
-Não gosto de não ter dinheiro suficiente para ter uma empregada doméstica
-Não gosto quando tenho as unhas dos pés grandes e estas rompem-me as meias, depois fico com o dedão a sair-me pela meia e é uma sensação estranha
-Não gosto de ter de pensar muito, por isso vou parar de escrever esta lista.

Pronto, é isso, já revelei o suficiente sobre mim, agora digam vocês o que acham de mim.

(Comentários que demonstrem desaprovação serão removidos, o IP será recolhido e tomarei todas as provisões para corrigir a pessoa em questão, sem olhar a meios)

29
Dez

AI Challenge

Ora bem, servirá este post para descrever um pouco como me correu a minha participação no AI Challenge, por questões de poder interessar a outros participantes o post será em inglês.

 

For a start here is my bot http://aichallenge.org/profile.php?user=7746

It ranked 230, with  first place in my country.

About the strategy, well I will try to explain my development through the contest and hopefully it will give some insight on it, but mostly there is nothing great about it, and probably you will give up reading this because it will be more a report of the development than of the strategy itself, but I’m no good writer.

NOTE: After writing it, yes it is more like a report, if you want a basic idea of what I did scroll to the bottom and skip the great wall of text.

 

Language choice:

This one was not exactly a linear thing, since my latest development projects were done with Java and some PHP, I was leaning towards them, but I started with python because I wanted to learn a little more about it. After getting annoyed with the indentation (it’s something I can’t get used to, especially since I move my code around a lot), I proceeded to PHP just to see how it would go (I was a little sick of the amount of work I had done in Java) but then I found myself thinking this will be rather slow, and I need a lot of stuff that Java already has, I even considered C++, but then some years have passed since I wrote some serious C++ code, so I ended up with Java.

With a language decided and set, I proceeded to go for the tutorial so I could get some better comprehension on the problem, and from there went with my own changes.

Since some of the class names were too confusing for me, I went and renamed them for something more understandable by my brain these are the ones I remember:

Ants -> AntManager

Aim -> Direction

Ilk -> TileType

I created a simple logger class so I could output everything I wanted as debug, but not wanting to go around enabling and disabling it, I made sure it was only turned on when 2 command line parameters were set, so I would set them while testing but on the server they were not used.

First thing I wanted to do was improve path finding for my ants, being somewhat forgotten of my AI classes, remembering that A* was a good solution I proceeded to implement it, but I ended up not doing an exact A* and it may even be something else but I’m happy calling it A*. The biggest difference was that I only used the distance returned by getDistance for the value of a tile, not counting how much it costs to reach it, yes it had some drawbacks on some cases but other than that it was great.

Something I thought from the start was something to keep the path for my ants and to make them move around without having to re-evaluate the path unless it became obsolete, so I created Missions, these were thought to be of several types, but I ended up using only one of them missions with target, so each mission would have an ant, a target tile and a list of directions (N,E,S,W), and some callback functions that would depend on the target etc. And used it for food.

Next I went into the exploration, I changed a lot in the starter code so I would have a new TileType, UNKNOWN the idea was to get an random unknown tile and send an ant with a mission there, on the update for tiles I would unset them as unknown into the proper type and when setting the vision too it got a little confusing but it worked. And then used the missions again for attacking enemy hills, yes my ants were blind and would go in a single line and could be easily killed by 2 smart enemy ants.

Having time usage issues, I proceeded to add cache to my path finding, if I knew the problems it would bring, I would have never done it. Anyway some versions later and lots of bugs found and fixed.

Now only one thing was worrying me, combat and hill defense. For defense I added a few static ants around my hill since other players were using it and in cases of lone attackers it would be enough.

Combat, not knowing much where to start, started by counting enemies around my ants and if they were less they would run, not great but better than nothing. With no more ideas I went into the forums in a search for inspiration and I ended up finding some interesting, collaborative diffusion.

After reading about it I decided to give it a try, and proceeded to code it, threw everything I had done for food gathering, exploration and hill razing and went with diffusion, after some hours with the diffusion parameters and some debug output into a file that I would plot in octave so I could see the diffusions, I ended up with some nice values, while trying to make everything easy do adjust in the future.

Now with better movements around my ants were lacking combat again, having diffusion tried to use it for combat but there was not much success, so I proceeded to brute force the combat solutions but that was too heavy and gave up on it. No more ideas means forums again.

In the forums I found two ideas, a1k0n and memetix ideas, memetix code being simpler was implemented first but I didn’t have much success with it and proceeded for a1k0n idea, after a lot of frustration by not being able to make it work (probably because of a bad evaluation) I ended up with something that worked here is how it was, first I would move my ants towards the enemies, then I would reset each ant position at a time and evaluate every move it could do (using full combat resolution, yes it was heavy, but it was the only thing working for me) and the rest was based on a1k0n idea, increment the dirichlet distribution etc.

A nice improvement I added was enemy stillness detection. If an enemy does not move after some number of turns I consider it static and do not move it when evaluating combat.

Now my bot was better and was nearly taking first place in Portugal, so I was pretty much happy with it, also the time was running out, but I had a small problem, two or more ants would go for the same piece of food because of diffusion, so my last improvement was to move my ants when going for food with my old A* code, but still use diffusion for exploration and enemy hill attack because it was faster.

Cleaned up my code and uploaded it I was at version 22 at the moment, it reached first in Portugal and was able to climb up to rank 150 with around 71 skill if I recall correctly.

In the last day I did some cleanup to the code, but knowing it is a terrible idea to change something and not test it properly, even though it was a small change and useless code removed I decided not to take a risk, in the TCP servers it was fine but not being able to test in the official servers those changes never made it and version 23 never existed.

 

So in the end what my bot was doing was:

- Food gathering via a sort of A* algorithm.

- Exploring (just into unknown tiles) and hill capture via diffusion.

- Defense, static incremental number of ants around the hill according to the number of ants I had.

- Combat based on a1k0n idea (thank you for that) with some help from diffusion to move the ants into the enemy at the start of the evaluation, I had some convergence problems but moving them into the enemies helped a little. Note that even the static defense stopped being static when in combat.

This pretty much sums it up.

 

Thoughts about the contest:

I learned a lot and being the first competition of this kind that I participate and I’m pretty happy with the results.

Thanks to all the contest organizers for making such a great competition.

To everyone who shared their ideas specially a1k0n, Memetix, and icefox (names at the forums) and all others who shared their ideas with others who didn’t had any ideas (like me).

 

03
Dez

engenharia^-1

Quase a descobrir o mistério; A excitação é grande mas já cambaleio de sono.
A imagem confirma o que suspeitava desde o início: O Raise Data Recovery for XFS utiliza o algoritmo SHA-1 em parte da sua validação das serials – agora falta saber como.
Tentei encontrar o crack ou keygen para isto mas não havia em lado nenhum, por isso tenho de ser eu a fazer.
Uff é preciso uma paciência do caralho.

Bonito, não é?

Já não me lembrava de ter tanto prazer há bastante tempo. Começo a ficar com a sensação que o melhor lugar para mim é o mais próximo o possível do hardware.
Webs, clouds e modas recentes são bonitas e dão dinheiro mas não me dão metade do prazer.

EDIT: Antes que me esqueça, aqui fica um aviso para os paneleiros moralistas: Eu quero que tu te fodas se achas que é incorrecto. Pega nos teus argumentos, enfia-os no cú, dá duas voltas e mete uma rolha.

27
Nov

Um pensamento


Até hoje tenho um enorme problema em compreender o porquê de Hitler ter ordenado que atacassem a União Soviética, quando eles eram amigos. A sério, foi o que fodeu tudo no 3º Reich.
Ao meu ver, teria sido muito mais inteligente se tivessem cedido mais tropas aos Afrika Korps e afastado o Rommel da sua liderança (esse era muito maricas, não ia limpar totalmente); conquistado o _continente_ inteiro, começando pelos países mais pobres (Serra Leoa, Angola, etc), onde existe abundância de recursos naturais – e acabando no Egipto e outros países com mais poderio militar.
Os pretos seriam submetidos a trabalhos forçados até à morte, onde explorariam todos os recursos naturais possíveis. Como eles já estão habituados à escravidão, não seria nada difícil.
Era descer por ali abaixo e limpar aquela escumalha toda.
Se assim tivesse sido feito, hoje em dia não teríamos pretos, mas NÃO! Para além de não terem limpo os judeus com sucesso, também não limparam os pretos – que deveria ter sido uma prioridade.

Pronto, é isso…
Visto que a crise começa a afectar o mundo inteiro, mais cedo ou mais tarde vamos ter uma 3ª Guerra Mundial, então deixo o meu conselho.





 

Maio 2012
D S T Q Q S S
« Abr    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Links patrocionados