Aproveitando melhor o aptitude
Pra quem usa Debian ou semelhante, como o Ubuntu, talvez as notas abaixo sejam úteis na hora de gerenciar os pacotes pelo aptitude.
Resumo
- CTRL-T para acessar o menu
- %D é o atributo de package size no display format
- u para update
- U para upgrade
- g para executar e confirmar as alterações
- : para ignorar a atualização de um pacote
- = para deixar o pacote nesta versão até a segunda ordem
- G para filtrar ou alterar a exibição da lista de pacotes
- filter(~i !~M) mostra apenas os pacotes instalados manualmente
- m para marcar um pacote como instalado manualmente
- M para marcar um pacote como instalado automaticamente
- Isso é só cultura inútil, ignore se tiver outra coisa pra fazer
Organizando classes de acesso ao banco de dados
E então o camarada decide programar orientado a objetos. Coloca todas as funções procedurais dentro de uma classe e acha o máximo. Comete o erro que eu chamo de Programação Orientada a Classes.
Assunto batido demais na altura do campeonato, mas com a quantidade de vezes que tenho visto isso acontecer, melhor tentar esclarecer algumas coisas.
(mais…)
Desabilitar o uso de alert no Firefox
Alguns sites insistem em atrapalhar a navegação utilizando alert() inadvertidamente, e isso sempre me irritou bastante. Resolvi procurar e acabei descobrindo uma forma no Firefox de desabilitar funcionalidades Javascript de acordo com políticas para cada site.
(mais…)
Domain Specific Language externa com PHP
No post sobre Fluent Interface, testei seu uso para nomear métodos de forma clara e reutilizável nas consultas ao banco de dados.
Durante o desenvolvimento, percebi que o Eclipse completava o código conforme eu digitava, tornando o uso das classes extremamente simples:

No final, a linha de código soava como uma frase em português, exceto pelos caracteres adicionais para a sintaxe do PHP.
A idéia então foi exportar a lista de classes e métodos parar criar uma linguagem própria do sistema, de forma que o usuário final pudesse usar o autocomplete pela web para formar uma frase sem as distrações da sintaxe.
A interface ficou assim:
Se o player não abrir, clique aqui para ver o vídeo de demonstração da interface no Youtube.
O autocomplete ainda não acompanha o que o usuário digita sem escolher uma opção, mas já é possível selecionar as opções com o teclado ou mouse, preencher cada parâmetro pelo prompt do Javascript e ter os métodos listados de acordo com o contexto.
A biblioteca e uma aplicação de exemplo estão no projeto DslCatalog que criei no Google Code.
Abaixo seguem os detalhes de como implementar os catálogos em um banco de dados já existente em 3 passos rápidos. Rápidos mesmo, eu juro :)



