Chat

May 10, 2012
@ 4:31 pm
Permalink

The end of the world

me: Estou navegando IPv6! e estou usando o IRC com IPv6 tambem! ... Nada mudou....

Renan: eu vou te dizer o q mudou lembra uma tirinha do xkcd onde os nanorrobôs param de se multiplicar pq saturaram o ipv4?

Renan: então, agora fudeu

me: LOL #fact


Text

Mar 22, 2012
@ 9:11 pm
Permalink

Convertendo encoding de arquivo zipado no mac

Se você já tentou extrair no linux um arquivo compactado no mac com acentos , você sabe muito bem do problema que os acentos em encoding errados causam…

$ ls
documentação.html
$ cat documentação.html
cat: documentação.html: Arquivo ou diretório não encontrado

No exemplo é um html e isso torna impossivel acessar links que apontem para ele apartir de outros arquivos…

Para resolver isso você pode usar o convmv que é um programa que te permite converter encodings de nomes de arquivos, para esse caso especifico , a melhor forma de corrigir é:

cd [PASTA_ONDE_EXTRAIU_O_ARQUIVO_ZIP] ; find . | xargs convmv -f utf8 -t utf8 —nfc  —notest

O que o comando acima faz?

“find . ” -> pega todos os arquivos e diretórios da pasta atual.

“xargs” -> roda o comando passado utilizando como parametro o conteudo proveniente do pipe.

“-f utf8 -t utf8” -> Converte de UTF8 , para UTF8 (Sim ambos utilizam o mesmo encoding porem em normalizações diferentes)

“—nfc” -> informa que a saida deve utilizar a normalização C (linux) do UTF-8

“—notest” -> faz com que o convmv execute a conversão mesmo se a origem já estiver no encode de destino (como estamos convertendo apenas a normalização do UTF8 isso é necessário)

Vale resaltar que caso você deseje fazer o mesmo processo no MacOS , você tem que trocar o —nfc por —nfd para que ele fique na normalização utilizada pela apple.

$ find . | xargs convmv -f utf8 -t utf8 —nfc  —notest
Your Perl version has fleas #37757 #49830 
mv “./documentação.html”    “./documentação.html”
Ready!
$ cat documentação.html
<HTML><HEAD>……………………..


Text

Mar 20, 2012
@ 1:47 pm
Permalink

High on my mind.

Estava lavando as mãos no banheiro da empresa que possuem um espelho de frente a outro e ví ilimitados reflexos meus que me fizeram pensar…

Nós somos seres que possuem uma “rede neural ” (não sei se esse é o termo certo na biologia , estou falando da rede de comunicação do cérebro) baseada em energia elétrica decorrente de estímulos químicos e portanto nossa percepção do mundo se baseia em segundos , porem imagine um ser feito de luz , sua forma de pensar seria tão rápida que algo 1 segundo atrás seria um passado distante. esses seres não teriam necessidade de um registro histórico muito duradouro 1 segundo para eles já seriam milhares de anos em nossa percepção.

Ainda mais , seres que pensem nessa velocidade , poderiam ser muito mais efêmeros que nós , aparecendo e desaparecendo da face do universo em questão de minutos , esses seres seriam capazes de evoluir de maneira extremamente rápida e como qualquer forma de comunicação que não seja a luz seria extremamente ineficiente esse ser poderia nunca chegar ao ponto de se interessar por criar uma forma de comunicação que não fosse uma que utilizasse a luz…

Já imaginaram as inúmeras implicações da existência de seres assim? e de tantas outras possibilidades? se existe um deus que nôs fez a sua imagem e semelhança , esse deus bem que poderia ter se aperfeiçoado (já que ele é omnipotente) para se compor como esses seres descritos acima, seria incrível huh?


Text

Jan 16, 2012
@ 7:00 pm
Permalink

Legendas sem stress.

Uma coisa que sempre me irritou quando precisei baixar legendas era ter que ir até o site de legendas , buscar a legenda que eu preciso e baixar ela… nada mais chato que executar uma tarefa mecânica… 

Para resolver isso a algum tempo atrás um amigo meu criou o ltv-script , achei uma ótima idéia e eu fiz uma adição a ele criando um script que me permite baixar uma legenda no estilo “estou com sorte” do google , recentemente precisei usar novamente meu script e a legenda retornada estava incorreta , então novamente fiz uma adição agora , ele me permite buscar e selecionar de uma lista a legenda a ser baixada.

Se você sabe rodar scripts em ruby e tem essa mesma necessidade , basta acessar o github da app: http://rdso.me/ltv

Para usar preencha os dados relativos a sua conta no arquivo ltv-account.cfg e depois rode o script ruby passando como parâmetro o que deseja: ruby legenda-downloader.rb Monty Python


Photo

Jan 15, 2012
@ 7:00 pm
Permalink

Se você não conhece a imagem acima , pare tudo que está fazendo e vá assistir Dr. Who

Se você não conhece a imagem acima , pare tudo que está fazendo e vá assistir Dr. Who


Text

Jan 15, 2012
@ 7:02 am
Permalink

