Porque não temos memória de elefante

Eu tenho um package que possui uma task de envio de emails (Send Mail Task) dentro de um container ForEach Loop. Quando ocorre erro no envio de alguns dos emails, a Task retornava erro e o pacote execução do pacote era abortado. O normal é achar que definir o atributo FailPackageOnError=false resolveria essa situação, mas não resolve. O erro continua sendo propagado. Eu preciso que o package não falhe na ocorrêncio de erro no e-mail de um e-mail e o ForEach Loop continue a execução enviando os emails seguintes. Para isso é preciso um work-around, criando um evento OnError da task Send Mail e definindo a variável de sistema Propagate para false.

O link abaixo mostra com screenshots como fazer a implementação.

http://sqlblog.com/blogs/rushabh_mehta/archive/2008/04/24/gracefully-handing-task-error-in-ssis-package.aspx

 

 

O que parecia ser apenas mais uma notícia do mundo da tecnologia, tornou-se o início de uma revolução. O  Google lança o seu próprio navegador Web, o Google Chrome. Baseado no Webkit, o mesmo engine utilizado pelo Safari da Apple e desenvolvido pelo projeto KDE, incialmente para o Konqueror, o Google Chrome já nasce maduro o suficiente para ser utilizado no dia a dia.

A velocidade de execução de aplicações Javascript é impressionante. Não sei qual a mágica que fizeram mas as aplicações JS executam muito mais rápido que no IE. Mas, mesmo websites que não usam muito o Javascript levam vantagem na velocidade de redenrização da páginas. Testamos em vários serviços e sistemas WEB desenvolvidos por nós na iDev Solutions e não detectamos nenhum tipo de problema. Pelo contário, normalmente as páginas abrem mais rapidamente que no IE ou no Firefox.

Além do ganho em performance, vários outros quesitos foram minunciosamente elaborados pelo team do Google como a utilização do espaço da tela, privacidade para usuários de PCs compartilhados, segurança e velocidade das aplicações WEB.

Não nos resta muito mais a comentar a não ser deixar a recomendação para que você faça o seu própio teste e tire sua conclusão. Baixe o Google Chrome no seguinte endereço: http://www.google.com/chrome

Confira um vídeo diretamente do Google sobre o novo Browser:

Após o BETA2 do Firefox 3.0, venho convivendo com travamentos aleatórios do navegador, rodando sobre o Windows. Torcia a cada atualização para que o problema fosse resolvido, mas após 1 mês da versão final lançada, os problemas continuavam. Os travamentos ocorriam principalmente quando eu tinha muitas abas abertas, ou então quando estava usando o Gmail. Por vezes travava quando o FF abria restaurando a última sessão aberta (novo recurso da versão 3).

Se você tiver passando por esses problemas, resolvi desinstalando o Firefox 3.o e apagando os arquivos que ficam após desinstalação no diretório c:\Arquivos de Programas\Mozilla Firefox 3.0\. Após isso, reinstale o Firefox. Você não perderá seus favoritos, complementos  (extensões e temas), que ficam armazenados no seu perfil.

Tenho experimentado muitas IDEs e editores de código desde quando comecei a usar Rails. Mas com as últimas versões do Aptana RadRails, parece que enfim encontrei o que precisava para ganhar produtividade. Claro que muitos recursos ainda estão faltando para que ele possa ser a solução definitiva. Mas o ele já tem é mais que suficiente para que eu me sinta em csa.

O debug está muito bom, quase no mesmo nível do Visual Studio, Visual Basic e Delphi, que são ferramentas que tem debugs matadores.

O que ainda falta é um intellisense que realmente ajude. A natureza dinâmica do Ruby torna muito difícil de implementar esse recurso de forma eficiente. A mágica do Rails complica ainda mais as coisas. Mas estive dando uma olhada em um screencast do 3rdRail e acredito que logo, logo o RadRails estará no mesmo nível, em se tratando de intellisense.

Que o mecanismo de busca do google é uma ferramenta poderosa, todos sabemos. Uso uso com frequencia por exemplo para correção ortográfica. Sim, basta digitar uma palavra com erro ortográfico e o google fará a sugestão pela busca da palavra correta.

Um outros uso inusitado da ferramente, é procurar arquivos MP3 para download. Nesse cas, fazemos uma busca apenas pelas pastas com indexes em servidores da WEB. O resultado é surpreendente.

Preencha no campo de pesquisa do google a expressão abaixo, substituindo a palavra Nirvana, pela banda que desejar:

-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3) “Nirvana”

;-)

