terça-feira, março 14, 2006

VB.NET 2005

Estou reestruturando o framework de um cliente, utilizando recursos do VB.NET 2005. Está muito interessante utilizar todos os recursos do .NET 2.0 no VB, principalmente os tipos genéricos.

O namespace My também tem sido útil. Mas, hoje, navegando um pouco mais por seus métodos, dei de cara com este daqui:



Fiquei espantado. Daqui a pouco não vai mais ser necessário aprender nada sobre as classes Uri, WebRequest, etc...

Antes que alguém "meta o pau" no pobre do VB.NET, que só está tentando fazer seu trabalho... Lembre-se que este pseudo-namespace My não está fazendo nada diferente de implementar o design pattern Façade, só que para todo o Framework 2.0.

sábado, março 04, 2006

SourceForge se rendeu ao SVN

Finalmente, depois de muito dizerem que o Subversion era uma aplicação "muito boa, porém muito nova e instável", o SourceForge resolveu se render às maravilhas do SVN.

Além de adicionar o suporte, ainda automatizou o processo de migração do CVS para o SVN. Com 3 cliques, você faz a migração completa, inclusive com mensagens de log e tags, através do cvs2svn.

Agora dá gosto de voltar a usar o SourceForge. Quem sabe num futuro próximo eles também não dão uma melhorada no Issue Tracker, pra ficar algo mais parecido com o Trac...

Documentação de uso do SVN no SF.NET: SourceForge.net: E09. Subversion

sábado, fevereiro 18, 2006

ReSharper 2.0

É com felicidade que escrevo novamente sobre o ReSharper 2.0 Beta para Visual Studio 2005.

Estou utilizando o novo build, 218, e está me saindo realmente muito estável! De vez em quando aparece algum bug esquisito, mas não impede você de trabalhar.

Faça o download aqui: Download - JetBrains.net

Tail para Windows

Meu Deus, por que é tão difícil encontrar um tail decente para Windows?

Claro, estou sendo um pouco exigente também. Quero um tail que monitore vários arquivos, numa interface com tabs, e faça highlight de linhas dependendo de alguns critérios (por exemplo, pintar de vermelho as linhas que contenham a palavra "ERROR" ou "EXCEPTION").

Depois de muitas buscas, encontrei o Hoo WinTail, que é pago (US$ 39,95), mas tem uma versão gratuita que só não faz highlight, mas tem todo o resto. É interessante.

Se alguém quiser desenvolver um tail em .NET, segundo estes meus requisitos, pra liberar open-source... Conte com meu apoio e colaboração!

segunda-feira, fevereiro 13, 2006

Conectando ao MSN através do GTalk

Quem quiser experimentar a novidade, pode seguir as instruções abaixo:

BigBlueBall - Connect Google Talk to AIM, MSN, & Yahoo

Apenas um aviso: eu segui as instruções, e, sem notar, adicionei novamente todos os meus contatos do MSN. Um tanto desagradável... Mas vale a pena!

Liberar 75Mb de memória não tem preço! O GTalk ocupa 6Mb na minha memória, enquanto o MSN 8 estava ocupando 80!

domingo, fevereiro 12, 2006

Os pinguins também jogam!

Interessante artigo comentando sobre diversos jogos disponíveis para Linux:

Os pinguins também jogam!

domingo, fevereiro 05, 2006

Visual Studio 2005 Web Deployment Projects (Beta Preview)

Acabei de encontrar, mas não testei ainda. Parece que soluciona alguns problemas relacionados ao deployment de aplicações web no .NET 2.0.

Visual Studio 2005 Web Deployment Projects (Beta Preview)

Adeus, Alt-Tab

Hoje conheci um softwarezinho muito interessante, principalmente pra quem (como eu) trabalha com várias janelas e odeia ter que navegar entre elas com Alt-Tab.

Antes de encontrar esse último programinha, eu já tinha tentado utilizar vários "desktop switchers"... Para manter uma similaridade do sistema de janelas do Windows com o do Linux. Sou realmente viciado nessa história de múltiplas desktops.

Esse TopDesk imita a interface de um MacOS... Não sei bem que interface é essa, pois não conheço muito o mundo dos Macs... Mas me lembro de ter visto algo assim já.

Bom, segue o link: Otaku Software

Parece valer mesmo a pena. Até agora não ocupou mais de 16,5Mb de memória da minha máquina, e é muito rápido trocar de aplicativo. Apenas a inicialização é um pouco demorada.

Chega de palavras. Teste você mesmo, vai gostar.

ReSharper Beta para Visual Studio 2005

Quem já virou dependente do ReSharper, deve arrancar os cabelos ao ter que trabalhar com o Visual Studio 2005, que ainda não é suportado por este excelente plugin da JetBrains.

Bom, quem quiser arriscar a versão beta, pode encontrá-la aqui: Download - JetBrains.net

Eu instalei... Apesar de ser um tanto mais pesada que a versão 1.5, e completamente cheia de bugs, ainda assim, traz um pouco mais de produtividade.

Parece que o build 213 é mais estável. Mas não testei ainda.

quinta-feira, janeiro 19, 2006

FeedXs - RSS for Dummies

