Habilitando suporte a snmp no Vmware ESXi ( hypervisor )

Continuando com as brincadeiras de virtualização, decidi tentar configurar snmp da máquina para enviar informações para a uma aplicação que monitora tudo.

O processo nem é tão complexo. O que é complexo é a falta de informações para conseguir instalar algo no ESXi, mas depois de pesquisar um pouco, achei a solução. Usando a plataforma FREE, você não consegue fazer isso de dentro do VSphere, porém, basta baixar o VMWare infrastructure CLI – ou VSphere CLI ( um conjunto de programas escritos em Perl que habilita recursos remotamente).

Basta então abrir o prompt (ou terminal se estiver usando linux) e navegar até o diretório da instalação. No caso do windows em c:\program files\vmware\vmware vsphere cli\bin .

Adicione o diretório do perl no path para não ter erro de dlls.

Para visualizar a situação do snmp rode o comando:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user –show

Para configurar/alterar os dados de trap rode o comando:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user -t ip_snmp@162/comunidade

Para configurar uma comunidade:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user -c sua_comunidade

Para alterar a porta de escuta do snmp:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user -p 161

No final, para habilitar:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user –enable

Enviando um teste:

vicfg-snmp.pl –server endereco do seu servidor vmware –username user –test

Feito isso, teste com o snmap, enviando os dados de sua comunidade. Se retornar os sinais, está tudo certo.

Mais um mistério desvendado.

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 12%

Adding ADK support in your Optimus one Android device

For pt-br readers, sorry for posting this in english, will try to translate soon.

Few days ago I decided to grab a cheap LG Optimus One Android phone and add ADK support (Android Open Accessory, basically an Arduino with a special shield). I didn´t have any experience on hacking Android and after reading tons of tutorials on xda forum, managed to make it happen.

Disclaimer: be aware that I´m not responsible for any damage on your device, and BACKUP always. There is a little risk on running into problems and backups can recover your phone easily. Wait for instruction on how to compile the kernel, and you will be capable of applying fixes to any other device running cm7 and kernel 2.6.35+.

Step 1: Install LG drivers in your phone. More info here

Step 2: Get root access to your phone. Be careful, since there are different ways to do this based on your android version.

[pt-br users, click here for a good explanation]

For 2.2, see here

For 2.3, see here

Step 3: Install a backup tool. I´m using clockworkmod, basically you need to download an app called “Rom Manager” from Market Store and click on “Flash ClockworkMod recovery”. Info here

Don´t do anything else without installing this. This is a small operating system capable of recoverying your phone, even if you make any mistake.

After installed, you can open the “Rom Manager” app, and click on “Reboot into recovery” to enter in recovery mode, or with your phone off, press home symbol + volume down + power and wait till you get into it.

Now with this app installed, create a BACKUP of your phone!

Step 4: If your phone is using the new 2.3.3 software native from LG, you should downgrade your baseband. NOTE: this is valid just for users who have upgraded using LG updater tool. Go to the next step if it is not your case.

This is an important step, mostly because CM7 mod roms are based on the old baseband (e.g. radio firmware). Follow carrefully the instructions posted.

[pt-br users - follow this tutorial here]

Non-pt-br users – follow this tutorial here.

If everything goes fine, you must have lost signal on your mobile. That´s ok, since we will flash the new rom, and everything will be back.

Step 5: Download a customized rom. I´m using miks 6.6.1, that you can get here. Note that you must get testing (6.6.1) in order to have ADK working properly, since this rom is based on kernel 2.6.35.

Save the zip file onto your phone´s smartcard. DO NOT unzip, and put it on the root folder.

Breath a bit, read FAQ, and instructions posted on the link above and dont panic. All the answers are there.

Go to Rom manager app and choose “install rom from sd”, choose the zip file. You can also go into recovery mode and choose update a zip file.


a) When in recovering mode, volume up and down moves the cursor; first left button (near home), chooses an option; arrow goes back.

b) You can mount a SD card without needing to boot your system. When in recovery mode, click mount, and choose “SD card”.

