Usando Netbeans em inglês

Se alguém usa o netbeans no Windows, deve sofrer com a interface traduzida.

Pra conseguir usar o netbeans em inglês, só tive que adicionar alguns parâmetros no netbeans.conf.

Procure pela propriedade netbeans_default_options e adicione “-J-Duser.language=en -J-Duser.region=US” no final.

Meu arquivo de configuração está em C:\Program Files (x86)\NetBeans 7.1\etc\netbeans.conf

Ficou assim:

netbeans_default_options=”-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Duser.language=en -J-Duser.region=US”

Ajudando o Netbeans a autocompletar

Algumas vezes o netbeans não tem como seguir as referências necessárias para autocompletar eficientemente.

Nós podemos resolver isso especificando o tipo do objeto com phpdoc.

Tente.

<?php

class IndexController extends Zend_Controller_Action
{
    public function indexAction()
    {
        /* @var $db Zend_Db_Adapter_Sqlsrv  */
        $db = Zend_Registry::get('db_mssql');

        /* @var $statement Zend_Db_Statement_Sqlsrv */
        $statement = $db->query('SELECT TOP 10 * FROM rodcli');

        $results = $statement->fetchAll();

        Zend_Debug::dump($results);
    }
}

Habilitando anti-aliasing nas fontes do NetBeans

vim ~/netbeans-7.0.1/etc/netbeans.conf

Adicione o conteúdo em vermelho nesta linha:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m 
-J-XX:MaxPermSize=200m-J-Dapple.laf.useScreenMenuBar=true 
-J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true 
-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=on"

Testei no Ubuntu 10.04.3 LTS.

Validando CPF com Zend Framework

<?php

class Simp_Validate_CPF extends Zend_Validate_Abstract
{
    
    const INVALID = 'cpfInvalid';
    
    /**
     * @var array
     */
    protected $_messageTemplates = array(
        self::INVALID   => "'%value%' is an invalid CPF",
    );
    
    public function isValid($value) {
        
        $this->_setValue($value);
        
        $value = preg_replace('[-|\.]', '', $value);
        
        for ($i = 9; $i < 11; $i++) {
            for ($d = 0, $c = 0; $c < $i; $c++) {
                $d += $value{$c} * (($i + 1) - $c);
            }

            $d = ((10 * $d) % 11) % 10;

            if ($value{$c} != $d) {
                $this->_error(self::INVALID);
                return false;
            }
        }
        return true;
    }
}

Atualização:
15 Novembro 2011 – Substitui ereg_replace por preg_replace.

Como falar bem sem dizer nada (Algoritmo Giverny)

Estávamos encucados com um companheiro de profissão e suas respostas sagazes.

