Arquivo mensais:maio 2007

Fazer teatro de obras de ficção é errado?

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Religion is the root cause of all terrorism

Os manifestantes acreditam que o museu trata a religião de uma forma extremista. Eles reclamam ainda que o local nega a ciência, pois classifica as histórias da Bíblia como uma verdade absoluta.

O Museu da Criação foi desenvolvido por um diretor de um estúdio de cinema americano e traz cenários realistas, bonecos animados de pessoas e dinossauros em tamanho real e muitos efeitos especiais. Os visitantes podem ver uma réplica do que seria a Arca de Noé e até animais que habitariam o mundo quando Adão e Eva foram expulsos do Jardim do Éden, histórias clássicas da Bíblia.

De acordo com a direção, o Museu da Criação é um programa para toda a família e foi planejado com o objetivo de fazer mais pessoas acreditarem que Jesus Cristo existiu e deve ser considerado o criador da vida.

Notícia completa no Terra.

Eu gostaria de saber se por acaso eu sou o único anti-religioso que acho os manifestantes idiotas ou se vocês concordam comigo. Afinal, há algum problema de criar representações de um livro? Isso me lembra aqueles indivíduos que criticam O Código da Vinci por ser uma história inventada. Em algum ponto na história do mundo foi errado criar obras de ficção? Adorarei ler o seu comentário.

Hey, Arnold!

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Arnold Schwazernegger
Governador da Califórnia

Na terça-feira, Paris Hilton iniciou uma campanha na Internet pedindo a seus fãs que assinem uma carta de perdão a ser enviada ao governador da Califórnia, Arnold Schwarzenegger.

(“Não estou acima da lei”, diz Paris Hilton”)

Sou só eu que ainda não sou capaz de visualizar o exterminador do futuro como governador de um estado americano? Prefiro não escrever o que a minha mente maliciosa pensou sobre o que Paris poderia oferecer para Arnold nessa carta.

Em que Deus você acredita?

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Uma pesquisa do Datafolha publicada hoje na Folha de São Paulo mostra que 97% dos brasileiros acreditam em Deus, 2% são agnósticos e 1% são ateus. Às vésperas da chegada do Papa Bento XVI no Brasil, 64% dos brasileiros se dizem católicos, 10% menos do que numa pesquisa realizada em 1996. 22% são evangélicos, 6% não possuem religião, 3% são espíritas e os outros 5% pertencem a outras religiões.

Acreditar em Deus… A minha professora de história me escreveu há algum tempo uma reflexão muito interessante:

Pessoalmente tenho dificuldades em definir “no que” acredito porque minhas concepções de divindade não condizem com algo que tenha uma forma definida… Não acredito no sagrado como uma coisa, mas convivo diariamente com coisas que, creio eu, são manifestações do sagrado… algo meio panteísta, entende? Não creio em um deus antropomórfico e centralista…creio que sou responsavel por meus atos e não abdico de nada por medo de um juízo final… Tenho dificuldade, no entanto, em definir com exatidão o que seria esse deus-tudo.

Falar em deus é totalmente subjetivo. Deus pode representar bons sentimentos, bons pensamentos, pode representar a humanidade… Creio que o problema da definição são as religiões que transformam Deus num “cara”, no Godot. Na minha humilde opinião, é ridículo temer um ser superior e fingir seguir leis que não são seguidas por ninguém.

Se o nosso país fosse mesmo cristão e católico não precisaríamos de governantes. A religião deveria governar todas as pessoas, porque ela já possui leis suficientes para isto. Vejam os 10 mandamentos, os sete pecados capitais… Para que haver julgamentos na Terra se todos têm certeza do Juízo Final?

Na época do Império Romano, o César era visto como um ser divino. Quando surgiu um cara dizendo ser Deus (aquele tal Jesus), César perseguiu todos os cristãos. Ele, com razão, não queria que adorassem o outro rei e as outras leis. Em 300 um fato que chama a atenção é a quantidade de vezes que os persas chamam Xerxes de divino.