Quem sempre quis começar a escrever seus feeds, mas nunca quis se aventurar a aprender o padrão RSS, pode agora perder o medo com o FeedXs.
Se trata de um website onde você pode publicar conteúdo em RSS, mesmo sem ter um blog ou ter que escrever o RSS à mão (como eu faço para o website da Suprifattus: veja aqui).
Para quem ainda não conhece muito sobre o RSS, segue uma dica de alguns links:

Breves comentários sobre RSS, quando o website da Suprifattus passou a suportar o formato:
http://suprifattus.com.br/suprifattus/Noticias.aspx?id=4
Projeto RSSFicado (contém uma boa informação introdutória):
http://rssficado.com.br/

sexta-feira, dezembro 23, 2005

Cartão de Natal da Suprifattus

Modéstia a parte, este ano o já tradicional cartão de natal da Suprifattus se superou :)

Um excelente trabalho, e seguem os créditos:

Idéia e Especificação: Priscila Coelho
Produção e Design: Josias Oliveira
Programação: eu, Fábio Batista

Agradecimentos especiais ao André Cassal , pela grande ajuda com o ActionScript.

Confira o cartão em: http://suprifattus.com.br/natal2005/

Para personalizá-lo, basta adicionar o nome da pessoa, sem acentos, ao final da URL. Exemplo:

http://suprifattus.com.br/natal2005/?Destinatario

domingo, dezembro 11, 2005

Primate Programming(tm) Inc

Problemas com custos? Pensando em outsourcing?

Contrate macacos para programar para sua empresa. Cientistas começaram treinando macados para programar em VB3, e hoje eles já programam inclusive em VB.NET:

Primate Programming(tm) Inc

Prevenindo ataques ao seu servidor Linux

Hoje cheguei para trabalhar um pouco e meu Subversion estava fora do ar. Fui verificar no servidor (um Fedora Core 3), e o Apache2 estava "caído".

Fui ressucitá-lo, e vi que era uma falha minha numa recente atualização (do Trac). Por via das dúvidas, resolvi dar uma olhadinha nos logs de segurança do sistema, em /var/log/secure.

E não é que encontrei diversas tentativas de "brute force" no meu Linux... Então, resolvi tomar umas medidazinhas drásticas, já que não tenho um grande costume de trocar senhas, nem minhas senhas são muito mirabolantes. Seguindo alguns conselhos deste link, e lendo um pouco a documentação do SSH (man 5 sshd_config), resolvi fazer as seguintes modificações no meu /etc/ssh/sshd_config:

PermitRootLogin without-password
Desta forma, o usuário root não pode autenticar digitando senha. Só pode autenticar utilizando troca de chaves SSH. Como é o método que eu utilizo de dentro da empresa, e não costumo acessar o Linux como root de fora da empresa, achei que seria uma boa adição.

MaxAuthTries 4
É o número máximo de tentativas de login incorreto, antes do SSHD "travar". O padrão é 6, achei por bem trocar pra 4. Além disso, tentativas de login inválidas só são "logadas" se ultrapassarem a metade deste número. Então, logar depois de 2 é melhor que logar depois de 3.


Optei por não obrigar o uso de chaves para todos os usuários, uma vez que utilizo autenticação por senha quando estou fora da empresa, ou em algum cliente. Mas quando eu comprar meu pen-drive, vou levar junto com ele minha chave privada e uma cópia do PuTTY, daí posso forçar a autenticação sempre com chaves para todos os usuários.

Era isso. Espero que sirva de dica para mais alguns "programadores que administram servidores", como eu.

domingo, dezembro 04, 2005

LD_ASSUME_KERNEL

Ao atualizar o servidor da empresa (um Fedora Core 3), me deparei com a seguinte mensagem de erro ao chamar o apt, yum ou o rpm após a instalação:

rpmdb: unable to initialize mutex: Function not implemented
rpmdb: /var/lib/rpm/__db.001: unable to initialize environment lock: Function not implemented


Se isso acontecer com você, não se desespere. Muitos fóruns na internet vão sugerir que você formate a máquina, destrua e reconstrua o banco de dados do rpm usando rpm --initdb ou rpm --rebuilddb. O que você precisa fazer é simplesmente remover a variável de ambiente LD_ASSUME_KERNEL.

Essa variável era necessária pelo Java, Oracle, e mesmo pelo Mozilla, logo que o Kernel do Linux mudou a forma como funcionavam as threads, na versão 2.6. Nas versões mais novas do Linux, essas variáveis estão começando a causar problema nos softwares mais atuais.

Então, como recurso, para verificar se seu problema é realmente esse, digite, num console:

# unset LD_ASSUME_KERNEL
# rpm -qa


Se funcionar, seu problema é esse mesmo. Daí, basta remover esta variável de toda a sua configuração (/etc/profile, /etc/profile.d/*, ~/.profile, ~/.bashrc, e outros).

Segue o link onde encontrei a informação correta: LD_ASSUME_KERNEL considered harmful (tummy.com, ltd. Journal Entry)

quinta-feira, dezembro 01, 2005

Próxima Aquisição das Fábricas de Software

Em pouco tempo, esse equipamento será figurinha carimbada nas fábricas de software:

  • Aparelho dá choque... - Terra - Eletrônicos
  •