Hoje o amigo Iacami (http://www.facebook.com/enapupe) encontrou o algoritmo sagaz:

http://www.amatilha.com.br/blog/como-falar-bonito-sem-dizer-nada/

Não satisfeito, o amigo Iacami implementou a bagaça:

http://www.enapupe.com.br/giverny/

Pra facilitar eu e meus amigos de trabalho fizemos a simulação.

Parecemos ou não mais sagazes falando bonito desse jeito?
Aprendendo com o Giverny na hora do almoço:

Abraço.

Ignorar submodules no git status

Meu git status fica muito lento quando estou trabalhando com submodules muito grandes.

Você pode usar o –ignore-submodules pra ele ficar mais rápido.

alvaro@GENII /c/xampp/htdocs/rkmonline20 (master)
$ git status --ignore-submodules
# On branch master
nothing to commit (working directory clean)

Sem mais.

Mensagem “modified content” em um submodule do GIT

Estou usando a versão 1.7 do git. Infelizmente esta versão tem um comportamento chato quanto aos submodules.

Quando dou um “git status” ele me mostra alguns submodules com a mensagem (modified content) na frente. Como eu não sou nenhum expert em git, isso estava me incomodando e fui pesquisar como remover.

No git 1.7 os submodules são marcados como “dirty” se eles contiverem algum arquivo modificado ou que não está sendo “rastreado”.

Veja o meu git diff:

No meu caso o problema foi que eu modifiquei o submodule para debugar um código meio sinistro.

Então pra resolver foi só entrar no diretório do submodule system e dar um git reset –hard HEAD pra ele ignorar a modificação que ainda não havia sido “comitada”.

Veja:

Sem mais.

konference-logo-white

Abandonando o Kohana

A partir de hoje, deixo de adotar o Kohana como meu framework em aplicações de terceiros.

Alguns dos motivos que lhes apresentarei com certeza não farão sentido aos queridos colegas de profissão, mas com certeza serão reconhecidos pelos antigos desafetos do departamento de vendas e/ou marketing.

Tentarei descrever os motivos de forma organizada:

  1. Nome: o primeiro e mais enfadonho motivo, eu costumava ignorar completamente. Até eu me tornar responsável por todas as fases do meu negócio.

    A primeira reação de um novo cliente quando eu tento lhe dizer o nome da mágica, revolucionária e ultra-avançada ferramenta que utilizo é: _ “Ahn?”

    Não sei quanto aos colegas muito bem articulados e dotados de super poderes persuasivos, mas eu, como humilde programador que sou, tenho muita dificuldade em conseguir uma boa estratégia para cativar meu cliente e quando essa interjeição insolente é atirada em minha face, consegue desmontar qualquer estratégia que eu tinha em mente para convencê-lo de que esta é a ferramenta mágica que resolverá todos os seus problemas.

  2. Site oficial: o layout é a mais bela obra prima de um programador esforçado.

    Depois de ouvir o nome, o cliente se esforça para manter a mente aberta e o espírito “keep going” e procura na internet informações sobre a tal ferramenta. O que ele encontra não é nada animador. O esquema de cores é terrível,  o logotipo parece um clip-art e principalmente não há conteúdo que promova a qualidade da ferramenta.

  3. Documentação oficial: ela não existe.

    Do ponto de vista técnico, a documentação é irrelevante, pois o código do kohana é extremamente bem organizado e documentado. Mas meu cliente não pensa assim.

    A preocupação dele é poder me substituir rapidamente quando preciso. E para me substituir rapidamente ele poderá ser obrigado a contratar um programador de nível inferior que invariavelmente precisará de receitas de bolo distribuídas no bookmark de seu browser.

  4. Falta de promoção: não, não estou falando de propaganda. É que simplesmente o número de livros, revistas, websites, blogs, tweets e/ou qualquer outro tipo de mídia que escreve ou já escreveu sobre Kohana é ínfimo. E os que se dão ao trabalho de escrever, não continuam.

    O primeiro e último artigo sobre Kohana do nettuts+ foi publicado no dia 9 de Julho de 2009. Tente procurar algum livro sobre Kohana, eu ainda não encontrei.

    Quando o cliente percebe isso, de duas uma: ou ele fica com o pé atráz porque acha que o framework é uma versão beta que ninguém usa e não sabe no que vai dar, ou fica com a (errônea) certeza de que o framework é ruim.

  5. Lançamento de versões: a falta de estratégia no lançamento de versões causa um grande prejuízo técnico, porém, estou aqui pra falar dos prejuízos na estratégia de vendas.

    Quando os desenvolvedores lançaram a versão 3.0 do Kohana, eles simplesmente refizeram tudo. Nada feito para a versão predecessora poderia ser aproveitado na nova versão. Tudo bem, realmente foi um avanço, muita coisa melhorou. A pouco tempo foi lançada a versão 3.1 e adivinhem? O esquema de validação dos Models mudou e se o programador quiser atualizar o seu aplicativo para a versão nova, terá de refazer boa parte de todos os seus Models.

    Sério, podem me dizer que não há necessidade de mudar da versão 3.0 para a 3.1, pois a 3.0 continuará a ter seus bugs corrigidos.

    Não importa, meu cliente não pensa assim.

    A Microsoft passou mais de uma década enfiando na cabeça dos clientes deles, que no caso também são os meus, que eles precisam usar a última versão de todos os softwares para que a segurança não seja comprometida. Não importa quais sejam os meus argumentos, isso já está gravado na cabeça dele, a Microsoft tem muito mais poder de persuasão do que eu, e muito provavelmente que você.

Conclusão

Eu não consigo vender o Kohana. Ele não tem uma boa imagem e minhas habilidades de venda são limitadas.

Deixarei de utilizar Kohana em sistemas que precisam ser vendidos. Continuarei utilizando-o em sistemas onde a promoção não é necessária e claro, nos tantos projetos próprios que quase nunca chegam ao fim.

Agora a pergunta que os poucos e simpáticos leitores deste site outrora técnico farão:

Qual framework você utilizará? Zend.

Sem mais.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: