Mnemonic's Fike

Da genialidade à imbecilidade o limite é uma curva

O Vinagre (2)

| Comments

Hoje (17 de Junho de 2013) ainda está ocorrendo a manifestação contra aumento do transporte público (ônibus e metrô em São Paulo).

Segundo as notícias na internet, estima-se que tiveram um pouco mais de 200 mil participantes em todo Brasil. É um número significativo, tem uns 20 anos que não acontecia algo semelhante. Confesso, estou contente com a manifestação mas também preocupado.

Claramente a origem das manifestações com o Movimento do Passe Livre e conforme seus organizadores é um movimento apartidário mas não anti-partidário. Eles também se posicionam ideologicamente à esquerda. Nada contra, acho válido mas tanto para eles como os que consideram anti-partidários deverão tomar cuidado agora pois desde a última Sexta-feira (14/06/2013) a direita ou melhor, os setores mais raivosos e inteligentes se reposicionaram e pararam de atacar os protestos e movimentos que estavam/estão organizando e passaram a apoiá-los. E não foi só isso, estão disputando para transforma as manifestações contra o governos atuais.

Para ser ilustrativo, compare o comentário do Jabor antes (aqui e aqui) e depois (aqui). Não se atenha ao pedido de desculpa mas no restante do conteúdo, ouvirá que ele tenta direcionar para outras bandeiras. Isso é ruim?

Não! É parte da “democracia” atual e agora a disputa e direção das manifestações esta colocada. Então, meus poucos leitores (são bem poucos pelo as estatísticas de acesso) não sejam anti-partidários. Partido também é “estar de um lado (posição)” e o que não existe nessa manifestações é alguém sem um “Partido” e hoje o maior desafio para MPL será (caso consiga reverter o aumento da passagem) mostrar para onde irão ou se os protestos se generalização como foi a Primavera Árabe ou as manifestações na Turquia (Gerzi).

Recomendo assistir Krisis, documentário sobre a crise na Grécia em 2008 e os protestos contra o governo e a crise. Interessante assití-lo porque Athenas foi sede da Olimpíada de verão em 2004. ;)

Ah! Claro, Rauzito para trilha sonora.

Ah, O Vinagre!

| Comments

Ah, 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!

| Comments

E 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.

Debian E Sua CDN

| Comments

Esse post nasceu de uma discussão no Facebook sobre um dos projetos de CDN em teste no Debian. Um deles é a cdn.debian.net e o outro é o http.debian.net.

Testar ambos projetos não precisa de muito trabalho basta acrescentar ou alterar o sources.list:

deb http://http.debian.net/debian stable main

Ou:

deb http://cdn.debian.net/debian stable main 

O funcionamento dos dois é levemente diferente, o cdn.debian.net é baseado em geoDNS 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.

No Brasil, o servidor da cdn.debian.net mapeado é o 200.19.252.56 e pode verficar usando o dig.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
dig cdn.debian.net

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> cdn.debian.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1245
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdn.debian.net.          IN  A

;; ANSWER SECTION:
cdn.debian.net.       3021    IN  CNAME   deb.cdn.araki.net.
deb.cdn.araki.net.    6   IN  A   200.19.252.56

;; Query time: 17 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Fri May 31 23:45:47 2013
;; MSG SIZE  rcvd: 76

Descoberto o IP do servidor é testar se responde corretamente:

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

Olha que interessante, o servidor do repositório Debian é um Ubuntu. Não que isso seja um problema, poderia ser um Sistema Operacional proprietário, o mais importante para uma CDN como esta é disponibilidade de recurso (armazenamento dos pacotes e banda). ;)

Vamos testar outro servidor, um que esteja foda da América do Sul, para isso devemos recorrer novamente ao dig mas fazendo a consulta em um servidor DNS em outro continente como é o DNS público do Google.

root@klatoon:~# dig cdn.debian.net @8.8.8.8

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> cdn.debian.net @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7560
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdn.debian.net.     IN A

;; ANSWER SECTION:
cdn.debian.net.  3544   IN  CNAME   deb.cdn.araki.net.
deb.cdn.araki.net.  4   IN  A   128.30.2.36

O retorno do dig é um IP diferente, agora retornou 128.30.2.36, vamos testar o retorno do servidor com curl novamente.


fike@klatoon:~$ curl -H "Host:cdn.debian.net" http://128.30.2.36/debian/pool


301 Moved Permanently

Moved Permanently

The document has moved here.


Apache/2.2.16 (Debian) Server at cdn.debian.net Port 80

Hum… Agora o servidor respondeu como sendo um Debian. ;)

Octopress E Post Em Modo Rascunho

