Ah, o vinagre!
15 de Junho de 2013, 0:00 - sem comentários aindaAh, o vinagre!
Acho que não precisa dizer muito mais, existem muitos relatos como foram os protestos contra o aumento da passagem para transportes coletivos em todo país. Em São Paulo especificamente foi mais explosivo porque a polícia agiu com mais violência contra as manifestações.
Eles estão completamente descontrolados!
Se tem dúvida disso? Foi filmado um policial quebrando o vidro de uma viatura. Como é que explica isso?
Além da tradicional truculência com os manifestantes, eles atacaram indiscriminadamente qualquer estivesse no caminho deles, foram jornalistas, idosos alvejados por balas de borracha (por enquanto stão usando borracha…) e por sorte não teve criança ferida.
Assistir o notificiário televisivo vai parecer muito mais brando do que realmente foi, mas nunca vi durante a redemocratização (desde 1989) do país uma truculência tão forte com manifestantes. Se você quer ver realmente o que aconteceu, desligue a televisão e procure na internet, tanto os relatos a favor dos manifestantes como contra e tire você mesmo as suas conclusões. Principalmente, assista os vídeos espalhados na internet.
Sabe porque os reajuste das passagens eram realizados no começo do ano? Provavelmente você não lembra há alguns anos atrás eram realizados no meio do ano mas com as manifestações dos estudantes e outras categorias de trabalhadores (principalmente os que tinha data base para o reajuste do salário no meio do ano) protestavam! Então os governantes da época alteraram a data para que não houvesse protestos pois no início do ano os “baderneiros” (ou futuro do país) estavam de férias.
Mas voltando ao tema principal. Faz tempo que não a juventude não protestava, lutava na rua. Finalmente sairam do sofá! :)
Ah, claro senhores governantes, não façam como no Egito, Tunísia, ou Turquia. A história recente já mostrou que a repressão seja virtual (Egito tentou “desligar” a internet lá.) ou física passará despercebida. Todos estão de olho no Big Brother.
Se interessar, tem um resumo dos fatos mais marcantes do último protesto aqui.
Como filmar um protesto, assista o vídeo abaixo.
FISL 14 - Eu vou!
14 de Junho de 2013, 0:00 - sem comentários aindaE lá vamos nós novamente na festa da padroeira (como dizia @cesaraovivo). FISL está na edição 14, são quatorze anos do evento nerd mais antigo da América Latina. ;)
Bom, nesse ano irei falar sobre o PostgreSQL 9.2 e um algumas novidades da próxima versão (9.3). Mas além disso também estarei organizando um hackathon de empacotamento Debian.
Num próximo post comentou como será o hackathon.
octopress e post em modo rascunho
23 de Maio de 2013, 0:00 - sem comentários aindaQuando 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
|
|
Ao finalizar o post, basta troca false por true.
1
|
|
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 |
|
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 - sem comentários aindaEstá 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 - sem comentários ainda<p>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].</p> <p>Testar ambos projetos não precisa de muito trabalho basta acrescentar ou alterar o sources.list:</p> <pre> deb http://http.debian.net/debian stable main </pre> <p>Ou:</p> <pre> deb http://cdn.debian.net/debian stable main </pre> <p>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].</p> <p>No Brasil, o servidor da cdn.debian.net mapeado é o <strong>200.19.252.56</strong> e pode verficar usando o <strong>dig</strong>.</p> <div><table><tr><td><pre><span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>10</span> <span>11</span> <span>12</span> <span>13</span> <span>14</span> <span>15</span> <span>16</span> <span>17</span> <span>18</span> <span>19</span> </pre></td><td><pre><code><span>dig cdn.debian.net </span><span> </span><span>; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> cdn.debian.net </span><span>;; global options: +cmd </span><span>;; Got answer: </span><span>;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 1245 </span><span>;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 </span><span> </span><span>;; QUESTION SECTION: </span><span>;cdn.debian.net. IN A </span><span> </span><span>;; ANSWER SECTION: </span><span>cdn.debian.net. 3021 IN CNAME deb.cdn.araki.net. </span><span>deb.cdn.araki.net. 6 IN A 200.19.252.56 </span><span> </span><span>;; Query time: 17 msec </span><span>;; SERVER: 200.175.5.139#53(200.175.5.139) </span><span>;; WHEN: Fri May 31 23:45:47 2013 </span><span>;; MSG SIZE rcvd: 76</span></code></pre></td></tr></table></div> <p>Descoberto o IP do servidor é testar se responde corretamente:</p> <pre> curl -I -H "Host:cdn.debian.net" 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 </pre> <p>Olha que interessante, o servidor do repositório <strong>Debian</strong> é um <strong>Ubuntu</strong>. 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). ;)</p> <p>Vamos testar outro servidor, um que esteja foda da América do Sul, para isso devemos recorrer novamente ao <strong>dig</strong> mas fazendo a consulta em um servidor DNS em outro continente como é o DNS público do Google.</p> <pre> root@klatoon:~# dig cdn.debian.net @8.8.8.8 ; &lt;&lt;>> DiG 9.8.4-rpz2+rl005.12-P1 &lt;&lt;>> cdn.debian.net @8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER&lt;</pre> <p>O retorno do dig é um IP diferente, agora retornou <strong>128.30.2.36</strong>, vamos testar o retorno do servidor com <strong>curl</strong> novamente.</p> <pre> fike@klatoon:~$ curl -H "Host:cdn.debian.net" http://128.30.2.36/debian/pool <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 301 Moved Permanently <h1>Moved Permanently</h1> <p>The document has moved <a href="http://cdn.debian.net/debian/pool/">here</a>.</p> <hr /> <address>Apache/2.2.16 (Debian) Server at cdn.debian.net Port 80</address> =================== Hum... Agora o servidor respondeu como sendo um Debian. ;) [1]: https://www.facebook.com/eribertomota/posts/10200459836833517?comment_id=5113409&offset=0&total_comments=20&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</pre>
Algumas opções do dig
20 de Maio de 2013, 0:00 - sem 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">; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -x 8.8.8.8 </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER<<- 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">; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mx gmail.com </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER<<- 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">; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> NS gmail.com </span><span class="line">;; global options: +cmd </span><span class="line">;; Got answer: </span><span class="line">;; ->>HEADER<<- 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">; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> 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<<- 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… ;)</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 - sem comentários aindaComo 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 - sem comentários aindalayout: 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 - sem comentários aindaAgora 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 - sem comentários aindaEste ú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. ;)
Cedilha com teclado americano
9 de Abril de 2013, 0:00 - sem comentários aindaTroquei a localização do idioma do meu Gnome para inglês e ao reiniciar a sessão o ç não funcionou mais. Aparentemente isso acontece porque o mapa americano (EUA) do teclado us_intl está com ć ao invés de ç.
Se usar Gnome (GTK) ou KDE (QT) é relativamente fácil resolver. Se tiver problema com outras bibliotecas gráficas terá que mudar o mapa do teclado no XOrg.
Pode simplesmente acrescentar as linhas abaixo em /etc/environment.
GTK_IM_MODULE=cedilla QT_IM_MODULE=cedilla
desligando o beep no linux
8 de Abril de 2013, 0:00 - sem comentários ainda<p>Minha memória bugada precisa deste texto. :)</p> <p>Uso muito linux em modo texto, seja num terminal gráfico ou numa sessão mesmo.</p> <p>Geralmente eu reinstalo o Sistema Operacional do meu computador para testar alguns instaladores de distribuiçao linux, etc. Porém eu sempre esqueço de de desligar o maldito bipe que o terminal emite ao apertar a tecla TAB. Então fica o registro para minha memória.</p> <p>Para resolver esse problema é necessário criar uma entrada para bloquear o carregamento do módulo <em>pcspkr</em>.</p> <pre> # echo "blacklist pcspkr" > /etc/modprobe.d/custom.conf </pre> <p>Ou se o bipe está incomodando agora e quer parar agora:</p> <pre> # rmmod pcspkr </pre>
Usando a última versão do Firefox no Debian
3 de Abril de 2013, 0:00 - sem comentários ainda<p><img class="left" src="http://www.fernandoike.com/images/iceweasel.png"></p> <p><img class="left" src="http://www.fernandoike.com/images/firefox.png" height="200" width="208"></p> <p>Se você é usuário <a href="http://www.debian.org">Debian</a>, provavelmente usa o <a href="http://www.geticeweasel.org/">Iceweasel</a>. Iceweasel é o <a href="http://www.mozilla.org/pt-BR/firefox/new/">Firefox</a> sem a restrição de marca imposta pela <a href="http://www.mozilla.org">Fundação Mozilla</a> e backport dos patchs de segurança para a versão estável do Debian.</p> <p>Como no momento novas versões de pacotes estão congeladas por causa do que a próxima versão estável do Debian está para ser lançada em breve, a versão corrente tanto no <a href="http://www.debian.org/releases/sid/">Sid</a> como no <a href="http://www.debian.org/releases/wheezy/">Wheezy</a> é a <strong>10.0</strong>. Isso não chega ser um problemas para a maioria dos usuários mas para mim é porque no meu trabalho tenho que testar as últimas versões dos navegadores.</p> <p>Se você precisa da versão mais nova do Firefox e quer instalar na forma “Debian Way” pode fazer facilmente.</p> <p>Acrescente o respositório <a href="http://wiki.debian.org/DebianExperimental">experimental</a> no sources.list e atualize com teu gerenciador de pacotes favorito. No meu caso é o aptitude</p> <span>lang=bash </span> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span> <span class="line-number">2</span> </pre></td><td class="code"><pre><code class=""><span class="line">echo "deb http://ftp.br.debian.org/debian/ experimental main non-free contrib" >> /etc/apt/sources.list </span><span class="line">aptitude update</span></code></pre></td></tr></table></div> <p>Normalmente nenhum pacote da experimental é instalado por padrão, exceto quando ele é explicitamente declarado, então para o aptitude é como está abaixo.</p> <span>lang=bash </span> <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">aptitude -t experimental install iceweasel iceweasel-l10n-ptbr</span></code></pre></td></tr></table></div> <p>Lembrando que no momento a versão na experimental é 20.0. Se precisar ver como instalar versões mais novas do Firefox, visite o do <a href="http://mozilla.debian.net/">Time de Empacomento Mozilla</a>.</p>
Infográfico sobre os vários tipos de hospedagem
2 de Abril de 2013, 0:00 - sem comentários aindaO Hostgator fez um infográfico interessente comparando com cada tipo de hospadegem de site existente no mercado.
DevOps: Por onde começar?
30 de Março de 2013, 0:00 - sem comentários aindaO Guto publicou um excelente texto sobre a origem e concepcão do termo DevOps. Daqui alguns tempo, provavelmente, alguém inventará alguma certificação para DevOps ou formatará o conceito num esquema bem chato.
Enquanto isso (felizmente) ainda não acontece, como você bonitão pode torna-se um DevOps. Como muitos já disseram, não tem uma fórmula pronta mas é importante entender que DevOps é uma cultura e como tal não tenha pressa em se tornar um do dia para noite.
Antes de tudo, vamos falar um pouco de Sysadmin. Muitas das práticas de DevOps são fundamentadas em disciplinas de Sysadmins. Não que você precise se tornar um Sysadmin mas conhecer um pouco mais da área ajudará ter um rendimento melhor.
== Sysadmin ==
Um bom Sysadmin deve conhecer (texto levemente modificado do original do coredump):
Sistemas Operacionais e Organização de Computadores (não adianta tentar ser um sysadmin sem ter um amplo conhecimento de como o SO e Hardware funcionam).
Rede (mesma coisa ali de cima, e aqui estamos falando daquelas chatices de TCP/IP, cabeçalhos, window size, mtu e tudo mais, não só roteamento).
Programação (tem de saber algum shell script, e mais uma linguagem de verdade).
Conceito das linguagens utilizadas no ambiente que vai se administrar (java, ruby, python, etc…)
Banco de Dados em geral, NoSQL, SQL, etc. (como eles funcionam, transações, locking, particionamento, tuning).
Conceito de virtualização.
Inglês (isso é óbvio).
Diria que isso seria os fundamentos para um bom sysadmin.
== Software Livre/Código Aberto e a Cultura DevOps ==
Muitas das tecnologias usadas no cotidiano de um DevOps é baseado em programas que são ou derivam de Software Livre/Código Aberto. Não existe nenhum impedimento de implantar a cultura DevOps num ambiente tradicional e de uso de tecnologias de Software Proprietário, é viável porém o caminho é um pouco mais longo.
Então, se conhecer um ambiente assim, comente logo mais abaixo. ;)
== Infraestrutura Ágil ==
Hã? Infraestrutura Ágil? É como Desenvolvimento Ágil (Scrum, XP, etc.)? Em parte sim, DevOps depende de uma mudança cultural na área de infraestrutura Ela está habituada aos Tickets, Requisições de Mudança, Gerência de Problemas e outras processos já consolidados.
Uma Infraestrutura Ágil para torna-se realidade necessita de uma mudança cultural que em muitos casos demora para acontecer por mais diversas razões (tema para outro texto) e tem muitas formas de realizar. O maior desafio é como fazer a transição cultural sem que causar o caos.
Inicialmente, usar Kanban já bom início mas use o Kanban como substituto de um sistema de ticket ou incidente. Ele é bom quando usado para gerenciar partes de projetos ou gerência de problema.
== DevOps ==
Num cenário perfeito, uma empresa tem em praticamente toda área de TI a cultura ágil no cotidiano. Mas é possível implantar a cultura DevOps mesmo que outras áreas da empresa tenham a cultura tradicional de TI. Algumas coisas tecnologias que fazem parte do cotidiano.
- Orquestração
Chef, Puppet, CfEngine, Juju, Comodit e tantos outros são soluções usadas para gerenciar infraestrutura, deploy, implementar uma arquitetura escalável, etc. Se não conhece nada na área, comece com Puppet ou Chef.
- Monitoração/Monitoramento
Um Sysadmin já paranóico com monitoramento, num cenário que está usando a ”nuvem” para hospedar as aplicações, monitorar é imprescindível mas lembre-se que estamos na era do Big Data portanto monitorar as aplicações também gera uma grande quantidade de dados. Saber os itens a serem monitorados bem como os gatilhos (thresholds) torna-se questão de sobrevivência.
- Time de robôs
Larry Wall, criador da linguagem Perl disse uma vez num livro que tinha preguiça de repetir as coisas e esse foi um dos principais motivos dele criar a linguagem. De certa forma isso se aplica também para um Sysadmin/DevOps pois é parte importante da automação da infraestrutura.
Ah, claro! Cuide bem de seus bots. ;)
- StandUp Meet/Comunicação
No ambiente tradicional-corporativo, é muito difícil a área de infraestrutura reunir-se para conversar sobre tarefas, projetos, problemas, etc. Principalmente nas empresas com grande contigente na área de TI.
Fazer reuniões rápidas em que as pessoas troque informações relavantes sobre o que estão fazendo e que prentende fazer é tão importante como os tickets, chamdos ou ordem de serviços. Elas são importantes para que a equipe tenha sinergia, empatia e trabalhe com equipe e não um punhado de indivíduos com a mesma função
- Flexibilizar
Tradicionalmente nas empresas tem as conhecidas janelas de deploy das aplicações ou configurações. Nos casos mais tradicionais as janelas de deploy estão comprometidas por meses.
Na Cultura Ágil e por conseguinte na Cultura DevOps esqueça disso, provavelmente terá semanas que terá um dois deploys por dia e em casos extremos terá centenas de deploy por dia. Isso acontece, principalmente, em ambientes web e reflete que as aplicações estão eternamente em Beta. Não que seja ruim, pelo contrário, se as aplicações atigirem a maturidade é porque o negócio da empresa não esteja tão bom como pensado ou porque fechou as portas.
Obs. Este texto esta em Beta, volte mais tarde.