Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
cover do http://fernandoike.com

octopress e post em modo rascunho

23 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Quando crio um novo post, às vezes esquece de adicionar o campo published configurado como false. Ele possibilita você trabalhar num post até que ele estar finalizado sem que seja publicado, somente no modo preview (rake preview)que você conseguirá ver o post inacabado e fazer testes dele.

Depois de criar um novo post com rake new_post, precisar acrecentar um o campo published configurado como false:

1
published: false

Ao finalizar o post, basta troca false por true.

1
published: true

Também pode fazer uma modificação no Rakefile, assim ao criar um post será automaticamente criado o “published: false”.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
desc "Begin a new post in #{source_dir}/#{posts_dir}"
task :new_post, :title do |t, args|
  if args.title
    title = args.title
  else
    title = get_stdin("Enter a title for your post: ")
  end
  raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
  mkdir_p "#{source_dir}/#{posts_dir}"
  filename = "#{source_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"
  if File.exist?(filename)
    abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
  end
  puts "Creating new post: #{filename}"
  open(filename, 'w') do |post|
    post.puts "---"
    post.puts "layout: post"
    post.puts "title: \"#{title.gsub(/&/,'&')}\""
    post.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
    post.puts "comments: true"
    post.puts "published: false"
    post.puts "categories: "
    post.puts "---"
  end
end
...

No código acima tem uma linha a mais que o arquivo Rakefile original. A linha post.puts “published: false” foi acrescentada para que ao criar um seja adicionado automaticamente. ;)



PGBR 2013 - Inscrições Abertas

22 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Está aberto as inscrições para participar da PGBR 2013, um dos maiores eventos PostgreSQL do mundo. São mais de 30 palestras de alto nível técnico.

Infelizmente esse ano não poderei estar participando por força maior mas testarei acompanhando de longe o professor Bueno e sua trupe em Porto Velho a conferência PostgreSQL Brasileira mais bacanas de todos os tempos.

Ah! Já estava esquecendo, não deixe de ver a grade de palestranes e palestras. Verá que está imperdível! Vou dizer mais, provavelmente em 2014 a conferência será novamente lá em Porto Velho! :)



Debian e sua CDN

20 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