Wait till it reboots and applies the rom. Choose “wipe cache” and “wipe factory reset” in order to have your new ROM working properly. If you don´t do this, you will get a logo frozen when booting. Will take some minutes to have your app running again.

If Google apps disappear, read the tutorial again, upload gapps.zip to your sdcard, go to recovery mode and execute. Really simple.

Step 5: Ok, now you are a happy user, running a mod rom. You might experience some bugs, and if you don´t like and want to give up, just restore your backup.

If you feel you need to proceed, let´s move to the next step.

Step 6: Let´s install arduino firmware and demokit app.

a) For Arduino, will not cover driver installation, and others. Everything you want is explained here. The complete package, containing driver, app, etc, you can get directly here.

Basically you need to open arduino IDE and successfully upload demokit.pde into your board. With that said, let´s move.

b) For Android, now comes the tricks:

Setup all Android development – Eclipse, Adt, etc, etc, and don´t forget to download GOOGLE APIS API LEVEL 10. This is important: don´t mess with the other api level 10, must be Google´s one.

1) Open eclipse and setup demokit as described on the page I mentioned on this step. Don´t forget to enable USB Debbuging under system, application, development. This will enable you to upload the code direclty from eclipse.

2) With everything set, right click on your project, mark run as Android Application. Click or device and run. You MUST get an error related to permission, something like com.future.android …

3) Now you need to push some files to your device using ADB, in order to get ride of this errors. Basically we are getting Nexus One files into our device. More details you can see here (will explain below)

  • To push files, you need to remount your /system as write mode. Open your prompt, locate folder where adb is located (mine under windows is c:\program files x86\android\android-sdk\platform-tools).
  • Type adb shell and press enter;
  • Type mount and press enter. Locate where /system is mounted;
  • Now remount, adding the info you located above, in my case:
    • mount -o rw,remount -t yaffs2 /dev/block/mtdblock3
    • chmod 777 /system
  • Download Nexus One files from here and unzip it.
  • Inside it, there are 4 folders – app, etc, framework, lib. Delete app and lib folder;
  • Back to your prompt, let´s push the files via adb:
    • adb push c:\tmp\framework /system/framework  and press enter;
    • adb push c:\tmp\etc /system/etc/permissions and press enter;
  • Now you have the files, you should go back to recovery and wipe dalvik cache (under advanced option);

4) Go back to eclipse and try to run your app again. You might get error of unsigned app, if so, disable this on configurations, applications.

Try again , and if you did everything correctly, you will see demokit on your phone. Open it, and nothing will happen, we still dont have the driver/kernel patched.

Step 7 – flashing a new kernel: I´m using Franco Kernel, which is the best one available to Optimus one, and the newest version is based on 2.6.35.

Here I spent some time figuring out how to download the source, compile the kernel and applying the patches. Will not cover this right now, instead, you can just flash the kernel I compiled.

I didn´t test everything yet, so download franco´s latest version and upload to your sdcard, in case you have any trouble. The process to update the kernel is very similar to updating a ROM: place a zip on your sdcard root folder, go to ROM Manager, and choose to wipe dalvik cache. Just be aware of which kernel version you are applying!

Download mine here and flash.

If everything goes right, connect your usb cable and enjoy! Picture below.

Optimus one running adk

Optimus one running adk

Will post more details soon about how to compile Franco´s Kernel and how to apply those patches, for sure other device owners will be happy.

Questions ? Let me know.

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 10%

Problemas com ntpdate em Linux virtualizado com Xen/Vmware

Mais um post curto, mas tenho certeza que muita gente já andou tirando cabelos por aí por causa disso. Hoje, por exemplo, perdi quase quatro horas tentando descobrir os motivos pelo qual o ntp não atualizava a hora de meu servidor, que está nos EUA, rodando Linux CentOs 5.

Por mais que eu tentasse digitar ntpdate ntp.ansp.br , nada acontecia. Verifiquei:

  • /etc/localtime e estava ok (arquivo de origem /usr/share/zoneinfo/America/Sao_Paulo);
  • /etc/sysconfig/clock estava ok, com time UTC setado como “true”;

