Um quebra cabeça para um posterior comentário

Você precisa unir todos os pontos abaixo sem levantar a caneta do papel e fazendo apenas 4 linhas.

Problema Pontinhos

Tente resolver este problema em 10 minutos. Se não conseguir não fique frustrado, pouca gente consegue e não está ligado à inteligência.

Se você resolveu agora tente fazer o mesmo problema com 3 linhas.

Se não conseguiu aguarde ainda hoje o comentário do Zeletron explicando porque este problema é tão difícil para alguns.

 

Escrever código porco ajuda a ganhar este prêmio

The International Obfuscated C Code Contest é um concurso em que vence aquele que escrever o código C mais difícil de se ler e que faça uma coisa útil.

Por incrível que pareça não é uma tarefa tão simples, veja um dos ganhadores da última edição (2006)

#define			      q [v+a]
#define			     c b[1]
#define			    O 1 q
#define			   o 0 q
#define			  r(v,a\
)v<0&&(			 v*=-1,		a*=-1);
#define			p(v,m,	    s,w)*c==*#v?2 q\
<m?(c++		       ,d=1,3	   q=0,5      q=m,main\
(a+3,b)		      ,o=o*s	 q,O=O*		 w q):0:
static		     d,v[99	];main		  (int a,
char**b		    ){d=7;     if(*c?!		  (p(+,3
,4 q+O*		   3,4)p(			   -,(o?3
:(O=1,6		  )),4 q			  -O*3,4)
p(*,4,3		 ,4)p(/				  ,5,4,3)
p((),d,		0+3,0+				 04)*c==
')'?2 q	       <02?(c				++,0):0
:(o=012	      *o+*c-			      '0',c++
,O=1)):	     2 q?3-			   2:printf(
"%d/%d"	    "\n",o		       ,O))return
1;d=a,r    (o,d)r		     (O,d)3 q
=o<O?(4	  q=o,O)		   :(4 q=O,
	 o);r(d,		 o)a+=3;O?
				 1:(O=1,2
				q=1);while
				(2 q=o%1 q)a++;v[d]/=O;d[
				v+1]/=O;return main(d,b);}

Acho que pode ser divertido …

Detectando Vazamento de Gás – Um nariz eletrônico

Depois do episódio da explosão de gás no Rio de Janeiro na semana que passou, lembrei que tinha na gaveta um sensor MQ6 de GLP e fiz um experimento que mostra como é simples e barato construir um sensor de gás.

Lembrando que no caso do GLP a mínima concentração para explosão é 2,5% de GLP para 97,5% de ar e a máxima concentração para explosão é 9,5% de GLP para 90,5% de ar [ref].

Creio que o @marcelobarros e o @jbvsmo podem depois escrever um post mais detalhado sobre o assunto mas aqui vão umas idéias iniciais

O sensor: http://www.sparkfun.com/products/9405 (US$ 4.95)

Montagem:

Programa para Arduino (pode usar qualquer microcontrolador que tenha uma porta analógica, mas o que eu tinha à mão era o Arduino)

int sensorValue; 
 
void setup()
{
  Serial.begin(9600);      
}
 
void loop() 
{
  sensorValue = analogRead(0);       // pino 0 le os valores
  Serial.println(sensorValue, DEC);  // tasca os valores na porta serial
  delay(100);                        // esperar 100ms e ai le novamente
}

Quem quiser ler um post muito mais completo que o meu visite: http://suhanko.com/2011/10/14/eletronica-digital-com-arduino-sensor-de-gas-mq4/ e siga no Twitter o Djames

Angry Birds para gente grande

Conheci uma pesssoa que dizia, e vivia, que uma vez aposentado a melhor coisa é acordar mais cedo para ficar mais tempo sem fazer nada. Não concordo. Há muitas formas melhores de aproveitar a aposentadoria. O rapaz do vídeo abaixo resolveu viver seus anos de aposentado fazendo Angry Birds de gente grande.

É ou não é melhor assim?

Recomendo ver em 1080p se você puder … 🙂

Cinco filmes que os amantes da tecnologia devem ver

É difícil fazer uma lista de top 5 sem ser muito criticado, portanto coloco desde já minha cara a tapa na área de comentários. Vou listar abaixo os cinco principais filmes que as pessoas que curtem tecnologia deveriam ver ou ter visto 🙂

#5 – Matrix

Se você não viu Matrix sugiro que corra até a locadora e alugue ainda hoje. Feito em 1999 e devidamente complementado com duas continuações inferiores, Matrix é um dos melhores filmes em termos de roteiro bem bolado que dá pano para manga para muitos debates. Matrix coloca o problema que foi cunhado pelo filósofo Kant: como saber se o que vemos e sentimos é real? Não vou entrar aqui em debates filosóficos, nem discutir porque o real é real, mas você certamente vai colocar seu cérebro em ação com Matrix.

#4 – Star Wars

A história da ficção científica se divide em pré Star Wars e pós Star Wars. Apesar de não ser um dos meus filmes favoritos, não posso deixar de dar este lugar ao primeiro filme da primeira trilogia da série. Marcou o início de uma era no cinema e fez muita gente sonhar com sabres de luz.

#3 – Blade Runner o caçador de Androides

Nada de caçador de Androids, mas sim de Androides. O Google não tinha ainda lançado o seu sistema operacional Android, aliás nem havia Google, e Harrison Ford já aplicava sua versão cinematográfica do teste de turing. No caso de Blade Runner sua missão é “aposentar” (versão antiquada do encostar ou colocar na conta do Papa) Androides parecidos com humanos. Também é um filme que faz pensar no sentido da vida. Se você tem problemas com pensar não veja 🙂

#2 – Memento – Amnésia

Você achou que eu ia falar Star Trek? Se enganou, não suporto Star Trek e fico com Memento. Como seria nossa vida se não tivéssemos memória não volátil? Se a cada vez que dormíssemos se apagassem nossas memórias? Bom, existem algumas doenças assim, a síndrome de Korsakoff por exemplo, mas Memento mostra como usando estratégias que um computador usa para armazenar dados é possível viver com isto e investigar um crime.

#1 – Inception – A Origem

Recursividade é uma função ou subrotina que chama a si mesma. E numa subrotina, a pilha (stack) é utilizada para armazenar o endereço de retorno de forma a poder voltar ao ponto em que a função foi chamada. No caso de um programa de computador que chama muitas funções, para sair de uma função se utiliza o return, e uma vez chegado ao programa principal não se pode dar return sob pena de sair do programa. (Descrição à grosso modo)

No caso de Inception, a recursividade se manifesta no sonho. O sonho é um modelo recursivo da realidade, assim é possível sonhar que está sonhando. Em Inception a forma de sair de um sonho é morrendo no sonho. Só que é importante saber se estamos no sonho, já que morrendo fora do sonho não se sai do sonho, mas sim da vida. Os autores de Inception se basearam, eu acho, num conceito de computação para criar um token que é diferente na vida real de como ele é no sonho, com o token a pessoa pode identificar se é seguro sair do sonho ou se está no nível que não há mais sonho.

Nossa, não entendi nada, dirá você. Então corra até a locadora e alugue Inception, você não vai se arrepender.

Você não gostou? Então use os comentários para colocar seus Top5!

IPhone 5

O grande previsor do futuro, Mobile Analyst está de volta, depois da incrível previsão de final de ano, que vem se mostrando cada vez mais acertada, chegou a hora de prever o que Steve Jobs (sim, ele deve ser o Keynote Speaker do WWDC dia 6/6) irá mostrar ao mundo como o novo IPhone 5.

Infelizmente não encontrei no bar que como meu ovo frito na Cinelândia nenhum protótipo do IPhone 5, por isso preciso focar nos meus poderes de analista para dizer com exclusividade o que será mostrado.

  • Tela Retina 960×640 (obvio)
  • Câmera 8MB com Flash deslocado
  • Dual mode (CDMA/GSM) – apesar de que em terra brasilis isto não ajuda nada.
  • Processador A5 1Ghz, Dual Core, Chip Gráfico igual ao do IPad 2
  • 2mm mais fino que o IPhone 4
  • Capacidade de Conexão a redes 4G
  • Camera frontal 720p para Facetime HD
  • Scanner de Retina na Câmera para segurança
  • iOS 5

Já o iOS 5 terá as seguintes funcionalidades

  • Suporte a ditato no voice control
  • Redesigned Home Screen com suporte a Widgets HTML5 mas de uma forma que nenhum Android jamais sonhou.
  • Facetime via 3G ou 4G. Apple dando banana para as operadoras.
  • Cloud Package: Fotos, Videos, Músicas, etc
  • Over The Air upgrades

Se tiver mais visões até o dia do começo do WWDC vocês serão os primeiros a saber.

Celulares e erros de continuidade em Tropa de Elite 2

Tropa de Elite 2 bateu todos os recordes de público do cinema nacional, e apesar de não ser tão bom como o primeiro pois o Padilha se rendeu à patrulha ideológica está muito bem feito.

Mas nosso assunto aqui não é sociologia e sim tecnologia e portanto gostaria de chamar a atenção para o fato de que celulares e outros aparelhos tecnológicos apresentam um grande desafio para a continuidade e realismo dos filmes. Quando saiu o Tropa de Elite um mostramos como ele tinha um erro de anacronismo ao colocar um celular CDMA em 1997.

Agora no Tropa de Elite 2, aproveitando que já está nas locadoras, gostaria de lançar um desafio aos leitores do Zeletron: há muitos erros de continuidade no Tropa 2 (abaixo mostro um) e vários deles estão ligados a trocas de celulares ou não prestar atenção a modelos. Quem identificar erros assim pode colocar nos comentários.

Exemplo de erro básico de continuidade.

Soldado branco e com cabelo raspado vira soldado negro e com cabelo não raspado.

Alguns celulares no filme


Touchpad de Papel – Faça você mesmo


Quebrou seu mouse, seu notebook está com pau no touchpad, não tem nada para fazer? Todos seus problemas terminaram com o super touchpad tabajara. Consiste num pedaço de papel e quatro divisores de voltagem. O papel está todo rabiscado com grafite, se você não sabe que grafite é condutor pode parar por aqui. Uma pulseirinha anti-estática ajuda a eliminar o ruido que você cabra da peste recebe da rede elétrica e de outras fontes de energia.

Além disso você vai precisar de um kit Arduino para fazer a programação. É mais barato ir no standcenter ou muambocenter da sua cidade, mas certamente este aqui é mais divertido. Feito pelo Dr. West: link aqui.

Veja o vídeo:

Este post original foi no Hackaday de hoje, traduzimos e adaptamos um pouco.

Idéia não tão maluca

Depois das últimas “novidades” apresentadas pela Nokia (N8, E7, C6 e C7), reparei um certo desapontamento entre os fãs da marca. Quase todos diziam ao ver a notícia que isso é “mais do mesmo” e que a empresa teria que renovar o sistema para poder fazer frente à Apple com o iOS e iPhone 4 e o Android que já está amadurecendo e virando gente grande. Pois bem, vou dizer agora uma coisa que pode fazer os Nokiamaníacos rasgarem suas vestes e me queimarem em praça pública, mas acho que a Nokia daria um enorme salto para frente se fizesse aparelhos com Windows Mobile 7. Pronto, podem gritar. Terminaram? Não? Tudo bem, eu aguardo… Acabou a gritaria? Deixem-me explicar os motivos que me levaram a pensar nessa sugestão.

  1. Há já algum tempo que a Nokia vem se aproximando da Microsoft (lembram do Nokia Booklet?)
  2. O novo CEO da Nokia, Stephen Elop, é atualmente chefe da divisão de negócios da Microsoft
  3. Um sistema operacional de outra empresa tiraria das costas da Nokia a responsabilidade de fazer um S.O. bom, restando para ela focar no que ela sempre fez bem, hardware.
  4. O Windows Mobile já tem um legado de usuários e desenvolvedores cativos bastante grande
  5. A Microsoft é a maior empresa de Software do Mundo e seu poder de fogo não é desprezível
  6. As ferramentas de desenvolvimento da Microsoft são as mais maduras do mercado e dão um show até no XCode da Apple
  7. A Microsoft não tem frescuras quanto a suportar plataforma de terceiros, assim, o QT e o Python poderiam ser bem recebidos na gigante de Redmond

A Nokia poderia até manter aparelhos com o Symbian e o MeeGo, já que agora esses sistemas andam com as próprias pernas, mas abrir o leque para o Windows Mobile poderia dar outro gás aos lançamentos e animar os consumidores. Quem sabe esse é um post profético? Só espero sobreviver às pedradas que com certeza virão quando eu apertar o botão “Publicar” do WordPress, para poder saber se este é ou não um post profético…

Atualização: Este post acaba de virar um post profético (11/02/2011). Vejam aqui nesse outro post. http://www.zeletron.com.br/2011/02/a-nova-estrategia-da-nokia.html

A alvorada da Internet

Corria o ano de 1993, havia acabado de entrar na PUC-Rio e como todos os bolsistas tinhamos que lutar todos os dias para manter nossas médias acima de sete. Naquele ano aconteceu meu primeiro contato com a tal da Internet. Em 93 nem todos os lugares da PUC tinham ainda conexão com a Internet e um dia pediram, no laboratório em que trabalhava para ganhar uns trocados, que mandasse um e-mail para o pessoal do suporte do OS/2 para resolver um problema de instalação. Naqueles anos mandar um e-mail consistia em escrever a mensagem à mão, levar para a secretária, esperar a resposta vir e pegar a resposta impressa. Lembro até hoje com emoção o primeiro e-mail que mandei com esta tecnologia primitiva. Contei em casa orgulhoso que havia recebido um e-mail de Chicago!

Como aquele laboratório calotava nossos salários (até hoje nunca recebi um centavo do nosso chefe, conhecido como Mr Walrus) mudei de laboratório e fui fazer iniciação científica com um professor, de aparência peculiar, e tive a minha primeira conta de e-mail na internet.

Depois de torrar por semanas o administrador da rede, o todo poderoso administrador, a quem devíamos reverência, meu companheiro de trabalho Rafael e eu conseguimos nossas contas de e-mail e acesso a workstations Sun 2. Não havia nenhum browser de internet naquela época, nem o Mosaic estava disponível para nós, mas havia ftp, telnet e outros brinquedos interessantes.

A Sun SparcStation2, com seus 128MB Ram e 40Mhz era considerado um monstro computacional, várias pessoas estavam conectadas nela simultâneamente fazendo seus trabalhos e programas, até que descobrimos o fork.

O fork é uma função do C nos Unix, para quem ainda não foi apresentado a ele, que cria cópia de um processo. Aí pensamos, puxa e se fizermos um loop infinito de fork, o que vai acontecer?

Rodamos o seguinte programa (não faça isto em casa) :

void main () {
      while (1) {fork();}
}

Em poucos milisegundos travou tudo e saímos rapidamente do local antes que o administrador chegasse. Assim, após descobrir que podíamos rodar o programa remotamente travamos todas as workstations muitas e muitas vezes … Era a alvorada da Internet, como um bebê que descobre seus pés.

A segunda grande descoberta foi já depois de 96, de uma falha que havia no IIS 3.0 com o Windows NT 4 que escrevendo determinada url no navegador conseguia que toda a máquina caia e ganhava uma tela azul. As primeiras vítimas foram os colegas de laboratório, depois pensamos, será que funciona num destes sites de vendas de livros? Como não custava tentar, tentamos, e funcionou… A partir daí, até a Microsoft lançar o service pack que consertou o problema sempre havia um engraçadinho que fazia sua máquina crashar e para trabalhar era preciso tirar o cabo da rede.

Foram bons tempos aqueles. Se você também viveu esta alvorada da Internet conte sua história nos comentários.

Bom final de semana a todos.

Ruido sonoro tem cor. E uma nova seção do Blog

http://en.wikipedia.org/wiki/Colors_of_noise

Como vocês podem ver no link acima ruído sonoro tem cor, pelo menos uma sensação de cor.

O ruído é útil para pessoas que sofrem de zumbido no ouvido e também ajuda a se concentrar mascarando sons externos.

Como precisava de uma fonte de ruído para fazer uma app para o IPhone escrevi um script em python e veio a idéia de criar uma seção com dicas de Python que agora fica no menu horizontal do Zeletron ou na página: http://www.zeletron.com.br/dicas-python

Quem tiver alguma receita de python interessante pode mandar para inserirmos lá.

IPhone BrainView – Neuroanatomia para Dummies

Apesar de escrever sobre tecnologia, há quase dois anos me tornei doutor em medicina e a área com que trabalho (quer dizer, com que trabalho nas horas vagas) é neurociências.

Bom, toda esta introdução para falar do programa que fiz para o iPhone que considero meu melhor programa até agora. Trata-se de um atlas de neuroanatomia que tira todo potencial do pequeno smartphone da Apple. Como queria que fosse uma ferramenta de uso acadêmico ele é totalmente grátis e sem anúncios.

A idéia foi incluir junto um pequeno tutorial de um programa de medição de áreas do cérebro para que a pessoa interessada já tenha um V0.

Algumas imagens da app: http://itunes.apple.com/br/app/isurf-brainview/id381072423?mt=8

Arduino já ouviu falar?


Arduino é uma plataforma de desenvolvimento de projetos eletrônicos baseado no microcontrolador AVR que se tornou praticamente um padrão para os hobbistas e tem começado a mostrar sua força no mundo comercial.

A grande vantagem do Arduino é colocar a eletrônica ao alcance de pessoas que não sabem o que é um registrador, timer, watchdog e coisas do gênero.

Com um kit Arduino você, mesmo advogado, arquiteto, artista, músico pode montar um circuito que pisque leds, toque sons, responda a toques de botões, etc. Tudo isto com uma linguagem altamente civilizada que parece C.

Um kit Arduino pode ser uma boa pedida para quem sempre teve interesse em brincar com eletrônica, pelo fato de ser OpenSource, você pode comprar baratinho (menos de 100 reais) e de diversos fabricantes.

Aqui vão algumas dicas de projetos para começar:

Piscar um led:

int ledPin =  13;    // LED connected to digital pin 13
 
// The setup() method runs once, when the sketch starts
 
void setup()   {                
  // initialize the digital pin as an output:
  pinMode(ledPin, OUTPUT);     
}
 
// the loop() method runs over and over again,
// as long as the Arduino has power
 
void loop()                     
{
  digitalWrite(ledPin, HIGH);   // set the LED on
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // set the LED off
  delay(1000);                  // wait for a second
}

Neste link você encontra uma série de idéias legais:
http://www.arduino.cc/playground/Main/GeneralCodeLibrary

Só não faça como um colaborador deste blog que está há 8 meses com seu Arduino na gaveta…