&lt;p&gt;Esse post nasceu de uma [discussão][1] no Facebook sobre um dos projetos de [CDN][2] em teste no Debian. Um deles é a [cdn.debian.net][3] e o outro é o [http.debian.net][4].&lt;/p&gt; &lt;p&gt;Testar ambos projetos não precisa de muito trabalho basta acrescentar ou alterar o sources.list:&lt;/p&gt; &lt;pre&gt; deb http://http.debian.net/debian stable main &lt;/pre&gt; &lt;p&gt;Ou:&lt;/p&gt; &lt;pre&gt; deb http://cdn.debian.net/debian stable main &lt;/pre&gt; &lt;p&gt;O funcionamento dos dois é levemente diferente, o cdn.debian.net é baseado em [geoDNS][5] e o http.debian.net tem uma proposta um pouco mais sofisticada. O teste abaixo é para o cdn.debian.net mas se quiser testar o http.debian.net pode testar o [demo][6].&lt;/p&gt; &lt;p&gt;No Brasil, o servidor da cdn.debian.net mapeado é o &lt;strong&gt;200.19.252.56&lt;/strong&gt; e pode verficar usando o &lt;strong&gt;dig&lt;/strong&gt;.&lt;/p&gt; &lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span&gt;1&lt;/span&gt; &lt;span&gt;2&lt;/span&gt; &lt;span&gt;3&lt;/span&gt; &lt;span&gt;4&lt;/span&gt; &lt;span&gt;5&lt;/span&gt; &lt;span&gt;6&lt;/span&gt; &lt;span&gt;7&lt;/span&gt; &lt;span&gt;8&lt;/span&gt; &lt;span&gt;9&lt;/span&gt; &lt;span&gt;10&lt;/span&gt; &lt;span&gt;11&lt;/span&gt; &lt;span&gt;12&lt;/span&gt; &lt;span&gt;13&lt;/span&gt; &lt;span&gt;14&lt;/span&gt; &lt;span&gt;15&lt;/span&gt; &lt;span&gt;16&lt;/span&gt; &lt;span&gt;17&lt;/span&gt; &lt;span&gt;18&lt;/span&gt; &lt;span&gt;19&lt;/span&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;&lt;span&gt;dig cdn.debian.net &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;; &amp;lt;&amp;lt;&gt;&gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&gt;&gt; cdn.debian.net &lt;/span&gt;&lt;span&gt;;; global options: +cmd &lt;/span&gt;&lt;span&gt;;; Got answer: &lt;/span&gt;&lt;span&gt;;; -&gt;&gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 1245 &lt;/span&gt;&lt;span&gt;;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;;; QUESTION SECTION: &lt;/span&gt;&lt;span&gt;;cdn.debian.net. IN A &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;;; ANSWER SECTION: &lt;/span&gt;&lt;span&gt;cdn.debian.net. 3021 IN CNAME deb.cdn.araki.net. &lt;/span&gt;&lt;span&gt;deb.cdn.araki.net. 6 IN A 200.19.252.56 &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;;; Query time: 17 msec &lt;/span&gt;&lt;span&gt;;; SERVER: 200.175.5.139#53(200.175.5.139) &lt;/span&gt;&lt;span&gt;;; WHEN: Fri May 31 23:45:47 2013 &lt;/span&gt;&lt;span&gt;;; MSG SIZE rcvd: 76&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;Descoberto o IP do servidor é testar se responde corretamente:&lt;/p&gt; &lt;pre&gt; curl -I -H &quot;Host:cdn.debian.net&quot; http://200.19.252.56/debian/ HTTP/1.1 200 OK Date: Sat, 01 Jun 2013 02:59:00 GMT Server: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch Content-Type: text/html;charset=UTF-8 &lt;/pre&gt; &lt;p&gt;Olha que interessante, o servidor do repositório &lt;strong&gt;Debian&lt;/strong&gt; é um &lt;strong&gt;Ubuntu&lt;/strong&gt;. Não que isso seja um problema, poderia ser um Sistema Operacional proprietário, o mais importante para uma [CDN][7] como esta é disponibilidade de recurso (armazenamento dos pacotes e banda). ;)&lt;/p&gt; &lt;p&gt;Vamos testar outro servidor, um que esteja foda da América do Sul, para isso devemos recorrer novamente ao &lt;strong&gt;dig&lt;/strong&gt; mas fazendo a consulta em um servidor DNS em outro continente como é o DNS público do Google.&lt;/p&gt; &lt;pre&gt; root@klatoon:~# dig cdn.debian.net @8.8.8.8 ; &amp;lt;&amp;lt;&gt;&gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&gt;&gt; cdn.debian.net @8.8.8.8 ;; global options: +cmd ;; Got answer: ;; -&gt;&gt;HEADER&amp;lt;&lt;/pre&gt; &lt;p&gt;O retorno do dig é um IP diferente, agora retornou &lt;strong&gt;128.30.2.36&lt;/strong&gt;, vamos testar o retorno do servidor com &lt;strong&gt;curl&lt;/strong&gt; novamente.&lt;/p&gt; &lt;pre&gt; fike@klatoon:~$ curl -H &quot;Host:cdn.debian.net&quot; http://128.30.2.36/debian/pool <!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt; 301 Moved Permanently &lt;h1&gt;Moved Permanently&lt;/h1&gt; &lt;p&gt;The document has moved &lt;a href=&quot;http://cdn.debian.net/debian/pool/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;hr /&gt; &lt;address&gt;Apache/2.2.16 (Debian) Server at cdn.debian.net Port 80&lt;/address&gt; =================== Hum... Agora o servidor respondeu como sendo um Debian. ;) [1]: https://www.facebook.com/eribertomota/posts/10200459836833517?comment_id=5113409&amp;offset=0&amp;total_comments=20&amp;notif_t=share_reply [2]: http://wiki.debian.org/DebianGeoMirror [3]: http://cdn.debian.net/ [4]: http://http.debian.net/ [5]: http://www.caraytech.com/geodns/ [6]: http://http.debian.net/demo.html [7]: https://en.wikipedia.org/wiki/Content_delivery_network&lt;/pre&gt;



