06
abr 15

Como saber seu IP externo

Dica rápida sobre como obter seu IP externo.

Eu sei dosi sites para obter o IP em texto puto (plain text)

http://xmlip.com/none

http://echoip.com

Para guardar o valor em um arquivo para consulta por qualquer programa ou rotina pode-se usar o comando abaixo usando curl:

curl -s echoip.com > meuIP.txt

ou com wget:

wget echoip.com --no-cache -qO-

Abs.


08
jan 15

Como configurar IP estático/fixo no RaspberryPi

Nesse post vou explicar rapidamente como configurar um IP estático/fixo no RaspberryPi. Por padrão ele vem configurado para DHCP, isto é, ele obtêm o IP automaticamente. Essa dica é muito útil quando não se deseja usar IP dinâmico ou se você deseja se conectar ao seu Raspi remotamente sem usar um monitor ligado a ele, via comando ssh, por exemplo.

Vou assumir que você já instalou o sistema operacional e já está com seu RaspiberryPi rodando corretamente. Caso não tenha feito isso pode consultar o tutorial oficial para executar esses primeiros passos. Também pressuponho que o seu Raspi está conectado a uma rede usando cabo.

Vamos lá!

1. Entre no terminal/console do linux informando o nome de usuário e a senha. Se você não mudou o padrão o usuário é pi e a raspberry.

2. Antes de começar vamos fazer um backup dp arquivo que vamo smudar, só por garantia ;). Execute o comando abaixo.

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

3. Para configurar seu IP estático corretamente você precisará de alguns dados sobre suas configurações de rede. Para isso execute os dois comandos abaixo e anote as informações que precisamos.

Primeiro o comando ifconfig

Anote esses dados (aqui são os meus :p ):

inet addr – 192.168.1.81 - IP do Raspi
Bcast – 192.168.1.255 - Broadcast
Mask – 255.255.255.0 - Máscara da subrede

Agora o comando netstat -nr

Anote:

Gateway – 192.168.1.1
Destination – 192.168.1.0

4. Com esses dados guardados abra o arquivo /etc/network/interfaces.

sudo nano /etc/network/interfaces

Altere a linha

iface eth0 inet dhcp

para

iface eth0 inet static

E adicione as informações que obtemos anteriormente conforme demonstrado nas imagens abaixo.

address 192.168.1.112
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0

depois fica assim…

5. Salve o arquivo e saia do editor usando o comando CRTL+X e depois Y para confirmar.

6. Reinicie o serviço de rede como o comando:

sudo /etc/init.d/networking restart

Ou reinicie o linux usando o comando:

sudo reboot

Se tudo deu certo seu Raspi agora roda com IP fixo 😉

É isso amigos. Espero ter ajudado.

Abs.


28
ago 13

[Dica] Extrair uma lista de arquivos ZIP em diretórios separados

Dica rápida.

Precisei extrair uma lista de arquivos JAR, mas queria todos nos diretórios com seus nomes. Usando Linux ou Mac OS X.

Por exemplo: asm.jar, dwr.jar e xdoclet.jar nas pastas

asm/
dwr/
xdoclet/
for i in *.zip; do unzip -d "${i%*.zip}" "$i"; done

Explicando:

for i in *.zip

> Lista os arquivos zip, jar, etc, o que for, e a cada iteração do for guarda o nome do arquivo na variável i.

unzip -d "${i%*.zip}" "$i"

> Parâmetro -d cria o diretório usando o nome do arquivo que está na variável i, mas removendo o .zip do final. O último parâmetro pode  “$i” informa o nome do arquivo a ser descompactado.

É isso.

Abs.


10
jun 12

Comando para remover os arquivos SVN de um diretório

Esse comando é útil para remover todos os arquivos .svn do diretório atual recursivamente. Facilita bastante quando você quer limpara um projeto obtido do SVN ou quando você quer incluir um diretório de um repositório SVN em outro repositório.