A religião é o ópio do povo. Faz bem ter uma religião, participar de uma comunidade, então as pessoas acabam começando a acreditar em tudo o que é falado para elas… Como disse a Carol, igrejas são locais de paz. Como já disse Leonardo Boff, o problema da Igreja Católica é o alto escalão, mas os padres são pessoas boas que acreditam no que fazem, assim como os reais seguidores (que são menos que metade dos 64%).

Enfim, no que devemos acreditar? Bom… Justamente por religião ser uma crença não há nenhuma certeza. Creio que a religião dominante do nosso país e do mundo inteiro hoje é o cientificismo. Como já disse e repetiu o reverendo várias vezes: se acredita em Deus, não vá ao hospital. Fique em casa orando. Eu gosto da ciência, mas não acho que seja algo exato e acho que existem coisas além da ciência ou pelo menos muito longe de serem descobertas por ela. Então, na minha ingenuidade, prefiro acreditar nas pessoas sem adorar nenhum “deus a nossa imagem e semelhança” e nem um monte de caras loucos de roupa branca e óculos fundo-de-garrafa.

Criando um meme

O Mal Vicioso, melhor blog do Brasil, pela primeira vez resolveu criar um meme. E convida para responder a pergunta “Em que Deus você acredita?” os seguintes amigos blogueiros:

Provisoriamente 2^4

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Saiu o resultado da modalidade programação nível 2 da OBI2007. Eu fiz 210 pontos, atingindo a décima-sexta colocação. A pontuação foi melhor que eu pensava, porque soluções de força bruta levaram uma grande quantidade de pontos. Porém, o que está previsto no regulamento é que 10 pessoas (no mínimo) viajarão para Campinas.

Agora vejam minha lógica: todos na Olimpíada Brasileira de Informática são programadores. Nosso sistema de numeração é o binário. Um número igual ou maior que 10 em decimal deve ser? Exatamente: 16 (10000 em binário).

Dezesseis primeiros colocados

  1. Eduardo Augusto Ribas
  2. André Linhares Rodrigues
  3. David Nissimoff
  4. Daniel dos Santos Marques
  5. ALEXANDRE NOBUO KUNIEDA
  6. REGIS PRADO BARBOSA
  7. Ricardo Hahn Pereira
  8. Rodrigo Alves Lima
  9. Cesár Ryudi Kawakami
  10. Gabriel Luís Mello Dalalio
  11. José Marcos Andrade Ferraro
  12. Fábio Mallaco Moreira
  13. Hailton Ferraz da Silva Junior
  14. Daniel Santos Ferreira Alves
  15. Paulo André Carvalho de Melo
  16. Tiago Madeira

A classificação oficial e a lista de convocados para a seletiva da IOI deve ser divulgada na semana que vem.

Economize tempo assistindo os vídeos do IMPA

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Poucos sabem que o Instituto de Matemática Pura e Aplicada possui em seu site diversas vídeo-aulas que fazem parte dos semestrais Cursos do Programa de Aperfeiçoamento de Professores de Matemática do Ensino Médio. Minha dica é simples e limita-se

  1. aos que querem aprender a matemática do Ensino Médio aprofundada e demonstrada bem rápido,
  2. aos que querem relembrar estes conteúdos, ou
  3. aos que, como eu, estão no terceiro ano, querem estudar pro vestibular e não perder tempo nas aulas de matemática convencionais.

Ao invés de gastar seu tempo ou seu dinheiro, gaste banda: baixe e assista os vídeos do CAPEM do IMPA.

Observação: Por mais que possa parecer, não estou ganhando nada pra fazer propaganda dos vídeos deles e nem eles com vocês assistindo-os. :)

O Código da Vinci II

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

A igreja escocesa [Rosslyn] que aparece no romance best seller “O Código Da Vinci” revelou outro mistério oculto por quase 600 anos. Pai e filho que ficaram fascinados pelos símbolos gravados nos arcos da capela disseram ter decifrado uma partitura musical escondida ali.

Notícia completa.

Uau! Essa é pra sustentar a tese dos caras que levam a sério como não-ficção o livro do Dan Brown. ;) Não existem coincidências. E segundo o Terra esse já é o “outro” mistério.

