Hoje estou muito satisfeito com minhas evoluções na linha de comando. Ontem resolvi por começar a assistir todos os vídeos do peepcode, já que comprei uma conta premium vou poder assistir muito conteúdo de qualidade.

Em 2 dias já assisti alguns vídeos e a qualidade do screencast é realmente muito boa. Já assisti:

Esta semana estive trabalhando em colocar um ambiente totalmente novo e mais descente no meu Ubuntu 10.4. Quero utilizar apenas tecnologias Open Source para desenvolver e este é meu primeiro post deixando o Maczinho de lado.

Não estou abandonando o Mac, mas vou ministrar um curso daqui a alguns meses e quero utilizar apenas software livre no curso.

Como sou consultor, quero sempre utilizar o que há de melhor em tecnologia e também saber dos hits da comunidade (Rails, HTML5, jQuery) entre outros frameworks, ferramentas, linguagens que facilitem a vida.

Uma de minhas estratégias será criar um ambiente funcional de desenvolvimento já customizado. Uma forma de incentivo aos programadores mais novos já conhecerem um ambiente mais produtivo.

A respeito da produtividade, gostaria de citar a linguagem sh. Após assistir o vídeo Advanced Command Line do peepcode, percebi que apesar de me sentir confortável com a linha de comando, muitas vezes deixava de usufruir das funcionalidades por simples desleixo.

Por exemplo, utilizar funções em sh é muito simples:

~/code/site$ function hello(){ echo "seja bem vindo $1" ;  }

E agora é só usufruir do “hello world”

~/code/site$ hello jonatas
seja bem vindo jonatas
~/code/site$ hello ubuntu linux
seja bem vindo ubuntu

Mas note que não pegou os outros argumentos por que utilizei “$1”. Para pegar todos os argumentos, é só utilizar “*” ao invés do número do argumento. Desta forma podemos sobrescrever a função:

~/code/site$ function hello(){ echo "seja bem vindo $*" ;  }
~/code/site$ hello ubuntu linux da silva junior
seja bem vindo ubuntu linux da silva junior

Agora só vamos dar uma twittada sobre o assunto:

~/code/site$ function twitt() { \
curl -d status='$*' \
http://jonatasdp:pegadinhadomalandro@twitter.com/statuses/update.xml ;}
~$ twitt consigo twittar pela linha de comando livremente! #uhuu

Esta linha de comando devolveu o seguinte xml:

<?xml version="1.0" encoding="UTF-8"?>
<status>
  <created_at>Sun May 30 23:09:12 +0000 2010</created_at>
    <id>15069961307</id>
    <text>twitting from comand line :D</text>
    <source><a href="http://apiwiki.twitter.com/" rel="nofollow">API</a></source>
    <truncated>false</truncated>
    <in_reply_to_status_id></in_reply_to_status_id>
    <in_reply_to_user_id></in_reply_to_user_id>
    <favorited>false</favorited>
    <in_reply_to_screen_name></in_reply_to_screen_name>
    <user>
      <id>19349634</id>
      <name>Jônatas Paganini</name>
      <screen_name>jonatasdp</screen_name>
      <location>Francisco Beltrão, PR</location>
      <description>Programador freelancer em Francisco Beltrão. Nerd interessado em web 2.0, novidades, tecnologias Open Source, trabalhar pouco e ganhar bem 8-) </description>
      <profile_image_url>http://a3.twimg.com/profile_images/337906557/twitterProfilePhoto_normal.jpg</profile_image_url>
      <url>http://ideia.me</url>
      <protected>false</protected>
      <followers_count>94</followers_count>
      <profile_background_color>ffffff</profile_background_color>
      <profile_text_color>333333</profile_text_color>
      <profile_link_color>0084B4</profile_link_color>
      <profile_sidebar_fill_color>DDFFCC</profile_sidebar_fill_color>
      <profile_sidebar_border_color>BDDCAD</profile_sidebar_border_color>
      <friends_count>121</friends_count>
      <created_at>Thu Jan 22 17:31:54 +0000 2009</created_at>
      <favourites_count>1</favourites_count>
      <utc_offset>-10800</utc_offset>
      <time_zone>Brasilia</time_zone>
      <profile_background_image_url>http://a1.twimg.com/profile_background_images/4066654/carbon-footprint-1.jpg</profile_background_image_url>
      <profile_background_tile>false</profile_background_tile>
      <notifications>false</notifications>
      <geo_enabled>true</geo_enabled>
      <verified>false</verified>
      <following>false</following>
      <statuses_count>331</statuses_count>
      <lang>en</lang>
      <contributors_enabled>false</contributors_enabled>
    </user>
    <geo/>
    <coordinates/>
  <place/>
 <contributors/>
</status>

ps: Se você é um programador saiba que o Terminal é seu amigo e juntos vão fazer maravilhas 8-)

ps2: Investir tempo em aprender estes tricks vale a pena!


Share → Twitter Facebook Linkedin


Hello there, my name is Jônatas Davi Paganini and this is my personal blog.
I'm developer advocate at Timescale and I also have a few open source projects on github.

Check my talks or connect with me via linkedin / twitter / github / instagram / facebook / strava / meetup.