find . -iname .svn | xargs rm -rf

Pequena explicação:

find . -iname .svn: encontra todos os arquivos ou diretórios com o nome .svn
xargs rm -rf: o xargs executa o comando que apaga (rm) todos os .svn listados

Obs.: Funciona bonito tanto no Linux quanto no Mac OS X. 😉

Abs.


01
ago 10

FISL 11. Impressões finais.

Eu já tinha falado um pouco do meu primeiro dia de FISL, terceiro do evento. Faltava falar do último dia. Eu estava muito pegado no trabalho e com problemas domésticos, mas finalmente sobrou um tempinho para eu poder registrar esse último dia.

#AkitaOnRails

Para começar bem o dia eu assisti a palestra do Fábio Akita, que falou sobre o “Ecossistema Ruby on Rails”. Pô! De novo? Ele que ele fez a mesma apresentação no Dev in Rio 2009. Mais ou menos. Basicamente foi a mesma apresentação, mas como ele mesmo disse: essa estava completa. No Dev in Rio ele teve que reduzir a apresentação para caber em uma hora. No FISL ele teve mais tempo e apresentou todo o material. Ele falou da filosofia por trás da arquitetura do Ruby (“Tornar as coisas simples fáceis, e as coisas complexas possíveis”).

Simplicidade. É uma das coisas que mais gosto no Ruby, particularmente no Ruby on Rails. Como ela incentiva o uso de boas práticas com a simplificação do trabalho manual. Você não perde tempo com configurações e coisa e tal, e fica com mais tempo para depurar e testar o seu código. Se sabemos que precisaremos de MVC, CSS, javascript, uma estrutura padronizada, então porque perder tempo fazendo tudo de novo a cada projeto. O Ruby on Rails faz tipo assim: Vamos combinar uma coisa. Deixa que eu me preocupo em fazer o trabalho manual, e você se  preocupa em fazer o trabalho criativo. Claro que temos que aprender como o RoR faz esse trabalho, mas não temos que aprender vários frameworks mesmo. Então porque não aprendemos um bem útil e produtivo?

Claro que ele falou da parte técnica, também.  Falou de tudo que é usado num ambiente de desenvolvimento Ruby profissional, como repositórios, integração, monitoramento, teste, servidores, frameworks, bancos de dados, etc..  E enriqueceu muito a apresentação mostrando as referências de sites com conteúdo para aprendizado do Ruby e Rails como o rubylearning.org, guides.rubyonrails.org, railscasts.com, e cursos presenciais e on-line aqui no Brasil.

Uma das coisas mais legais nessa apresentação foi que ele quis deixar claro que nenhuma linguagem/plataforma é “simplesmente” melhor que outra. Isso vindo dele, que é uma referência, é sempre legal. Temos que se acabar com essa discussão sem fim sobre o que é melhor o que. Um lugar para cada coisa e cada coisa em seu lugar, Correto?
Foi uma ótima apresentação.

Mais detalhes na apresentação do Akita aqui: (Fisl 11 – Ecossistema Ruby on Rails)

#AkitaOnRails 2

A segunda palestra que eu vi também foi com o Akita, mas com um enfoque diferente. E essa, em minha opinião, foi uma das melhores palestras que eu assisti no evento. Título: Dicas de Desenvolvimento Web com Ruby.

Ele apresentou dicas de como melhorar o desempenho de aplicações web. Os exemplos de implementação dados por ele foram todos para o mundo Ruby, mas as dicas podem muito bem ser usadas para qualquer aplicação web, independente de plataforma.

Por exemplo: redução do número de requisições e minificação de CSS e javascript, uso do javascript embaixo da página (perto do </body>) para agilizar o carregamento do conteúdo deixando os scripts para o final, utilização de asset hosts para aumentar o número de conexões simultâneas por domíno na hora de carregar conteúdo,  uso de CDN (Content Delivery Network), agendamento de tarefas e outras. Na verdade são mais de 30 técnicas e boas prática para desenvolvimento para web, mas ele apresentou apenas 6, e só essas já fariam milagres para 80% dos sites que eu conheço. :p