Algumas opções do dig

20 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

<p>Muitas pessoas gostam de usar o <strong>nslookup</strong> para pesquisar informação de DNS. Eu, particularmente eu prefiro usar o <strong>dig</strong> e logo mais abaixo tem algumas opções se você tiver interesse em usá-lo. ;)</p> <p>Como fazer uma consulta sobre o reverso de endereço de rede (IP):</p> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> <span class="line-number">2</span> <span class="line-number">3</span> <span class="line-number">4</span> <span class="line-number">5</span> <span class="line-number">6</span> <span class="line-number">7</span> <span class="line-number">8</span> <span class="line-number">9</span> <span class="line-number">10</span> <span class="line-number">11</span> <span class="line-number">12</span> <span class="line-number">13</span> <span class="line-number">14</span> <span class="line-number">15</span> <span class="line-number">16</span> <span class="line-number">17</span> <span class="line-number">18</span> </pre></td><td class="code"><pre><code class=""><span class="line">$ dig -x 8.8.8.8 </span><span class="line"> </span><span class="line">; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> -x 8.8.8.8 </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 6197 </span><span class="line">;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 </span><span class="line"> </span><span class="line">;; QUESTION SECTION: </span><span class="line">;8.8.8.8.in-addr.arpa. IN PTR </span><span class="line"> </span><span class="line">;; ANSWER SECTION: </span><span class="line">8.8.8.8.in-addr.arpa. 41387 IN PTR google-public-dns-a.google.com. </span><span class="line"> </span><span class="line">;; Query time: 223 msec </span><span class="line">;; SERVER: 200.175.5.139#53(200.175.5.139) </span><span class="line">;; WHEN: Fri May 17 22:54:23 2013 </span><span class="line">;; MSG SIZE rcvd: 82</span></code></pre></td></tr></table></div> <p>No caso acima o DNS reverso para o endereço de rede <strong>8.8.8.8</strong> é <strong>google-public-dns-a.google.com</strong>. Porém, se quisermos saber o(s) servidor(es) de email de um domínio?</p> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> <span class="line-number">2</span> <span class="line-number">3</span> <span class="line-number">4</span> <span class="line-number">5</span> <span class="line-number">6</span> <span class="line-number">7</span> <span class="line-number">8</span> <span class="line-number">9</span> <span class="line-number">10</span> <span class="line-number">11</span> <span class="line-number">12</span> <span class="line-number">13</span> <span class="line-number">14</span> <span class="line-number">15</span> <span class="line-number">16</span> <span class="line-number">17</span> <span class="line-number">18</span> <span class="line-number">19</span> <span class="line-number">20</span> <span class="line-number">21</span> <span class="line-number">22</span> <span class="line-number">23</span> <span class="line-number">24</span> <span class="line-number">25</span> <span class="line-number">26</span> <span class="line-number">27</span> <span class="line-number">28</span> <span class="line-number">29</span> <span class="line-number">30</span> <span class="line-number">31</span> <span class="line-number">32</span> </pre></td><td class="code"><pre><code class=""><span class="line">dig mx gmail.com </span><span class="line"> </span><span class="line">; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> mx gmail.com </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 1486 </span><span class="line">;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 8 </span><span class="line"> </span><span class="line">;; QUESTION SECTION: </span><span class="line">;gmail.com. IN MX </span><span class="line"> </span><span class="line">;; ANSWER SECTION: </span><span class="line">gmail.com. 2851 IN MX 40 alt4.gmail-smtp-in.l.google.com. </span><span class="line">gmail.com. 2851 IN MX 20 alt2.gmail-smtp-in.l.google.com. </span><span class="line">gmail.com. 2851 IN MX 5 gmail-smtp-in.l.google.com. </span><span class="line">gmail.com. 2851 IN MX 30 alt3.gmail-smtp-in.l.google.com. </span><span class="line">gmail.com. 2851 IN MX 10 alt1.gmail-smtp-in.l.google.com. </span><span class="line"> </span><span class="line">;; ADDITIONAL SECTION: </span><span class="line">gmail-smtp-in.l.google.com. 197 IN A 74.125.140.27 </span><span class="line">gmail-smtp-in.l.google.com. 259 IN AAAA 2607:f8b0:4002:c04::1b </span><span class="line">alt3.gmail-smtp-in.l.google.com. 44 IN A 173.194.65.26 </span><span class="line">alt3.gmail-smtp-in.l.google.com. 62 IN AAAA 2a00:1450:4013:c00::1b </span><span class="line">alt1.gmail-smtp-in.l.google.com. 267 IN A 173.194.73.27 </span><span class="line">alt1.gmail-smtp-in.l.google.com. 171 IN AAAA 2607:f8b0:400c:c02::1a </span><span class="line">alt4.gmail-smtp-in.l.google.com. 190 IN A 173.194.70.27 </span><span class="line">alt4.gmail-smtp-in.l.google.com. 31 IN AAAA 2a00:1450:4001:c02::1a </span><span class="line"> </span><span class="line">;; Query time: 17 msec </span><span class="line">;; SERVER: 200.175.5.139#53(200.175.5.139) </span><span class="line">;; WHEN: Fri May 17 23:03:30 2013 </span><span class="line">;; MSG SIZE rcvd: 326</span></code></pre></td></tr></table></div> <p>Consultar os servidores DNS de um domínio?</p> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> <span class="line-number">2</span> <span class="line-number">3</span> <span class="line-number">4</span> <span class="line-number">5</span> <span class="line-number">6</span> <span class="line-number">7</span> <span class="line-number">8</span> <span class="line-number">9</span> <span class="line-number">10</span> <span class="line-number">11</span> <span class="line-number">12</span> <span class="line-number">13</span> <span class="line-number">14</span> <span class="line-number">15</span> <span class="line-number">16</span> <span class="line-number">17</span> <span class="line-number">18</span> <span class="line-number">19</span> <span class="line-number">20</span> <span class="line-number">21</span> <span class="line-number">22</span> <span class="line-number">23</span> <span class="line-number">24</span> <span class="line-number">25</span> <span class="line-number">26</span> <span class="line-number">27</span> </pre></td><td class="code"><pre><code class=""><span class="line">$dig NS gmail.com </span><span class="line"> </span><span class="line">; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> NS gmail.com </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 15754 </span><span class="line">;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4 </span><span class="line"> </span><span class="line">;; QUESTION SECTION: </span><span class="line">;gmail.com. IN NS </span><span class="line"> </span><span class="line">;; ANSWER SECTION: </span><span class="line">gmail.com. 337395 IN NS ns2.google.com. </span><span class="line">gmail.com. 337395 IN NS ns4.google.com. </span><span class="line">gmail.com. 337395 IN NS ns3.google.com. </span><span class="line">gmail.com. 337395 IN NS ns1.google.com. </span><span class="line"> </span><span class="line">;; ADDITIONAL SECTION: </span><span class="line">ns4.google.com. 299858 IN A 216.239.38.10 </span><span class="line">ns3.google.com. 299798 IN A 216.239.36.10 </span><span class="line">ns1.google.com. 299798 IN A 216.239.32.10 </span><span class="line">ns2.google.com. 299824 IN A 216.239.34.10 </span><span class="line"> </span><span class="line">;; Query time: 21 msec </span><span class="line">;; SERVER: 200.175.5.139#53(200.175.5.139) </span><span class="line">;; WHEN: Fri May 17 23:07:04 2013 </span><span class="line">;; MSG SIZE rcvd: 170</span></code></pre></td></tr></table></div> <p>Consultar um servidor DNS responsável por um domínio?</p> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> <span class="line-number">2</span> <span class="line-number">3</span> <span class="line-number">4</span> <span class="line-number">5</span> <span class="line-number">6</span> <span class="line-number">7</span> <span class="line-number">8</span> <span class="line-number">9</span> <span class="line-number">10</span> <span class="line-number">11</span> <span class="line-number">12</span> <span class="line-number">13</span> <span class="line-number">14</span> <span class="line-number">15</span> <span class="line-number">16</span> <span class="line-number">17</span> <span class="line-number">18</span> <span class="line-number">19</span> <span class="line-number">20</span> <span class="line-number">21</span> </pre></td><td class="code"><pre><code class=""><span class="line">$dig A www.google.com.br @ns1.google.com </span><span class="line"> </span><span class="line">; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> A www.google.com.br @ns1.google.com </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 53502 </span><span class="line">;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 </span><span class="line">;; WARNING: recursion requested but not available </span><span class="line"> </span><span class="line">;; QUESTION SECTION: </span><span class="line">;www.google.com.br. IN A </span><span class="line"> </span><span class="line">;; ANSWER SECTION: </span><span class="line">www.google.com.br. 300 IN A 74.125.234.87 </span><span class="line">www.google.com.br. 300 IN A 74.125.234.88 </span><span class="line">www.google.com.br. 300 IN A 74.125.234.95 </span><span class="line"> </span><span class="line">;; Query time: 12 msec </span><span class="line">;; SERVER: 216.239.32.10#53(216.239.32.10) </span><span class="line">;; WHEN: Fri May 17 23:11:23 2013 </span><span class="line">;; MSG SIZE rcvd: 83</span></code></pre></td></tr></table></div> <p>Para saber mais&#8230; ;)</p> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> </pre></td><td class="code"><pre><code class=""><span class="line">$man dig</span></code></pre></td></tr></table></div>