Depois de gastar um bom tempo nisso, comecei a desconfiar do problema de estar rodando sob um Xen, e matei. Lendo por aí, descobri que o ntp tem problemas de atualização por causa da forma imprecisa que o clock virtualizado trabalha, gerando diferenças na hora de atualizar.

Aqui um post detalhado sobre como corrigir o problema


Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 7%

Javascript tutorial: o que são closures ?

Post de hoje é rápido e apenas para compartilhar um excelente guia/tutorial de javascript que recebi na lista de html5. Achei fantástico pela didática aplicada, incluindo um faça você mesmo, integrado ao jslint.

Se você tem dificuldades com closures, callbacks, funções como argumentos, deve dar uma passadinha por lá.


Espero que gostem.


Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 4%

Controlando painel de led 32×16 da Sure Electronics através de um arduino

Introdução: Esse é o tipo de ‘sonho’  nerd que com a evolução da tecnologia consegue se concretizar de forma simples.

Desde quando comecei a estudar eletrônica por conta, sempre tive vontade de fazer um painel de leds, igual esses que ficam passando em supermercados, restaurantes, etc. Tentei algumas vezes usando drivers de potência, multiplexadores, e outros, que chegaram até funcionar, mas não com a qualidade desejada tendo em vista as dificuldades de iniciante: placa de circuito impresso, solda perfeita, etc.

Quando comecei a mexer com Arduino, descobri um outro mundo: dos shields, dos blocos praticamente prontos, onde você precisa apenas ligar fios e programar. Por causa disso, aprendi muita coisa, e consegui fazer coisas que nunca imaginei: automatizar minha casa, por exemplo.

Por causa desse novo mundo do Arduino, virei adepto a sites como sparkfun.com, adafruit.com, makershed.com, além do forum do arduino.cc. E um dia desses, após ler alguns posts novos, vi um cara que montou um painel de led e gastou menos que 20 dólares. Fui atrás e descobri um site chamado Sure Electronics – comprei o painel de led por 20 dólares, vários sensores (temperatura, umidade, iluminação), botões, switches, etc, e gastei menos de 50 dólares.

Os componentes chegaram em casa em menos de 20 dias, e estavam muito bem embalados – fica aqui minha recomendação para o site. Assim que chegou, peguei o painel, e baixei a biblioteca seguindo essa thread do fórum do Arduino.

Abrindo o projeto de exemplo, ficou fácil:

* Set these constants to the values of the pins connected to the SureElectronics Module
static const byte ht1632_data = 6;  // Data pin (pin 7 of display connector)
static const byte ht1632_wrclk = 7; // Write clock pin (pin 5 of display connector)
static const byte ht1632_cs = 8;    // Chip Select (pin 1 of display connnector)
static const byte ht1632_clk = 9; // clock pin (pin 2 of display connector)
Pegando então 7 fios macho-macho, basta ligar:
  • Pino 1 do painel na porta 8 do arduino;
  • Pino 2 do painel na porta 9 do arduino;
  • Pino 5 do painel na porta 8 do arduino;
  • Pino 7 do painel na porta 6 do arduino;
  • Pino 15 do painel na porta gnd do arduino;
  • Pino 16 do painel na porta 5v do arduino;

Feito isso, basta compilar e mandar upload. O resultado, você pode ver no vídeo abaixo:

Espero que gostem. Dúvidas ? Só perguntar aqui embaixo.

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 4%

Vida de startup: lá se foram 2 meses

Estou devendo um post aqui no blog para falar que muitas coisas aconteceram nos últimos meses.

Há praticamente um ano, escrevi um post falando que estava deixando a AgênciaClick para assumir uma posição em uma multinacional. Pois bem, isso não durou muito, e acabei largando para tocar uma startup.

Já faz tempo que venho ensaiando alguns vôos,e para ser sincero, estava um pouco cansado da vida corporativa. Acho que as empresas aqui no Brasil precisam mudar muito para conseguir atrair bons profissionais e fazê-los ficar por um bom tempo.

Depois de muita batalha, conseguimos investimento para o nosso projeto, e assim, fazer algo de concreto acontecer rapidamente.

Comecei a me dedicar integralmente no negócio no começo de junho, e desde então, minha vida virou de cabeça para baixo – a maioria delas em um sentido positivo. Aqui vai:

1) Decidi usar somente transporte público para me deslocar ao escritório – vou e volto de trem todos os dias. O trânsito da vila olímpia é um inferno, os estacionamentos um absurdo, e a falta de exercícios físicos me fizeram pensar em uma maneira de usar um pouco melhor meu tempo.

Vou andando de casa para a estação, da estação para o trabalho e todo o caminho de volta, o que me garantem, pelo menos, 45 minutos de caminhada.

Além disso, economizo entre combustível e estacionamento aproximadamente R$ 800, e diminuo meu carbon foot print.

2) No começo de uma startup, é impressionante o foco que você dá a alguns determinados assuntos, e isso faz toda a diferença. Além de trabalhar nos horários que acho mais conveniente, posso determinar o que fazer primeiro, com quem conversar, o que não fazer, etc.

No fundo, há uma grande mistura de atividades, o que torna o negócio divertido. Eu, por exemplo, nunca havia implantado um ERP do zero e estou tendo que fazer isso.

3) Em  um ambiente menos regrado, você tem mais tempo para pensar. Como temos um orçamento apertado, a criatividade rola solta e conseguimos gerar soluções bem interessantes. Um exemplo é servidor: temos uma máquina boa, mas não suficiente para rodar “N” serviços que precisamos.

Foi aí que senti a necessidade de aprender a configurar um servidor virtualizado – testei XEN e VMware ESXi.

Outra coisa é especificação, metodologias, etc, etc. Quantas vezes você precisou escrever caso de uso, diagrama de classes, sequência, reuniões, horas perdidas, para no fim, não usar nada ?

Aqui fazemos o mínimo necessário: descrição de um cenário, regras, e código!

4) Tenho trabalhado muito, mas mesmo assim, continuo feliz. A regra é simples: ninguém me obriga a nada, não tem chefe, metas absurdas, apenas uma vontade imensa de fazer algo acontecer e que me faz ficar entusiasmado cada vez mais.

5) Os contatos se multiplicam a cada dia que passa. Uma nova cadeia de pessoas começa a faz parte do dia-dia – empreendedores que possuem um objetivo em comum: fazer com que os seus negócios aconteçam.

Além da troca de experiências, a cooperação também é um ponto legal.

6) O ponto chave: aprendizado. Cada dia uma coisa nova, um leão para matar, um cenário para definir. No mundo corporativo você vai levando as coisas como uma marola – alguém já definiu algo por você, que você precisa cumprir.

Numa startup não: você é o goleiro, lateral direito, atacante, e o técnico e precisa se virar. E isso é o que faz a brincadeira divertida.

7) Salário talvez não seja um aspecto tão positivo. Tivemos sorte de conseguirmos investidores, porém, o grau de incerteza deixa um pouco desconfortável. Mas quem está na chuva, é para se molhar!

Para concluir, acho que fiz a melhor coisa, no momento certo. Agora entendo porque tanta gente valoriza empreendedores e mercados de startup nos EUA. Mesmo se falhar, você estará acumulando experiências únicas.

E você, o que está fazendo aí ? Corra, monte sua startup também!

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 4%

Primeiras impressões do Google+

Durante o último Google I/O (maio de 2011), tive a chance de falar com muitos engenheiros da Google. Em uma das oportunidades, falei com um cara chamado Chris Chabot, que trabalhou durante muito tempo com opensocial, na implementação do Shindig, e de outras ferramentas sociais.

Entre uma conversa e  outra, perguntei sobre os projetos para social, já que após o lançamento do Google Buzz, nada de muito notável havia aparecido. E a resposta dele foi clara: em breve você verá algo muito, muito legal aparecendo. A primeira coisa que veio a cabeça foi a tão falada rede social noticiada pelo Mashable e Techcrunch, até então chamada de Google Me.