Algumas técnicas apresentadas utilizaram soluções RoR, mas podem muito bem ser implementadas com Java, .Net, PHP, e por aí vai. Algumas são tão simples que basta copiar e colar (ou coisa parecida), como as técnicas de diminuir as requisições e de colocar o javascript embaixo da página.

Mais que uma palestra com dicas, foi uma aula de como podemos fazer sempre o melhor, nos preocupando não somente em entregar, mas buscando otimizar ao máximo os produtos que criamos. Parabéns Akita!

Mais detalhes na apresentação do Akita aqui: (Fisl 11 – Dicas de Desenvolvimento Web com Ruby)

Funny Inveja Maker

Merece registro também a apresentação “Nokia N900 – Inveja Maker” com o Anahuac de Paula Gil. Ele mostrou os principais recursos do seu poderoso N900 (multitarefa, processador, memória, câmera, S.O. linux, etc, etc, etc.), e comparou com outros smartphones “menos providos” de tanta tecnologia. Foi muito engraçado, pois ele além de já ser um cara muito divertido, não perdeu tempo em sacanear todo mundo que não tinha um N900, principalmente os que tinham iPhones.

Ah. Ele fez a apresentação direto do N900 😉

#HoraExtra

Destaque especial para a galera do #HoraExtra aqui do Rio. Eles estavam super inspirados e criaram nada menos que seis aplicações nos quatro dias de FISL. Tá bom ou quer mais? Quer mais? Bem. Além disso organizaram  sessões de Dojo, que foram um sucesso total. Muita gente não conhecia o conseito do Dojo, e foi uma ótima oportunidade para divulgar. Mais? A galera teve diversas palestras aprovadas e no dia 23-07 Sylvestre Mergulhão e Henrique Crang arrebentaram com a mais falada apresentação do FISL: “Por que eu sou fanático por testes e você é um bundão”. Muito show.

Mas para mim o destaque da galera foi do desenvolvimento das aplicações. Todas simples e muito criativas (feitas com Rails e uma com Python). E era essa a idéia. Criar aplicações funcionais usando boas práticas de desenvolvimento, claro, e com todo mundo se divertindo. Inicialmente elas eram publicadas no Heroku, mas algumas já tem seu próprio domínio como a deRessaca e a Desoroscopo, a que eu mais gostei.

Confira aqui as aplicações:

E aqui a lista dos repositórios no Github:

http://github.com/horaextra/desoroscopo
http://github.com/horaextra/banheiro
http://github.com/horaextra/deressaca
http://github.com/horaextra/bullshitometro
http://github.com/horaextra/dojomap
http://github.com/horaextra/descertificador

Foi uma ótima participação de toda a galera. Parabéns a todos. E vamos aguardar o que será feito no próxmo FISL, a galera não vai se contentar com menos. rsrs

Conclusão

Adorei o FISL, e já estou pensando no próximo. Pude trocar idéias com pessoas de outros estados e que trabalham com tecnologias muito diversas. Isso enriquesse muito. A convivência com a diversidade amplia muito seus horizontes, tão acostumados ao dia a dia.

Conheci pessoalmente muita gente legal que só houvia falar ou só conhecia através da internet. Isso foi sensacional.

Outra coisa legal do evento foi estar em contato com profissionais que estão preocupados não em entregar o produto, mas sim em fazê-lo funcionar da melhor forma possível e entregando produtos de qualidade.  Isso é inspirador, e contagiante. É uma das coisas que mais gosto quando vou nesses eventos. Eu sempre volto revigorado e cheio de idéias novas.

Agora é aguardar o evento do ano que vem. FISL 12, eu vou 😉

Abs.