Nova versão do GSPCA, nada de sn9c20x

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

O Alexandre Possebom (não sei se ele tem blog pra eu linkar, se alguém souber me avise) me informou que no dia 26 de abril foi liberada uma nova versão do gspcav1. Acabei de baixá-la, ler o changelog, tentar fazê-la funcionar de todas as maneiras possíveis, mas infelizmente nessa versão ainda não existe suporte para a nossa sn9c20x (aka Acer Orbicam do Aspire 5050-3205). Vou entrar em contato com o Michel Xhaard para ver a quantas anda a nossa tão querida webcam e assim que tiver alguma novidade eu posto aqui no blog.

Segunda fase da OBI2007

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

A prova de segunda fase da Olimpíada Brasileira de Informática aconteceu há duas semanas e eu havia me esquecido de comentar aqui no blog como eu fui. O resultado deve sair amanhã ou depois de amanhã, segundo um dos caras responsáveis pela organização no orkut. Se tudo der certo e Éris quiser eu participarei pela quarta vez do curso de programação e da seletiva para a IOI.

Telemarketing (OBI2007 – Programação Nível 2 – Segunda Fase)

A solução mais eficiente usa heaps. Sem conseguir pensar nesta solução no momento da prova, implementei uma força bruta bem otimizada. Infelizmente, ela tem um pequeno erro que uma alma boa que se apresenta como CEO da Oracle encontrou para mim:

No seu programa, você faz um “for” que vai de “ultimo” até “n”, armazenando o id do vendedor que vai ficar desocupado primeiro na variável “mt”. Então você faz um “for” de 1 até “ultimo” mudando a variável “mt” apenas quando o vendedor ficar livre antes do “mt”, sendo que, como o id dele é menor, deve atender a ligação caso fique disponível antes ou ao mesmo tempo em que o vendedor “mt” ficar livre. Para resolver isso, fiz um “for” que vai de “ultimo” até 1 usando um “if” com “<=”.

Acredito que receberei no máximo 20/100 pontos.

#include <stdio.h>
#include <values.h>
 
#define NMAX 1010
 
int main() {
	int n, l, duracao, c=0, ocupado[NMAX], mt, ligacoes[NMAX], oc;
	int i, j, ultimo;
 
	scanf("%d %d", &n, &l);
 
	for (i=1; i<=n; i++) {
		ocupado[i]=0;
		ligacoes[i]=0;
	}
 
	ocupado[0]=MAXINT;
	ultimo=0;
 
	for (i=1; i<=l; i++) {
		scanf("%d", &duracao);
		c=0;
		mt=0;
		for (j=ultimo+1; j<=n; j++) {
			if (!ocupado[j]) {
				ocupado[j]=duracao;
				ligacoes[j]++;
				c=1;
				ultimo=j;
				break;
			} else {
				if (ocupado[j]<ocupado[mt]) {
					mt=j;
				}
			}
		}
		if (!c) {
			for (j=1; j<=ultimo; j++) {
				if (ocupado[j]<ocupado[mt]) {
					mt=j;
				}
			}
			oc=ocupado[mt];
			ultimo=0;
			for (j=1; j<=n; j++) {
				ocupado[j]-=oc;
			}
			ocupado[mt]=duracao;
			ligacoes[mt]++;
		}
	}
 
	for (i=1; i<=n; i++) {
		printf("%d %dn", i, ligacoes[i]);
	}
 
	return 0;
}

Pizza (OBI2007 – Programação Nível 2 – Segunda Fase)

A solução mais eficiente usa programação dinâmica. A minha solução é uma força bruta, mais simples impossível. O programa está correto, mas não passará em muitos casos de teste por estourar o tempo limite. Espero mais uns 20/100 pontos.

#include <stdio.h>
 
#define MAX 100010
 