Hoje lançaram o Google+, e que era o projeto que eles estavam trabalhando. Não sei se é o tal do Google Me, mas com certeza é algo bem interessante do ponto de vista de interação social.Levando em consideração os vídeos postados sobre a plataforma, dá pra ver claramente que atacaram as frentes que convergem entre facebook, twitter e foursquare.

Felizmente, recebi o convite para acesso a plataforma por intermédio das GTUGs, e depois de quase uma hora navegando, vou postar as considerações iniciais. Ainda não abri a versão mobile, só a web:

  • A interface web é matadora. Cheia de efeitos de drag and drop, com cores bem claras e funções intuitivas;
  • O perfil é uma extensão do Google profiles, e permite incluir campos de forma mais ordenada. Não tem nada a ver com a interface do Orkut, por exemplo;
  • Os “circles” (círculos), definem uma estrutura hierárquica para classificar as pessoas na sua rede: amigos, pessoas que você segue, ou qualquer nome que você queira dar;
  • A página inicial é uma evolução da wall do Facebook. Você pode compartilhar o que quiser, e filtrar as notificações do jeito que quiser. Enfim, melhoraram a bagunça que é no Facebook;
  • Todas as interações de comentários, +1′s, etc, são visualizadas por todo mundo, da mesma forma que o Facebook;
  • Integração transparente com contatos do Gmail, fotos no Picasa, posts do Blogger, +1′s, etc;
  • A parte de “hangout” é uma integração com o GoogleTalk, e permite usar a webcam com várias pessoas;
  • Há uma área de notificações no topo, estilo do Facebook também, que mostra tudo o que está acontecendo na sua rede. Ao integrar o Google+, todas as outras barras mudam: no Gmail, por exemplo;
  • As notificações de interações em comentários, fotos, etc, vem por e-mail, porém a interface permite que cada atualização seja modificada – não enviar, enviar por email, ou ainda sms;
  • Há possibilidade do Google+ ler informações de georeferenciamento nas fotos enviadas;

