willcode4food

Feed Rss

One of the drawbacks on being an early adopter is the amount of work needed to make all the pieces fit.

I’ve upgraded to MacOS X Lion on the day one, and, since then, accessing Oracle Databases has been a pain. The reason is that the Oracle Instant Client is broken on Lion, and Oracle has yet to release a fix (or even acknowledge the issue).

Fortunately, some good souls found that the 32-bit version of the Instant Client still worked, and so my journey begins. So I’m writing this small guide, mainly to remember myself of all the work I had to do.

Learn more

Esse post não tem diretamente a ver com programação, mas com uma mania muito chata que não consigo perder: pegar correntes, abaixos assinato, revoltas e etc, e ir a fundo, para descobrir se apóio ou não. Neste caso, trata-se do auxílio-reclusão, apelidado por alguns desinformados como “Bolsa Presídio”.

A mensagem que circula pela rede é: “Salário mínimo: R$545,00 pra sustentar a familia por um mês, Bolsa presídio: R$752,12, por filho. Vale a pena ser honesto?” Bom, vamos aos fatos:

O link que explica a lei em questão fica no endereço: http://www.previdenciasocial.gov.br/conteudoDinamico.php?id=922

Learn more

Faz um bom tempo que não utilizo mais senhas para acesso SSH aos servidores que necessito, uso apenas pares de chaves. Porém, alguns servidores possuem uma política de alteração de senha a cada X dias, e isso acabava incomodando um pouco – pelo menos a cada 30 dias, eu tinha que inventar uma nova que, na prática, não ia ser utilizada pra nada.

Bom, hoje resolvi dar um basta na situação, perguntei ao Google e em 2min estava com o problema resolvido:

sudo passwd -d fabiob
sudo chage -I -1 -m 0 -M 99999 -E -1 fabiob

O artigo original: http://www.cyberciti.biz/tips/setting-off-password-aging-expiration.html

Espero que ajude outros colegas envolvidos com mil chaves e servidores pra gerenciar… Em tempos de Cloud, todo auxílio é pouco!

Pois bem, hoje precisei converter índices comuns de um vetor (0, 1, 2…) em uma visualização à là Excel (A, B, C…). No início, fui pra solução mais simples:

def to_excel_col(n)
  ('A'..'Z').to_a[n]
end

Serviu pro basicão, mas e quando a planilha tiver mais de 26 colunas? Tive que aumentar o algoritmo:

Learn more

Quem programa em Ruby há algum tempo, não consegue mais largar a excelente ferramenta que é o rails console. Carregar objetos e chamar regras de negócio por linha de comando, não tem coisa mais prática quando queremos algum resultado rápido.

Hoje, precisei chamar uma regra de negócio para um caso rápido, porém eu queria ver o que ela estava escrevendo no log, no momento. A solução foi relativamente simples, compartilho aqui:

ActiveRecord::Base.logger = Logger.new(STDOUT)

O resultado foi até melhor do que eu esperava… Pude ver, com detalhes, até as consultas SQL que meu código estava chamando!

Veja que legal:

[fabio@fabio-macbook projeto-x]$ rails console
Loading development environment (Rails 3.0.3)
ree-1.8.7-2010.02 :001 > ActiveRecord::Base.logger = Logger.new(STDOUT)
 => #<Logger:0x104122bb8 @formatter=nil, @progname=nil, ... @level=0> 

ree-1.8.7-2010.02 :002 > u = Portal::Usuario.find(24426)
  Portal::Usuario Load (21.1ms)  SELECT "USUARIO".* FROM "USUARIO" WHERE ("USUARIO"."ID" = 24426) AND ROWNUM <= 1
 => #<Portal::Usuario id: 24426, area: nil, ... tipousuario_id: 3> 

ree-1.8.7-2010.02 :003 > u.revalida_alguma_coisa!
Blabla meu log personalizado etc.

I’ve been working with Rails and legacy databases for a while, but today I’ve hit an error that I could not solve right away:

NoMethodError: undefined method `gteq' for nil:NilClass

All the tests were passing, so it had to be something related to the legacy schema. After googling a lot and not finding anything similar, I delved into Rails source code (thanks RubyMine for making this a lot easier) and finally found the failure: my primary key has a name different than the usual ‘id’. Fixing was damn simple:

class MyRecord < ActiveRecord::Base
  set_primary_key 'myid'
end

Now, back to work!

Com um submarino interativo :)

Hoje fui mapear uma unidade da rede pelo Mac, e pela primeira vez notei essa mensagem subliminar.

Quem mais consegue perceber qual é?

Quicksilver

11.21.2010, No Comments, Mac, by .

Nunca gostei muito de trabalhar com o mouse… Ele é extremamente útil, OK, mas depender dele para acessar uma aplicação, é demais pra mim. Apontar, clicar, clicar de novo, etc, é tudo muito lento. Naturalmente, prefiro utilizar o teclado para tudo.
Learn more

Hoje (na verdade ontem) passei por um problema até que bastante comum: fui notificado que um dos relatórios que desenvolvi, e que chega via anexo de e-mail ao seu destinatário, estava com problemas de codificação: ao invés de acentos, estavam aparecendo os famosos “caracteres estranhos”.
Learn more