Outra dia me bati durante quase 1 hora procurando alguma solução rápida para converter todos os arquivos de uma pasta para UTF-8. Encontrei diversas soluções, mas todas muito complexas para que fizesse parte da minha “caixa de ferramentas”. Hoje encontrei esse script no blog do Guilherme Aguiar. Simples, prático e eficiente.

Continuando as minhas andanças por Rails, estou experimentando a IDE Netbeans com os devidos plugins para Ruby e Rails. Uma grande vantagem que eu percebi até o momento foi o intellisense (não tenho certeza do nome dessa funcionalidade), que funciona muito bem. Além de sugerir as possíveis interfaces para o método em questão (ao pressionar Ctrl+Space), apresenta uma documentação bem útil principalmente quando estamos aprendendo:

Netbeans com autocompletation e documentação - Thumb

Tive dificuldades com arquivos em UTF-8. Como o WebRick (mini-servidor http, usado quando desenvolvemos em Rails) só funciona com UTF-8, a tendência é que os projetos em Rails sejam todos desenvolvidos com essa codificação.

Achei a solução em um dos comentários desse post. Basta alterar o atalho que inicia o Net beans para usar esse parâmetro dessa forma:

netbeans.exe -J-Dfile.encoding=UTF-8

Se tem uma coisa que eu não gosto é quando um software tem senha em branco por padrão. Nessas situações, existe uma tendência muito grande dos usuários de mantê-la assim. O SQL Server foi um dos que sofreu barbaridades por causa disso. Encontrar servidor SQL Server em ambiente de produção com senha em branco era coisa comum.

O MySQL ainda é assim, senha de root em branco por default. A primeira coisa que eu faço quando instalo um servidor MySQL é trocar a senha do root com o seguinte comando:

mysqladmin -u root password uma_senha_dificil

Mas, o que fazer quando se esquece essa senha?

Parar o servidor MySQL
/etc/init.d/mysqld stop

Iniciar o MySQL sem ler as tabelas de permissões
mysqld_safe --skip-grant-tables &

Alterar a senha do root
mysqladmin -u root flush-privileges password novasenha

Reiniar o MySQL
/etc/init.d/mysqld restart

Pronto!

Estou já há algum tempo usando o Feisty e tenho tipo boas experiências. A performance do Desktop é perceptivelmente melhor do que a versão anterior do Ubuntu (Edgy). O boot é incrivelmente veloz. As aplicações abrem mais rápido também.

Outra facilidade fantástica é o Restricted Drivers Manager (Gerenciador de Drivers Proprietários). Minha placa wifi DLink, com chipset Atheros funcionou sem nenhum tipo de problemas (foi habilitado por padrão). Minha NVidia GeForce 6100 (on board) também foi listada e nesse caso foi preciso que eu habilitasse-a manualmente. Novamente, tudo tão simples quanto um clicar de mouse pode ser.

A próxima experiência foi brincar com o Desktop Effects, nome dado à integração do Compiz no Ubuntu. Agora é tão fácil habilitar um desktop 3D que perdeu um pouco da graça. :-)

Para não dizer que tudo são flores, a rotação do Desktop em cubo não funcionou. Resolvi o problema seguindo essa dica do André Noel. Senti falta também de uma software onde eu pudesse configurar outros detalhes do Compiz. Por padrão não vem uma aplicativo para isso, mas se resolve facilmente:

sudo apt-get install gnome-compiz-manager

Aparecerá um novo atalho em Sistema -> Preferências -> GL Desktop

vmware player

O vmware é um software para virtualização de computadores. Com ele é possível a criação de computadores virtuais, utilizando o hardware de um único computador. Dentre os diversos usos para esse tipo de recurso, podemos destacar a instalação vários sistemas operacionais em um único computador para realização de testes, sem comprometer o sistema principal. Além disso, não é necessário realizar reboot para alterar entre os sistemas instalados, já que todos poderão rodar ao mesmo tempo dentro do vmware.

Até pouco tempo atrás, para utilizar qualquer versão do vmware era necessário adquirir uma licença. Isso foi mudado com o lançamento de uma versão enxuta chamada vmware player, na qual é possível executar máquinas virtuais, mas não é possível criá-las. Essa deficiência entretanto se contorna facilmente. Podemos utilizar o serviços do site http://www.easyvmx.com para criar a máquina virtual com a configuração desejada. Após isso é só realizar o donwload de um arquivo .zip com a máquina recém criada e executar no vmware player. Diferentemente do que pode-se imaginar, o download não é maior que 50KB, já que a máquina recém-criada ainda não ocupou espaços em disco nem na memória RAM.

Para instalar o vmware player no Ubuntu (estou usando Edgy) faça:

apt-get install vmware-player