E para finalizar, algumas coisas que considero bem importantes:

  • Há data liberation – os dados são seus (contatos, fotos, postagens, etc, e você pode solicitar backup dos mesmos. Coisa que não ocorre nas outras redes;
  • Possível integrar com twitter, facebook, yahoo!, flickr, linkedin, quora, yelp, hotmail e plaxo;

Alguns screenshots (PS: por algum motivo, Vic Gundotra está me seguindo, hehe)


Para concluir, achei o projeto matador. Em breve as apis estarão disponíveis, e vamos acompanhando o andamento e evoluções.

Assim que testar o mobile, posto as impressões!


Robson Dantas

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 3%

Diário de bordo – Google I/O 2011


Ano passado participei pela primeira vez do evento, que teve sua primeira edição em 2008, e concluí que deveria vir nos próximos, pois vale a pena.

Esse ano não foi diferente, e foi mais legal ainda. Mais legal pelo fato que consegui convencer outros brasileiros a participar da viagem, e também porque a qualidade do evento estava ainda melhor. Ah, a Google ainda pagou o hotel, que dividi com o Renato Mangini de BH – uma forma gentil que eles acharam para reconhecer o trabalho que fazemos nas comunidades SP-GTUG e BH-GTUG.

Saí de São Paulo no sábado 9/05, rumo a San Francisco, fazendo escala em Miami. Cheguei em San Francisco no domingo e  já saí correndo para o escritório da Google, onde tivemos um encontro das gtugs do mundo inteiro. Ano passado foi apenas um jantar, mas durante o ano de 2010 tivemos uma explosão de grupos iniciando e vários coordenadores decidiram participar do evento.

O Barcamp:

Depois de uma breve apresentação de todos os membros (havia mais de cem), recebemos stickers para escrever sobre um determinado tópico e que devíamos grudar em uma lousa branca. Depois de um processo de moderação, as conversas foram divididas em seis mesas, com tempo aproximado de uma hora para cada sessão.

barcamp - evento das gtugs

barcamp - evento das gtugs

tópicos para discussão no barcamp

tópicos para discussão no barcamp

Eu falei do processo de criação de um novo site para as GTUGs, onde o Renato também colaborou. Participamos também de forma bem ativa das outras discussões e que foram bem interessantes. O resumo de cada conversa pode ser visto aqui.

No final do evento, por volta das sete horas da noite, tivemos um jantar com comida e bebida a vontade. Também ganhamos uma jaqueta e camiseta personalizada das GTUGs.

Foi sem dúvida um evento histórico. É raro ter a oportunidade de falar com pessoas de mais de trinta países e trocar idéias e experiências sobre qualquer assunto que viesse na cabeça.

A mustang e visita a sede da Google:

Na segunda-feira, decidi alugar um carro e convidei outros brasileiros que estavam por lá. Quando chegamos na loja, o Sam da StudioSol deu a brilhante idéia de alugarmos uma Mustang, ao invés de um carro compacto comum. Como estávamos em quatro pessoas, a brincadeira saiu por volta de 50usd – razoável.

Demos uma volta pela Fisherman´s Wharf, onde é possível ver a ilha de Alcatraz. Almoçamos por ali mesmo e depois pegamos a auto estrada rumo a Mountain View, sede da Google. Não vou escrever sobre a sensação de dirigir uma Mustang, pois daria outro post, mas é algo bem legal.

mustang alugada em san francisco

mustang alugada em san francisco

Golden Gate bridge

Golden Gate bridge

Passamos pelo escritório da Google, tiramos foto em frente ao prédio do Android, usamos o wifi de visitante que é gratuito e passamos por dentro da antiga sede (nome que eles dão para o prédio que era da Silicon Graphics).

Eu, Sam e Bruno no prédio do Android

Eu, Sam e Bruno no prédio do Android

Na volta passamos na Target e Babies R US, e depois jantamos no Lori´s, que tem um milkshake de Oreo simplesmente fantástico.

Primeiro dia de Google I/O:

Já estava em San Francisco há dois dias, e a ansiedade para o evento só aumentava. Acordei às seis da manhã, e por volta das sete já estava lá para fazer o credenciamento e tomar o café da manhã. Tudo estava impecável, e verde! O que deixava claro o foco em Android na conferência.

Entrada do moscone west

Entrada do moscone west

Por volta das 8:30 a fila para o keynote já dava voltas dentro do Moscone West. Às  9:00, a entrada principal abriu, e o que eu via era apenas um monte de geeks correndo para pegar lugar na fileira mais próxima possível do palco. Consegui ficar na oitava fileira, o que foi bastante razoável.

Vic Gundotra abriu o evento, agradecendo a presença de todos, falando do histórico e das evoluções tomando como base a apresentação do ano passado. Mais uma vez, tempo para alfinetar a Apple, mostrando o boneco do Android comendo uma maça e com os números de milhares de ativações de Android por dia.

Vários membros do time do Android subiram ao palco para falar das novidades, incluindo integrações com hardware através do ADK (Android Development Kit). No final, a belíssima surpresa de que todos no evento estariam recebendo um Galaxy Tab da Samsung de 10’1.

Brasileiros felizes com o galaxy tab

Brasileiros felizes com o galaxy tab

Ao longo do dia, diversas palestras sobre Android, AppEngine e outras tecnologias aconteceram. As mesmas já estão disponíveis no site do Google I/O.

No final, uma festa com comida e bebida a vontade, além do show do Jane´s Addiction. Vários expositores estavam lá mostrando robôs, carros que voam e outras coisas mais …

Segundo dia de Google I/O:

No segundo dia, Sundar Pichai (Chrome) abriu o evento. Falou-se muito da evolução do Chrome, de segurança, do mercado, e como todas as empresas evoluíram seus browsers desde o momento que a Google começou a trabalhar fortemente em aspectos como segurança e HTML5.

Membros do time apareceram para mostrar experimentos com HTML5 e CSS3d e logo na sequência foi falado de Chrome OS e do cenário atual. Mais uma surpresa foi que todos os presentes no evento ganhariam um ChromeBook (não mais chamado de netbook) da Samsung.

Durante o dia, várias palestras aconteceram – desde Android, HTML5, até Python no Google e Venture Capital. Perdi algumas, pois fui convidado para uma chamada Advocate Summit – fechada e entrada permitida mediante convite. Tive a honra e a chance de participar de uma sessão fechada com o top management do Google: Vic Gundotra, Michael Winton, Sundar Pichai e dois outros nomes que não me recordo.

Advocate summit

Advocate summit

No final do dia, todos os GTUG managers foram convidados para um jantar próximo ao Moscone West, e os brasileiros que estavam comigo também participaram. Tive a chance de conhecer mais dois brasileiros empreendedores que moram lá em San Francisco: Rafael Sanches – criador do Recipe Search, app para Android bem famosa nos EUA, e sua esposa, Silvia.

Para fechar com chave de ouro, cada mesa de jantar teria direito a receber um ADK, e a pessoa que receberia, teria que ser escolhida por mérito. Como na mesa só havia brasileiros e o Renato já tinha o dele garantido, ficou pra mim. Como já tenho experiência com Arduino, vai ser tranquilo brincar com o aparelho.


Terminado o jantar, era hora de juntar as malas e voltar para o Brasil. No final desses eventos sempre reflito sobre as oportunidades que a vida me proporciona. O que tenho a dizer ? Sou uma pessoa privilegiada, e devo agradecer todos os dias por isso.

Quer participar do #io2012 ? Então veja aqui o que você precisa, e participe também do SP-GTUG – grupo o qual sou um dos coordenadores, onde discutimos sobre as tecnologias que a Google desenvolve.

Um abraço!

Robson Dantas

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 4%

AppEngine Python – Webservices através de ProtoRPC

Consegui dar uma parada para dar uma lida nos feeds e algo interessante chamou a atenção no blog do Google AppEngine: lançamento de uma api para webservices, chamada ProtoRPC .

Havia dado alguns passos usando o django-nonrel e um projeto para expor funcionalidades via REST, porém, esse esquema facilita e muito as coisas, principalmente ao expor simples serviços, como chamadas ajax, por exemplo.

Basicamente, você tem 3 passos:

  • Uma classe de request, que deriva de messages.Message;
  • Uma classe de respose, que também deriva de messages.Message;
  • Uma classe de serviço, que deriva de remote.Service, e que expõe os métodos;

Feito isso, só mapear sua aplicação para uma URL apontando a classe de serviço, e chamar o método. O exemplo completo pode ser visto aqui.

Nota: Por enquanto disponível somente para Python, mas em breve a versão Java será liberada.

Boa, Google!

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 3%

Removendo background de imagens usando ImageMagick (fundo transparente)

Esse post é curto, porém bem útil. Algumas vezes precisei remover o fundo de uma imagem, ou seja, deixá-la transparente.

Vamos falar que sua foto tem um fundo totalmente verde, e que você quer removê-lo. Fazer isso no GIMP, Photoshop, ou outros, leva um tempinho, dependendo dos detalhes da imagem.

Daí que entra um conjunto de utilitários para linha de comando – chamado ImageMagick - que permite realizar uma série de operações, entre eles remover fundo, compor imagens, converter formatos, etc.

Lembro que esse utilitário era usado para tratar imagens em uma empresa que faz sistemas para trânsito na qual trabalhei, já que também tem APIs para várias linguagens: C++, perl, php, C#, python, etc.

Então, vamos ao trabalho:  Supondo que você tenha a imagem abaixo, chamada imagem1.gif, e que queira converter para um png transparente:

imagem com fundo vermelho

imagem com fundo vermelho

Rodando o comando abaixo, teremos uma imagem transparente (png):

/diretorio_image_magick/convert.exe vermelho.gif -transparent red vermelho.png

Em outras palavras: Rode convert.exe no arquivo vermelho.gif e tire todo o vermelho, salvando como vermelho.png. Resultado abaixo:

imagem sem o fundo vermelho

imagem sem o fundo vermelho

Obviamente que há outros parâmetros que você pode brincar, como o fuzz (lógica fuzzy). Basta olhar a vasta documentação no site, que eu recomendo, dado o poder da biblioteca.

Um abraço,

Robson Dantas

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 4%

« Página AnteriorPágina Seguinte »

Vale Presente