quinta-feira, 24 de novembro de 2011

Problemas de Lógica

Hoje, por acaso, vi um tweet do Lucas Radaelli com um desafio de lógica e terminei lembrando de um outro sobre penachos de ouro que postei anos atrás e deixei sem resposta. Então resolvi compilar aqui algumas coisas relacionadas... E a resposta do problema lá em baixo, no finalzinho.

O mesmo desafio pode ser encontrado no item 14 de um site esquisito enunciado assim:
As galinhas de penacho dourado 
Era uma vez um galinheiro muito curioso. Todas as galinhas possuíam um lindo penacho dourado, o que era motivo de muito orgulho para elas. Tanto que, se alguma galinha descobre que perdeu seu maravilhoso penacho, no mesmo dia que ela descobre ela se mata. Mas só se mata à meia-noite, em um horário em que geralmente as galinhas estão dormindo. 
Porém, descobrir que perdeu o penacho pode levar muito tempo. Elas não conseguem olhar para o próprio penacho e não se comunicam de forma alguma uma com a outra. Mas são inteligentíssimas. O brilhante raciocínio lógico que elas têm é a única maneira delas descobrirem que perderam o penacho (pobres galinhas, se não fossem tão inteligentes viveriam mais). 
Certo dia, Tio Patinhas descobre esse galinheiro. Ganancioso como ele é, já pensa em ganhar dinheiro com esses penachos. é, já pensa em ganhar dinheiro com esses penachos. Chama seu sobrinho, o Pato Donald, e o manda roubar alguns penachos. Assim ele faz. Enquanto todas as galinhas dormiam, sem que ninguém percebesse, o malvado roubou os penachos de sete galinhas. Mas na fuga, com medo que alguém acordasse, deixou cair um penacho, que ficou no meio do galinheiro. 
Passados alguns dias, todas as galinhas que perderam o penacho se matam, numa mesma noite. Pergunta: quantos dias se passaram e como elas descobriram?
E também um desafio muito similar um amigo meu encontrou numa entrevista do google (e duvido que esse amigo sequer lembre que foi ele quem me mandou o link - até por que tive que atualizar o link que já não existia mais e encontrei um novo), no item 9, traduzido com o google translator e corrigido manualmente:
Todo homem em uma aldeia de 100 casais traíu sua esposa. Toda mulher na aldeia sabe instantaneamente quando um outro homem que não seu marido traiu sua respectiva esposa, mas não sabe sobre seu próprio marido. A vila tem uma lei que não permite adultério. Qualquer mulher que pode evidenciar que seu marido é infiel deve matá-lo naquele mesmo dia. As mulheres da aldeia nunca desobedeceriam a esta lei. Um dia, a rainha da aldeia visita e anuncia que pelo menos um marido foi infiel. O que acontece?


Resposta para os Penachos de Ouro

No fundo é a mesma resposta para todos esses desafios. Neste caso: 2 dias. No caso das galinhas (que, aliás, é um enunciado mil veze melhor do que o que eu fiz além de ser mais correto com o que eu hoje lembro do que escutei originalmente), 7 dias.

O difícil é entender por que. Vou lidar primeiro com o caso mais simples que enunciei.

Começemos imaginando a situação com somente 1 penacho roubado que caiu no chão. Todas aves verão 5 aves com penacho e 1 sem, exceto 1, que verá 6 aves com penacho e saberá que ela está sem, com certeza. As outras estarão na dúvida mas sabem que se for somente 1 ave que perdeu o penacho, ela se matará no mesmo dia seguinte pois ela tera certeza. Então aguardam o dia seguinte para tomarem ação e em somente 1 dia somente 1 ave já se matou.

Como no caso foram dois penachos, são 5 aves vendo "2 sem e 4 com" e 2 aves vendo "1 sem e 5 com". Todas estão em dúvida, mas todas sabem a situação anterior, então todas esperam o primeiro dia. No segundo dia todas estarão vivas, então as 2 aves que viram somente 1 sem já sabem que elas também estão sem penacho, afinal estava uma esperando a outra se matar e não aconteceu por que uma viu que a outra estava sem. No dia 2, as 2 se matam.

