01

Ruby 1.9.3-p0 e gem MySQL2 0.3.7

Posted on February 01, 2012

Hoje bati com um probleminha ao tentar iniciar um aplicativo Rails 3.1.x sobre Ruby 1.9.3-p0 com a gem MySQL2 no meu Mac OS X Lion.

Resumindo, é possível que você esbarre com o seguinte erro:

1
2
3
4
5
6
7
8
9
dyld: lazy symbol binding failed: Symbol not found: _mysql2_set_field_string_encoding
  Referenced from: /Users/akitaonrails/.rvm/gems/ruby-1.9.3-p0/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql2_set_field_string_encoding
  Referenced from: /Users/akitaonrails/.rvm/gems/ruby-1.9.3-p0/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

Trace/BPT trap: 5

Esse problema foi reportado como bug no projeto do MySQL2 com o número #216. O criador e mantenedor da gem, Brian Mario já fez um commit com a correção, basicamente a mudança é esta:

1
2
3
-inline VALUE mysql2_set_field_string_encoding(VALUE val, MYSQL_FIELD field, rb_encoding *default_internal_enc, rb_encoding *conn_enc) {
          142        
+static VALUE mysql2_set_field_string_encoding(VALUE val, MYSQL_FIELD field, rb_encoding *default_internal_enc, rb_encoding *conn_enc) {

Se quiser usar esta correção, modifique seu Gemfile declarando a gem mysql2 da seguinte maneira:

1
gem "mysql2", "~> 0.3.7", :git => "git://github.com/brianmario/mysql2.git", :ref => "d3a96b8"

O Brian ainda não lançou uma nova versão da gem com a correção por isso podemos baixar diretamente do repositório no Github.

Para atualizar execute bundle update mysql2. Isso deve resolver esse problema.

View comments »

Read more »

01

Lembrete: Bug de Rack Antigo (1.3.0)

Posted on February 01, 2012

Ano passado minha equipe colocou um grande projeto em produção. Por conta do NDA assinado com o cliente, não podemos divulgar, posso dizer que era internacional e com grande tráfego. Porém quero descrever uma situação que passamos que talvez possa ajudar outros projetos mesmo sendo um bug antigo.

Pesquisando esses dias esbarrei com este Gist do John Nunemaker. Não afirmo que é exatamente o mesmo bug mas a descrição é idêntica. Em nosso caso, os servidores de produção estavam todos funcionando bem, mas aleatoriamente quando monitoramos víamos algumas das CPUs em 100%, se deixássemos mais algum tempo em breve todas as CPUs estavam no máximo e parando de responder.

View comments »

Read more »

31

[Off-Topic] Mensagem de Ano Novo - Filosofia

Posted on December 31, 2011

Este foi um longo ano, pessoalmente foi um dos piores e um dos melhores tudo ao mesmo tempo. Uma consequência foi que bloguei muito pouco, mas 2012 deve ser o ano do retorno. Para fechar o ano bem, acho que este ano com tantas novas startups e tantos novos interessados em explorar as oportunidades de serem empreendedores devem levar a sério e entender a verdadeira filosofia por trás de qualquer empreendimento capitalista (verdadeiramente capitalista e não este capitalismo-misto medíocre que a maioria pratica). Sem uma filosofia adequada, o mundo dos negócios não vai muito longe.

Obviamente, busco minha fonte nos artigos de Ayn Rand e Leonard Peikoff, como uma entrada light vamos ver o artigo Uma Resposta para Empresários, publicado em 15 de maio de 1962, em uma revista de notícias não identificada encontrada entre os documentos de Ayn Rand. Terminando esta introdução, veja o principal, Por que Empresários Precisam de Filosofia, escrito por Leonard Peikoff, e é um trecho do livro de mesmo nome que todo interessado em empreender deveria ler.

View comments »

Read more »

28

[Journey to Japan #3] Exclusive Video Interviews

Posted on November 28, 2011

It’s been a while since I’ve written about my Ruby Kaigi 2011 trip. Since then I’ve been really busy and I left out lots of great material shamelessly accumulating dust in my hard drive, but no more. Today I was finally able to edit some of that and upload the interviews I have recorded with some of the most well known Japanese Ruby contributors. Wonderful people that I was lucky to meet and that were very friendly to me and eager to tell their stories.

These are the first versions of the edited videos, I still didn’t have time to add English subtitles, but I wanted to upload them as soon as possible so the Japanese community could check them out first. I will try to add the subtitles in the following days (help would be appreciated). The Matz interview in particular has the worst audio as we were in the middle of an after-party in a small bar with very bad acoustics, so I apologize for its quality, I hope you can get most out of it.

Alencar Koga helped me out a lot during the interviews. Coincidentally he is a Brazilian just like me, but he’s been living in Japan for a long time and was able to build a great career, being now the CTO of MTI Japan, one of the largest mobile app developers in the country. Akira Matsuda also helped me a lot, and he is also a very well known Rubyist in Japan. Both were edited out of the videos to make them shorter to watch. I appreciate their help a lot as they will be very useful when I do the English subtitles.

View comments »

Read more »

11

Páginas Estáticas no Rails

Posted on November 11, 2011

Faz tempo que não posto uma dica técnica, vou retornando aos poucos. Hoje uma dica bem simples mas que muitos ainda desconhecem.

Muitos aplicativos Rails tem seções com páginas estáticas, páginas de conteúdo como institucional, instruções, etc. Digamos que para organizar isso você tenha criado um controller chamado “Page”, assim:

1
bundle exec rails g controller Page

O problema é que eu sempre vejo algo parecido com isto no config/routes.rb

1
2
3
  match "page/hello" => "page#hello"
  match "page/help" => "page#help"
  ...

Daí no app/controllers/page_controller.rb encontro:

1
2
3
4
5
6
  def hello
  end

  def help
  end
  ...

View comments »

Read more »