Novo Google Plus

16 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Como muitos sabem, essa semana está acontecendo o Google I/O. Este evento é teoricamente feito para desenvolvedores mas o grande impacto á maior na imprensa.

Uma das coisas imediatas à realização do Google I/O é que o Google + (Plus) está ficando melhor para enfrentar a concorrência. A interface mudou, agora está menos limpa (clean) ou podemos dizer que está com mais cores. :)

Postando pelo Gmail.



Debian Wheezy Released

15 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

layout: post title: “Debian Wheezy released!” date: 2013-05-15 11:39 comments: true

categories:

Somedays its released a new Debian stable version 7.0 and Wheezy codiname.

Why Wheezy? Wheezy is sign penguim name in Toy Story. Debian has for traditional to use your version releases codiname (aka nickname). So, in the near future, the new stable version will be “Jessie”.

Jessie? Yes, she is a cowgirl in Toy Story.

Oh God, I forgouten, my recomendation ready the Release Notes that has the news about this version.



Debian Wheezy chegou!

9 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Agora em Maio saiu a nova versão estável do Debian que chegou na versão 7.0 e de codinome Wheezy.

Por que Wheezy? Wheezy é o nome do pinguim cantor em Toy Story. Ah, O Debian tem por tradição usa codinome de suas versões. A próxima versão estável do Debian terá o nome de Jessie.

Jessie? Sim, ela é a cowgirl(?) em Toy Story. :)

Ah… Já ia me esquecendo, recomendo ler as notas de lançamentos que traz as novidades da nova versão. :)



Pés Cascudos: Tentando voltar ao mundo das corridas

8 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Este último fim de semana participei da 1a Corrida do Jóquei. Além de estar voltando a correr lentamente sem a preocupação de fazer tempo, estou me recuperando de um resfriado. Então, era para ser assim mas não foi…

Na largada fui devagar, tentando não forçar o ritmo mas ao passar o 1o km já estava com metade de um pulmão para fora do corpo e bateu o desespero de chegar logo e acabar com aquilo. O que eu fiz? Ao invés de correr mais devagar, apertei mais passada. Não preciso dizer que ao final os meus pulmões estavam querendo derrubar meu cérebro e quase conseguiram no final da prova, tive que passar no posto médico. =/

Então, lição dada é lição aprendida. Nunca mais faço algo assim novamente. Na próxima vou levar um boné com uma plaquinha escrita: “Devagar, devagar…”

Obs. O ácido lático está fazendo hora extra nas minhas pernas…

Obs. 2: O percurso foi legal, organização também foi bem feita e apesar dos probleminhas, eu curti. ;)