| Comments

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(/&/,'&amp;')}\""
    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

| Comments

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 Wheezy Released!

| Comments

On May 4th, the new stable 7.0 version of Debian (code name Wheezy) was released.

Why Wheezy? Wheezy is the name of a singing toy penguin who appears in Toy Story. Traditionally, Debian uses codenames. The next stable version of Debian will be named Jessie.

Jessie? Yes, she’s the Cowgirl (?) in Toy Story.

Oh … I almost forgot, I recommend reading the release notes as they provide information on the latest version. :)

Algumas Opções Do Dig

| Comments

Muitas pessoas gostam de usar o nslookup para pesquisar informação de DNS. Eu, particularmente eu prefiro usar o dig e logo mais abaixo tem algumas opções se você tiver interesse em usá-lo. ;)

Como fazer uma consulta sobre o reverso de endereço de rede (IP):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ dig -x 8.8.8.8

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -x 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6197
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa.        IN  PTR

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa. 41387   IN  PTR google-public-dns-a.google.com.

;; Query time: 223 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Fri May 17 22:54:23 2013
;; MSG SIZE  rcvd: 82

No caso acima o DNS reverso para o endereço de rede 8.8.8.8 é google-public-dns-a.google.com. Porém, se quisermos saber o(s) servidor(es) de email de um domínio?

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
28
29
30
31
32
dig mx gmail.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mx gmail.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1486
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 8

;; QUESTION SECTION:
;gmail.com.           IN  MX

;; ANSWER SECTION:
gmail.com.        2851    IN  MX  40 alt4.gmail-smtp-in.l.google.com.
gmail.com.        2851    IN  MX  20 alt2.gmail-smtp-in.l.google.com.
gmail.com.        2851    IN  MX  5 gmail-smtp-in.l.google.com.
gmail.com.        2851    IN  MX  30 alt3.gmail-smtp-in.l.google.com.
gmail.com.        2851    IN  MX  10 alt1.gmail-smtp-in.l.google.com.

;; ADDITIONAL SECTION:
gmail-smtp-in.l.google.com. 197   IN  A   74.125.140.27
gmail-smtp-in.l.google.com. 259   IN  AAAA    2607:f8b0:4002:c04::1b
alt3.gmail-smtp-in.l.google.com. 44 IN    A   173.194.65.26
alt3.gmail-smtp-in.l.google.com. 62 IN    AAAA    2a00:1450:4013:c00::1b
alt1.gmail-smtp-in.l.google.com. 267 IN   A   173.194.73.27
alt1.gmail-smtp-in.l.google.com. 171 IN   AAAA    2607:f8b0:400c:c02::1a
alt4.gmail-smtp-in.l.google.com. 190 IN   A   173.194.70.27
alt4.gmail-smtp-in.l.google.com. 31 IN    AAAA    2a00:1450:4001:c02::1a

;; Query time: 17 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Fri May 17 23:03:30 2013
;; MSG SIZE  rcvd: 326

Consultar os servidores DNS de um domínio?

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
$dig NS gmail.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> NS gmail.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15754
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION:
;gmail.com.           IN  NS

;; ANSWER SECTION:
gmail.com.        337395  IN  NS  ns2.google.com.
gmail.com.        337395  IN  NS  ns4.google.com.
gmail.com.        337395  IN  NS  ns3.google.com.
gmail.com.        337395  IN  NS  ns1.google.com.

;; ADDITIONAL SECTION:
ns4.google.com.       299858  IN  A   216.239.38.10
ns3.google.com.       299798  IN  A   216.239.36.10
ns1.google.com.       299798  IN  A   216.239.32.10
ns2.google.com.       299824  IN  A   216.239.34.10

;; Query time: 21 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Fri May 17 23:07:04 2013
;; MSG SIZE  rcvd: 170

Consultar um servidor DNS responsável por um domínio?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$dig A www.google.com.br @ns1.google.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> A www.google.com.br @ns1.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53502
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.com.br.       IN  A

;; ANSWER SECTION:
www.google.com.br.    300 IN  A   74.125.234.87
www.google.com.br.    300 IN  A   74.125.234.88
www.google.com.br.    300 IN  A   74.125.234.95

;; Query time: 12 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: Fri May 17 23:11:23 2013
;; MSG SIZE  rcvd: 83

Para saber mais… ;)

1
$man dig

Novo Google Plus

| Comments

Como muitos sabem, essa semana está acontecendo o Google I/O. Este evento é teoricamente feito para desenvolvedores mas o grande impacto é para a imprensa com novos produtos e acréscimo produtos existentes.

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 Chegou!

| Comments

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. :)