Daí a lógica só se repete. O mesmo vale pra 3, 4, 5... No caso das galinhas a resposta é 7 dias.

No caso do desafio do google todos homens morrem em 100 dias, seguindo a mesma lógica acima. Mas li uma outra interpretação que não entendi direito de que "nenhuma esposa mata o marido". Algum comentário? :-P

quarta-feira, 20 de julho de 2011

Europa 2012

Se ano que vem o mundo acabar, pretendo estar no coração dele e ver tudo de camarote! :P

Tenho bons motivos para planejar uma viagem pra Europa em fevereiro ou setembro do ano que vem, quando começa o ano letivo e fica mais fácil encontrar cursos. Pretendo ir para aprender francês.

Graças a uma breve conversa com um dos "embaixadores" do couchsurfing São Paulo, resolvi começar a escrever todo o planejamento num lugar centralizado e pontuar cada problema que preciso resolver. Só que farei isso em inglês: http://www.cregox.info/caue/tripping

Se alguém tiver interesse de saber mais ou, principalmente, puder opinar e ajudar a pensar, basta acessar o link! Obrigado. :-)

sábado, 2 de julho de 2011

When dropbox isn't enough

Basically, its status won't always be green. This past week, their service going down without notice, due to server maintenance, screwed big time on a critical time of a project I was participating. Granted, it's not like it was their fault, they even state on the brand new TOS that Dropbox is Available “AS-IS”. But it did teach me the lesson to never ever rely on them. Something I should have learned without needing to experience such failure - or had been better prepared - I know.

Still, Dropbox is great and I advise everyone to have at least a free account there (with referral +250mb!)

For this purpose, I searched for alternatives and fallback possibilities. Some promise to be better, but none seem to have it all I wanted, which is basically the dropbox opensourced and gitable. SparkleShare was the closest to that, but it's too fragile the way it is right now, without any steady income seems like. Anyway, here were my final candidates:

- SpiderOak (referral gives +1gb) this is the best replacement promise. Simply looks awesome.

- SugarSync (referral) I even had an account there already, and it's the most popular alternative. Gotta try it.

- Tonido I may even buy the plug when I get the time to handle all the importation (it took me almost 6 months just to buy me a fonera, after 2 years waiting in vain for a brazilian launch), but it also seems to not offer any sync so it's my last resort.

I'm not sure yet if I'm going to choose one or try them all together and see which one survives better. I already use crashplan (rather than carbonite) and time machine for backups, so I'm not too worried about that.