Projeto SyFyHome - Update | Identificação facial concluída!

Esse post é uma continuação do post http://tocomsono.com.br/post/15855145668/projeto-syfyhome

Acabo de concluir o processo de identificação facial do projeto SyFyHome, foi mais fácil do que eu pensava mas primeiro vamos falar sobre as dificuldades:

Primeiro usei o OpenCV para capturar a imagem da webcam  , a principio estava tentando utilizar a gem rb_webcam que utiliza FFI para se comunicar com a lib opencv , porem após algumas frustrações com ela e após descobrir que o formato que ela me entrega é incompatível com a outra gem que ia utilizar desisti dela. Porem ela me deu o insight que a outra gem que tambem lida com o opencv tambem deveria ser capaz de se comunicar com a webcam já que está é uma função da lib e não da gem.

Adicionei a gem ruby-opencv (https://github.com/ryanfb/ruby-opencv) no Gemfile e …. ela quebrou ao tentar compilar… por algum motivo que não perdi tempo tentando descobrir o que era, a gem só compilou corretamente fazendo o download pelo git e compilando com o make para depois rodar o comando rake install_gem, talvez seja algo relacionado ao bundler.

Por conta da falta de documentação tive que mergulhar no codigo c++ da gem, +- 1 hora depois consegui desvendar o funcionamento da gem e ficou bem mais tranquilo e o melhor agora eu podia utilizar a mesma gem para capturar a imagem e consultar se haviam faces presentes.

Depois de capturada e identificada a presença de faces, fiz o envio via rest para o faces.com , utilizei a gem face ( https://github.com/rociiu/face ) e a unica dificuldade que esbarrei nela foi que o criador da gem esqueceu de adicionar o campo “file” para a operação de face_recognize, adicionado ele problema resolvido.

Relatadas as dificuldades vejamos como ficou o funcionamento:

1 passo , Adquirir faces.

Após me cadastrar no face.com , para ter minha api e secret key, anoto tambem o meu namespace privado que é onde vou guardar as imagens dos meus usuarios.

Então fiz um script que captura 10 fotos do usuario com intervalo de 1 segundo entre cada uma , envia as 10 fotos (note que você pode enviar qualquer arquivo de imagem) para o servidor do face executando a operação de detecção de faces que me retorna um TID , que guardo numa array, pego todos esses TID’s e executo a operação “tags.save” onde registro no face que aqueles TID’s pertencem a um uid de usuário especifico do meu namespace privado (sim… eu sei… é confuso o nome da operação para esse fim…) e então após registrar os TID’s envio uma pedido pra operação “faces_train” passando o uid do usuário, para o faces rodar seus algoritmos.

2 passo, monitoramento.

Para fazer o monitoramento , fiz o seguinte, fico tirando fotos consecutivas com o opencv e verificando a presença de faces , quando faces são encontradas espero até que tenha 3 imagens seguidas com faces sejam encontradas (para reduzir a sensibilidade…)  e então envio a ultima face para a operação “face recognize” do face que me retorna lindamente quantas faces foram encontradas e os ids de todos os usuarios presentes na foto com diversos dados extras.

ps.: para buscar no seu namespace privado inteiro basta passar o uid “all@nome_do_namespace”

3 Fun and profit.

Apartir dai é só adicionar as firulas que desejar , por exemplo vou fazer um registro de alguns amigos com suas musicas e artistas favoritos no mongodb , alem de sistema de envio de email com foto para o caso de alguém desconhecido entrando no ap.

O código dessa aplicação , juntamente com um video demonstrativo vou colocar depois de dar uma limpada no código , adicionar umas besteirinhas para tornar mais dinâmico e  junto da pagina do projeto para o site ratosdelaboratorio.com.br :)

por hoje é só pessoal.

qualquer duvida tweet-me @regismesquita


Text

Jan 14, 2012
@ 8:23 pm
Permalink

PROJETO SyFyHome

Me mudei recentemente para são paulo, onde estou trabalhando para a Codeminer42, uma empresa nerd até no nome, vim a convite do meu amigo Stephano Zanzin , agora que estou estabilizado aqui com meu apartamento quase todo montado (faltam alguns moveis ainda…) decidi que está na hora de deixar essa residência mais nerd , a primeira atitude XKCD Stufftomada foi a compra de diversos posters e comics em papel especial do XKCD que serão emoldurados em breve, o segundo eu tive a idéia durante uma conversa com meu colega de trabalho e excelente dev, criador do infinity_test, Tomas Stefano, fazer reconhecimento facial no meu ap, idéia que se tornou parte do projeto SyFyHome.

O projeto SyFyHome tem como objetivo deixar a casa parecendo uma nave espacial de um seriado de ficção científica,  com direito a robozinho falando e tudo mais. A primeira etapa do projeto que decidi fazer foi a parte de reconhecimento facial, o sistema irá ficar monitorando uma camera provavelmente utilizando o OpenCV e quando dectectar faces no video , irá tirar uma foto , selecionar os rostos e enviar para a API do face.com que então irá consultar num repositório pessoal de faces se aquelas pessoas estão cadastradas , se estiverem irá adicionar musicas presentes no last.fm da pessoa a playlist do iTunes e começará um slideshow com imagens de artistas(previamente cadastrados) que aquela pessoa gosta.

A aplicação responsável por isso irá tambem registrar a pessoa que entrou em um log e me enviar um sms / email contendo a foto da pessoa no momento que entrou e a identificação dela e porque não com o sintetizador de voz do mac dar as boas vindas ou acionar um spray de pimenta caso não seja cadastrada.

Graças a API Rest do faces.com boa parte desse sub-projeto será extremamente rápida , ainda falta alguma pesquisa sobre o funcionamento do OpenCV com o ruby (acho que tem um gem com bindings e afins pro ruby , vou checar isso melhor) mas acredito que estarei com tudo pronto amanhã a noite.hal 9000

e vamos caminhando em direção ao home made HAL9000 (farei meu melhor para jamais mentir para ele.)


Text

Nov 13, 2011
@ 4:11 am
Permalink

Qual onibus eu pego para ir pra lá?

Um rapaz chamado Thibault Durand , criou um sistema para localizar as rotas de onibus em fortaleza , considerando que o google não dá suporte para as rotas de onibus e que segundo o durand a base utilizada é atualizada pela própria ETUFOR (orgão responsavél pelos onibus em fortaleza) , achei esse projeto extremamente util e decidi colaborar , adicionei um botão que permite adicionar markers no mapa e que as rotas então são filtradas pela localização desse marker.

Apenas serão mostradas as rotas que passam ao menos em um raio de 1km do ponto marcado.

Quem quiser ver o projeto funcionando pode acessar http://regismesquita.github.com/mapafortaleza/ ou ver o codigo fonte no meu github http://rdso.me/github

Espero que seja util para vocês.


Video

Nov 9, 2011
@ 4:55 pm
Permalink
1 note

Quem me conhece melhor sabe que minhas musicas favoritas são pesadas mas sem gritarias como “You’re a better man than I” na versão do sham69 ou um bom ska , mas essa banda chamada The Weppies com uma melodia suave e ótimas letras me pegou legal, se você curte um som suave de vez em qunado #FikDik

Para ver o que mais eu escuto: Last.fm


Text

Nov 8, 2011
@ 6:34 pm
Permalink
3 notes

Hacker Monthly e Ratos de Laboratório

Após um tempo parado “semi-forçado” (eu tinha pego um projeto difícil)  que usei para fazer um “detox” de redes sociais e trabalhar volto das cinzas com novidades.

Hacker Monthly

a primeira é uma recomendação , nesse tempo afastado de blogging e redes sociais comecei a ler uma revista digital chamada Hacker Monthly que eu recomendo fortemente , conta com diversos artigos de excelente nível agregados confortavelmente numa edição mensal que possuí versão para kindle , te permitindo ler confortavelmente de onde estiver.

Um artigo sensacional que lí nela recentemente foi o “The Full stack” a parte 1 pode ser acessada em http://rdso.me/fullstack , nele o escritor comenta sobre a importância de conhecer o que você está trabalhando de ponta a ponta , se você da aulas ou ensina novos programadores no seu trabalho não encaminhar esse artigo para eles caracteriza um pecado mortal , punível com horas e horas de refactoring em um projeto com prazo já estourado.

Hacker Monthly

não perca tempo e assine http://hackermonthly.com/ , garanto que não vai se arrepender.

(BTW esse clever code em JS ai é show :P)

Ratos de laboratório

Esse é o nome do novo projeto que estou iniciando com o meu amigo Renan Souza ( http://www.csrenan.com/ ) , nós sempre tivemos um grande interesse em comum , criar projetos que nós achamos interessantes ignorando detalhes como se esse proj. tem utilidade , recentemente ele fez um computador de bordo para o seu carro e eu o ajudei nesse projeto fazendo coisas como… ligar um leitor de Diagnóstico veicular no meu carro que eu tinha acabado de comprar arriscando tostar minha central eletrônica.

Ratos de Laboratório

Enfim inspirados por esse tipo de aventuras e pelo nosso novo projeto , para encontrar pessoas semelhantes , ajudar quem tá com dificuldade em um projeto e divulgar esse espírito hacker DIY , estamos criando o blog ratos de laboratório onde vamos publicar:

  • Podcast com notícias da área , dispositivos , softwares e história engraçadas sobre invenções.
  • Tutoriais e mini-aulas escritas por nós , amigos e pessoas da net que nós acharmos que são úteis para novos projetos.
  • Lista de projetos , lista contendo projetos nossos e de usuarios onde a pessoa pode divulgar seu projeto for fun , profit e para achar lacaios ajudantes.

O Blog tá terminando de ser construído ( http://ratosdelaboratorio.com.br/ ) , devemos gravar o primeiro podcast até domingo e até sexta ter alguns textos publicados.

O Código do blog vai estar disponível no meu github: http://rdso.me/github

Enfim por enquanto é só ,vou dar uma trabalhadinha em uns side-projects e nos vemos em breve…