Fork me on GitHub Fork me on GitHub

Blog do Kiva

As aventuras de um tal Kivanio na TI

Rails for Kids 2009

 Liberei o fonte do plugin ActsAsPayment esta noite.

 

Um plugin para agregar formas de pagamento brasileiras.

 

Foi retirado de um projeto em produção, onde já são emitidos boletos, 

resolvi liberar o código como forma de retribuição a tudo que a comunidade me proporcionou nestes últimos anos trabalhando com Ruby/Rails.

 

Espero que seja o ponto de partida para que outros boletos possam ser incorporados a partir do código base deste.

 

O código não é perfeito, mas qual é? :D

 

Refatorações, testes e tudo mais são bem vindos, por isso o plugin está no github aguardando forks de quem quiser colaborar.

 

Não tenho intenção nem pretensão de substituir nenhum outro plugin existente, porém acredito que opções são bem vindas.

 

Não tenho compromisso nem comprometimento de fazer novas implementações de layouts de boletos para outros bancos, porém como disse, o código está ai para ser melhorado.

E quem quiser o fazer, sinta-se a vontade para entrar em contato comigo ou fazer um fork do projeto.

 

A intenção é que o plugin se torne um gem, para uso independente de Rails, porém dependente de Ruby :D

 

E não, não tenho nada contra Rails( Eu ganho dinheito com ele ;) ), só acho que uma gem independente, é mais agradável a todos, inclusive aos que utilizam Merb dentre outros frameworks.

 

Por enquanto está disponível o boleto com carteira 18, convênio de 7 dígitos e nosso número de até 10 dígitos para o Banco do Brasil, com geração tanto em HTML como PDF.

 

Outras carteiras são bem simples de implementar, portanto mãos a obra ;)

 

A leitura de remessa está sendo portada para o plugin e em breve também estará disponível.

 

Por enquanto é isso, aguardem ais novidades :)

 

Fonte:  acts_as_payment

 

 

 

Continuar lendo...
2 comentários. Comente este artigo.

 Depois de instalar o snort e ver o bicho pegando os espião, você se depara com uma mensagem estranha no seu log:

 
database: mysql_error: MySQL server has gone away SQL=BEGIN
 
WTF?
 
não, você não foi vencido por um sobrinho de alguém praticando invasão :D
 
acontece(e não entendo porque não corrigiram ainda) que há um bug no conector com a versão 5.1 do mysql que faz com que o mesmo não se reconecte após uma queda de conexão.
 
para solucionar isso é preciso alterar o fonte antes da compilação.
 
nos fontes do snort, na pasta "src/output-plugins/" procure pelo arquivo "spo_database.c", com seu editor preferido abra o arquivo e por volta da linha 2943, em um trecho de código do mysql:
 

#ifdef ENABLE_MYSQL
    if(data->shared->dbtype_id == DB_MYSQL)
    {
        data->m_sock = mysql_init(NULL);
        if(data->m_sock == NULL)
        {
            FatalError("database: Connection to database '%s' failed\n", data->shared->dbname);
        }
        if(data->port != NULL)
        {
            x = atoi(data->port);
        }
        else
        {                                                                                                               
            x = 0;                                                                                                      
        }                                                                                                               
        if(mysql_real_connect(data->m_sock, data->shared->host, data->user, data->password, data->shared->dbname, x, NULL, 0) == 0)
        {                                                                                                               
            if(mysql_errno(data->m_sock))
            {
                FatalError("database: mysql_error: %s\n", mysql_error(data->m_sock));
            }
            FatalError("database: Failed to logon to database '%s'\n", data->shared->dbname);
        }
    }
#endif

 
antes da última chave } coloque "data->m_sock->reconnect = 1;"
 

#ifdef ENABLE_MYSQL
    if(data->shared->dbtype_id == DB_MYSQL)
    {
        data->m_sock = mysql_init(NULL);
        if(data->m_sock == NULL)
        {
            FatalError("database: Connection to database '%s' failed\n", data->shared->dbname);
        }
        if(data->port != NULL)
        {
            x = atoi(data->port);
        }
        else
        {
            x = 0;
        }
        if(mysql_real_connect(data->m_sock, data->shared->host, data->user, data->password, data->shared->dbname, x, NULL, 0) == 0)
        {
            if(mysql_errno(data->m_sock))
            {
                FatalError("database: mysql_error: %s\n", mysql_error(data->m_sock));
            }
            FatalError("database: Failed to logon to database '%s'\n", data->shared->dbname);
        }
        data->m_sock->reconnect = 1;
    }
#endif

 
Isso fará com que o maledito se reconecte evitando o erro e os logs.
 
 
Continuar lendo...
0 comentários. Comente este artigo.

Está com problemas no vista? Muitos? eu também :D Para problemas de conexão, imap ou qualquer coisa relacionado a rede, tente antes isso:
  1. Abra o prompt de comandos como administrador(Clicar com o direito em cima)
  2. Digite este comando para desabilitar o auto-tuning(Mais uma cagada que provoca várias incompatibilidades entre protocolos) netsh interface tcp set global autotuninglevel=disabled
  3. Geralmente vem em modo normal, para verificar como está configurado, use o comando: netsh interface tcp show global
Continuar lendo...
0 comentários. Comente este artigo.

PORTUPGRADE

12/03/2008

Para atualizar todos os ports e suas dependências: portupgrade -arR Para atualizar um port específico e suas dependências: portupgrade -rR

Continuar lendo...
0 comentários. Comente este artigo.

Squid + PF

04/03/2008

Essa dica é bem específica, se você estiver usando o firewall PF, um squid compilado na mão e proxy transparente, provavelmente você vai ter um problema com as permissões no "/dev/pf" ... a solução é relativamente simples.

Comandos para corrigir o problema imediatamente:

chgrp squid /dev/pf

chmod g+rw /dev/pf

Mas caso o computador seja reiniciado você deve inserir os comandos novamente.

Mas para isso existe uma solução, insira os seguintes itens no arquivo "/etc/devfs.conf":

own /dev/pf root:squid

perm /dev/pf 0660

fonte: http://matheuslamberti.blogspot.com/2007/07/squid-pf.html

Continuar lendo...
0 comentários. Comente este artigo.