int main() {
	int n, soma;
	int i, j;
	int k[MAX];
	int maximo=0;
 
	scanf("%d", &n);
	for (i=1; i<=n; i++) {
		scanf("%d", &k[i]);
		k[i+n]=k[i];
		if (k[i]>maximo) {
			maximo=k[i];
		}
	}
 
	if (maximo==0) {
		printf("0n");
		return 0;
	}
 
	for (i=1; i<=n; i++) {
		soma=0;
		if (k[i]>0) {
			for (j=i; j<i+n; j++) {
				soma+=k[j];
				if (soma>maximo) {
					maximo=soma;
				}
			}
		}
	}
 
	printf("%dn", maximo);
 
	return 0;
}

Labirinto (OBI2007 – Programação Nível 2 – Segunda Fase)

O único problema que resolvi de maneira eficiente. A solução transforma o problema do labirinto em um grafo e depois chega à solução com uma busca em largura. Nesse eu espero a pontuação máxima, 100/100 pontos.

#include <stdio.h>
#include <values.h>
 
#define NMAX 55
#define VERTICES 2510
 
int n, m;
int nivel[VERTICES], vizinhos[VERTICES];
int fila[VERTICES*VERTICES], nvl[VERTICES*VERTICES];
int max[VERTICES];
int grafo[VERTICES][VERTICES];
int saida=MAXINT;
 
int identificador (int a, int b) {
	return (b+(a-1)*m);
}
 
int rn (int nivelerrado) {
	while (nivelerrado>9) {
		nivelerrado-=10;
	}
	return nivelerrado;
}
 
int main() {
	int i, j;
	int idmax, atual, idv;
	int niv, nivv, niva;
	int ini, fim;
 
	scanf("%d %d", &n, &m);
 
	idmax=n*m;
 
	for (i=1; i<=idmax; i++) {
		for (j=1; j<=idmax; j++) {
			grafo[i][j]=0;
		}
		vizinhos[i]=0;
		max[i]=0;
	}
 
	for (i=1; i<=n; i++) {
		for (j=1; j<=m; j++) {
			atual=identificador(i, j);
			scanf("%d", &nivel[atual]);
			if (i-1>0) {
				idv=identificador(i-1, j);
				if (idv>0) {
					grafo[atual][vizinhos[atual]++]=idv;
				}
			}
			if (j-1>0) {
				idv=identificador(i, j-1);
				if (idv>0) {
					grafo[atual][vizinhos[atual]++]=idv;
				}
			}
			if (i+1<=n) {
				idv=identificador(i+1, j);
				if (idv<=idmax) {
					grafo[atual][vizinhos[atual]++]=idv;
				}
			}
			if (j+1<=m) {
				idv=identificador(i, j+1);
				if (idv<=idmax) {
					grafo[atual][vizinhos[atual]++]=idv;
				}
			}
			grafo[atual][vizinhos[atual]++]=atual;
		}
	}
 
	ini=0;
	fim=0;
	nvl[fim]=0;
	fila[fim++]=1;
	while (ini!=fim) {
		niv=nvl[ini];
		if (niv<saida) {
			atual=fila[ini++];
			niva=rn(nivel[atual]+niv);
			if (atual==idmax) {
				if (niv<saida) {
					saida=niv;
				}
			} else {
				for (i=0; i<vizinhos[atual]; i++) {
					idv=grafo[atual][i];
					nivv=rn(nivel[idv]+niv);
					if (nivv<=niva+1&&niv+1>max[idv]) {
						nvl[fim]=niv+1;
						max[idv]=niv+1;
						fila[fim++]=idv;
					}
				}
			}
		} else {
			ini++;
		}
	}
 
	printf("%dn", saida);
	return 0;
}

Conclusão

O resultado da olimpíada deve sair amanhã ou depois de amanhã e a nota de corte deve ser entre 100 e 150 pontos. Pelos meus cálculos, eu devo ter feito 140 (20+20+100), o que talvez me classifique para a próxima fase. Mais notícias a qualquer momento ;)

Percepção de beleza

ATENÇÃO: Este conteúdo foi publicado há 10 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.


Assista no Youtube ou baixe em AVI. Esse vídeo foi sugerido por Héliton Nordt.

No wonder our perception of beauty is distorted.