And then, I wanted also a 3rd fallback place for projects. Of course I should have that always ready and, the funny thing is, this was the first chain of projects in the past 12 months that I've used no Version Control whatsoever (except for dropbox'es), and the last one was the first one that gave me issues - not on versioning but on syncing (or lack of). So I went ahead and also researched for that. I considered using mercurial, but gave up because GIT is just the way to go from now until the next VCS paradigm (first there was CVS, then SVN, now it's GIT).

Problem is, there is no good free private git repository I could find, except maybe for codebase. So I'm considering using it along with bitbucket. And, for whenever project I can leave it on open, I push it also to either google code or github - the two major and thus more reliable ones. And I'll always have them all git'ed in my machine first and foremost, with a good-yet-to-be-found git client, which probably will be SmartGIT + Terminal.

Here, I'm simply documenting all those findings for my own further reference. And I shall update this post once I've tested a few of them.

quarta-feira, 4 de maio de 2011

domingo, 24 de abril de 2011

Lost or stolen iPhones (perdidos ou roubados)

Below I'm just trying to recover my phone and talking about my bitter experience - all specific to Brazil.

For a more global useful info and a manifesto in english, please check this link within Apple.



So este ano ja passei pela experiencia de perder um iphone 2 vezes. Ate entao nunca tinha acontecido com celular algum antes. O mais curioso eh que, supostamente, se tinha algum aparelho que devia ser facil de achar, deveria ser este! Gracas ao Mobile Me Find My Phone entre tantas outras ferramentas. Mas nada. Se voce esta contando com isso para encontra-lo, esqueca. Eh mais facil o Rewarding Return dar certo do que qualquer aplicativo idiota. Quem robou vai apagar tudo. Quem encontrou pode nao conseguir recarregar a bateria, ele pode estar danificado pela perda / queda e/ou ele pode querer apagar tudo mesmo e tomar posse do aparelho, achando que isso eh justo. Nao sei se realmente eh justo, mas simplesmente nao gosto da ideia.

Enfim, acredito que pelo menos com aparelhos celulares temos uma forma de reduzir a frustracao, e utopicamente ate elimintar a criminalidade por tras deles: caso quem estiver comprando um aparelho verificar antes, pelo numero serial e IMEI, se o mesmo esta bloqueado como perdido. Reforcando, isso sera apenas uma utopia ate conseguirmos efetivamente inutilizar totalmente um aparelho perdido. Ainda nao sei se isso acontece hoje na pratica. Afinal, por que continuariam existindo tantos relatos de iPhones perdidos e jamais encontrados? Se, sequer, servem no minimo como um PDA e ate wifi e somente faltando a funcao de telefone, ja seria uma justificativa. E por isso mesmo, nem isso deveria funcionar uma vez que foi bloqueado.

Escrevo aqui nao somente para desabafo, mas tambem para tentar coletar mais informacoes a respeito do que podemos fazer quando o pior acontece. Entao agradeco a qualquer dica que puderem fornecer nos comentarios!

Para quem tambem perdeu seu celular, a unica dica que aprendi ate agora eh, caso voce tenha anotado o IMEI (ou no caso do iPhone, basta encontra-lo no iTunes), preencha um Boletim de Ocorrencia (ainda que dizem nao ser obrigatorio, vc precisara dele cedo ou tarde) e peca o bloqueio do aparelho na sua operadora. Supostamente isso bloqueara toda funcionalidade de celular do aparelho alem de incluir o aparelho no tal do CEMI (e talvez outras providencias mais). Mesmo assim, no meu caso liguei em todas as 4 operadoras pedindo o bloqueio. Mas nada disso parece ser muito garantido e ate agora de nada me serviu.

Para quem quer se previnir pra valer, a ideia do site acima parece a unica efetivamente boa: colocar em uma etiqueta (ou gravar em auto-relevo, como farei no proximo) os dados para contato e oferecer alguma recompensa caso devolva.

Como eu desconheco uma maneira de verificar os dados sobre um aparelho roubado com certeza (o link ao lado supostamente lista somente aparelhos bloqueados), estarei por enquanto disponibilizando os dados dos meus "aqui na internet".

iPhone 3G com dead pixel, dia 4 de fevereiro roubo proximo ao trem da cidade jardim
Serial: 83845AELY7H
IMEI: 011772007403752
ICID: 89550311000306550064

iPhone 3GS em perfeito estado, dia 17 de abril furto na virada cultural
Serial: 87015HPK3NR
IMEI: 012154007873962
ICID: 89550311000306550072

Caso uma boa alma encontre algum deles, por favor entre em contato:
11 99883655 ou caue.cavalheiro@gmail.com

sábado, 5 de março de 2011

Icon for PNGShrink

since I use it on my finder's toolbar, I was missing a distinguished icon. So I made one from that "Spread" screenshot: http://i.imgur.com/Yfjiz.png - just open on preview, select all, copy and paste into the finder's pngshrink's info. for more detailed instructions, use your mac's own help. it's there.

in reference to:

"kainjow@kainjow.com"
- kainjow (view on Google Sidewiki)

quinta-feira, 10 de fevereiro de 2011

Secondary Password

another security measure I'd love to have anywhere, specially on google, would be setting up a secondary password with restrict access (i.e. not being able to change passwords) so I can use it anywhere I consider not safe (i.e. not on my machine) which will keep at very least my strong and most important password safe (which is enough for me). I wonder why I've never seem this done anywhere so far!

in reference to: Official Google Blog: Advanced sign-in security for your Google account (view on Google Sidewiki)

quarta-feira, 2 de fevereiro de 2011

go to spam

just missing a "g then p" shortcut for "go to spam" - I love keyboard shortcuts and those from gmail are great even on default!

in reference to: Keyboard shortcuts - Gmail Help (view on Google Sidewiki)