MozART group | MERRY CHRISTMAS and a HAPPY NEW YEAR 2010 from the MozART...



Feliz Natal e ótimo 2012 a todos até ano que vem.

Box The Walking Dead

The Walking Dead, a famosa série de Zumbi já está a venda. O Box da 1ª temporada sai por 80 reais e com mais 100 minutos de extras.

A série é baseada nos quadrinhos, de mesmo nome, criada por Robert Kirman. A história de baseia no policial Rick Grimes, de uma pequena cidade do Kentucky. Ele e mais um grupo tentam sobreviver aos ataques dos Zumbis que infestaram toda a cidade.

O interessante na série que que as personagens não sabem realmente o que são estes monstros, eles são chamados de Errantes, na versão em português. A segunda temporada já está sendo exibida nos Estados Unidos e na TV fechada.

Site oficial da série: http://www.canalfox.com.br/br/series/the-walking-dead/


Resolvendo problema do SPUMUX no Devede

Olá a Todos!!!

Para quem está usando o Ubuntu 11.04 e está enfrentando problemas ao criar seus DVDs com vídeos com legendas separadas, apresentado o erro Bug do SPUMUX. 

Na versão atual do SPUMUX, que vem no Ubuntu 11.04, o mesmo pede um parâmetro para montar a legenda. Para resolver este problema vamos abrir o arquivo de criação do XML de legenda do Devede (devede_subtitles.py). Este arquivo encontra-se no seguinte diretório: /usr/lib/devede.

No arquivo, vá até a linha 79 e altere a tag XML, incluído o seguinte paraâmetro: format="PAL|NTSC". O resultado final fica desta forma:
       


O format espera o tipo de formatação da imagem, para resolver pontualmente coloque o padrão de sua televisão.

Até mais pessoal!!! ;D

Feliz Dia do Programador

Hoje, 13 de Setembro é o Dia do Programador. Nada como não programar um pouquinho. \\//,

Amigo Oculto no Android Market

Com orgulho venho comunicar que o Amigo Oculto já está disponível no Android Market.

Microsoft Brasil atacada por Hackers

Site da Microsoft Brasil acaba de sair fora do ar neste domingo, 3 de julho de 2011, por volta das 23 horas (horário de Brasilia). Como se pode ser na imagem.

Amigo Oculto no México

Olá Pessoal! Acabei de publicar no Shop4Apps, da Motorola, a versão 1.6 do Amigo Oculto para o mercado mexicano. Dentro de aproximadamente 5 dias a Motorola estará liberando o aplicativo para download.

Enquanto isso, estou terminando o desenvolvimento desta primeira faze, se quiserem se juntar no desenvolvimento do Amigo Oculto será bem-vindo ;), e publicarei mês que vem no Android Market.

Amigo Oculto na Argentina

Em breve o Amigo Oculto chegará na Argentina, via Shop4Apps. A versão beta 0.1.5 agora será liberada para os argentino, segundo a Motorola dentro de 5 a 10 dias o aplicativo poderá ser baixado e utilizado pelos argentinos.

Enquanto isso o desenvolvimento do Amigo Oculto não para e, em breve, todos poderão utilizar o aplicativo visto que estará no Android Market.

Até mais! ;D

Atualização Amigo Oculto

Olá a Todo!!!!

Enquanto ainda não sai a versão final do Amigo Oculto, hoje (15/06/11) acabei de subir outro beta para o Shop4Apps. A versão final estará disponível no Market em breve.

Segundo a Motorola a aplicação estará disponível entre 5 a 10 dias úteis.

Integração Contínua - NUnit

Olá a todos! :D 

 Neste último artigo estarei mostrando como realizar a configuração do seu projeto de testes unitários no servidor CruiseControl.NET. Para ver os outros artigos da série clique aqui.
Os testes unitários são testes criados por desenvolvedores, que servem para testar a menor parte do sistema, ou seja, a entrada de uma informação e verificação do resultado. No momento não estarei abordando este assunto aqui, com uma simples pesquisa na Internet Google você achará mais a respeito. Existe uma prática chamada TDD (Test Driven Development) e muito utilizada na métodologia Ágil, ela diz que os testes tem que serem feitos antes do código.

Mas vamos ao que interessa! No último artigo tinhamos criado a configuração do NAnt e colodado a chamada dele no servidor CruiseControl.NET. O primeiro passo que temos que fazer é realizar o build no nosso projeto, com isso vamos pegar a  configuração no NAnt que fizemos anteriormente e adicionar as Targets necessárias para a a compilação do nosso projeto de teste unitário.


A partir desta configuração acima, vamos incluir o build do projeto de testes e, a mesma ficará conforme abaixo. Repare que é a compilação normal como um projeto qualquer.



Bom, agora que estamos com o projeto compilando, é só chamar a Target no CruiseControl.NET. Porém não é só isso, no momento só compilamos o projeto, agora teremos que rodar os testes unitários no servidor, pois caso algum teste falhe automaticamente todos os envolvidos serão notificados pelo servidor de integração contínua. Este é um dos pontos chaves de fazer uma integração contínua. Primeiramente vamos criar uma outro arquvo XML chamado MeusTestesUnitarios.nunit, nele iremos informar quais serão as DLLs do projeto que estão com testes unitários. Veja como ficará a configuração:



Lembrando que antes de rodar os teste unitários, é necessário que todas as DLLs que o teste unitário utiliza deve ser copiada para o mesmo diretório onde se encontra a DLL do teste unitário.

Voltando ao NAnt, vamos criar uma nova Target para a chamada do teste unitário, mas antes verifique se o servidor está instalado o NUnit.



Repare que esta Target é um pouco diferente, na linha 33 estamos executando o NUnit, com a tag do NAnt . Ela tem como os parâmetros workdir, que é o diretório base, neste caso coloquei o "." que indica que é o diretório atual de onde se encontra o este arquivo de build do projeto NAnt; outro parâmetro é o program, ele indica o caminho completo do programa mais o executável, neste caso o nunit-conseole.exe. A Tag possui como filho a tag , responsável por passar argumentos para o programa definido no . Como pode ser visto, na primeira passa-se a DLL do projeto de testes e, a segunda é o relatório de resultados dos testes unitários. Este relatório será incluso no servidor de integração contínua CruiseControl.NET

Agora é só incluir o XML do relatório do NUnit ao CruiseControl.NET, como se pode ver abaixo. Uma coisa importante e que poucos falam, não sei se é bug do servidor, mas para exibir o relatório o mesmo tem que ser o primeiro a ser  informado nas configurações, antes das seguintes Tags: , , e




Bem, por hoje é só. Espero que tenha gostado desta série sobre Integração Contínua. Mas antes de terminar quero deixar mais uma dica, se você deseja melhorar a sua integração, de uma olhada na ferramenta NCover, ela lhe informa o que falta realizar testes unitários do seu código, vale muito a pena.

Abraços e até a próxima! ;D

Caixa

Este vídeo que o @guanabara compartilhou tenho que colocar aqui!!! Muito show!!! Será que foi feito com Arduino????

Integração Contínua - NAnt

Neste artigo vamos configurar o processo de build da nossa Integração Contínua. O build é o ponto central de uma integração, pois ele irá compilar o código e chamar os testes. Para isso iremos utilizar o NAnt, ele é uma versão para .NET do compilador Ant.

Primeiro iremos criar uma arquivo para o NAnt, neste exemplo projeto.build. Agora iremos abri-lo em um editor de texto, a configuração dele é bem parecida com a do CruiseControl.NET, várias tags XML, como se pode ver abaixo:



Como se pode perceber a primeira linha é uma declaração XML normal, abaixo cria-se o projeto. As propriedades name é o nome do projeto e default diz que a tarefa padrão é o run.

O próximo passo é a configuração do build:



Com a definição do build pronta o passo seguinte é a inclusão de todos os assemblies (dependências de dlls) que o projeto utiliza:



Por último iremos criar o build do projeto em si. Após criá-lo é só chamar no CruiseControl.NET a target criada.



Por enquanto é isso, no próximo artigo estarei explicando a execução do NUnit que será chamado pelo NAnt e seu resultado exibido no CruiseControl.NET. Até mais!

Amigo Oculto muda de casa

Por recomendações estou mudando o projeto Amigo Oculto para o GitHub, pois o mesmo tem uma maior infra e a comunidade é mais ativa.

Se você deseja participar e cooperar com o projeto visite-o neste link: https://github.com/lagix/Amigo-Oculto

Integração Contínua - Configurando seu projeto

Olá a todos!!!! Aqui está mais um artigo da saga. Neste artigo estarei explicando as principais configurações para implementar a Integração Contínua no seu projeto. Primeiramente, <a href="http://www.lagix.com.br/2011/04/integracao-continua-cruisecontrolnet.html">após ter instalado o servidor CruiseContro.NET</a>, vamos abrir o arquivo ccnet.config que está na pasta server do CCNet.

Este arquivo apresenta a seguinte estrutura:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> </cruisecontrol>

Entre estas tags é que iremos configurar nosso projeto. Então vamos começar a criar o projeto, abaixo está um exemplo de como ficará a configuração após a criação do projeto:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
      <project name="Nome do Projeto"></project>
</cruisecontrol>

Agora o projeto está criado, porém não irá funcionar. Temos que configurar o repositório do Subversion e o intervalo que o servidor verificará o Subversion a existência de novas versões. A configuração firacá parecida com abaixo:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
      <project name="Nome do Projeto"></project>
            <weburl>http://IP/ProjetoNoSubversion</weburl>
            <triggers> 
                  <intervaltrigger> 
                      <buildcondition>IfModificationExists</buildcondition> 
                      <seconds>10</seconds> 
                      <name>IntervalTrigger</name> 
                  </intervaltrigger>
          </triggers>
</cruisecontrol>

webURL - URL de onde está o projeto Subversion;
triggers - Tag para a configuração do intervalo de execução da integração;
intervalTrigger - Tag que define que a integração será executada em intervalos de um determinado período. Existem outras possibilidades de que podem ser conferidas aqui;
buildCondition
- Condição para o início da execução da integração, neste caso a integração somente será executada quando existir uma modificação no código;
seconds - Configura o tempo do intervalo, neste caso a integração verificará a cada 10 segundos a existência de um código alterado/novo para poder inicializar a execução da integração.

Agora já sabemos onde está o código fonte do nosso projeto, agora temos que definir uma pasta que será baixados os fontes para o servidor de integração contínua executar o processo de build, testes e etc.; para isso vamos acrescentar mais uma tag na configuração, como é vista abaixo:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
      <project name="Nome do Projeto"></project>
            <weburl>http://IP/ProjetoNoSubversion</weburl>
            <triggers> 
                  <intervaltrigger> 
                      <buildcondition>IfModificationExists</buildcondition> 
                      <seconds>10</seconds> 
                      <name>IntervalTrigger</name> 
                  </intervaltrigger>
          </triggers>
          <workingdirectory>C:\MeuProjeto</workingdirectory>
</cruisecontrol>

 Agora, estamos quase prontos, mas primeiro temos que configurar o build (que será explicado mais adiante) e os relatórios. Veja a configuração abaixo, as tags destacadas serão explicadas mais a frente, nelas iremos chamar o build do projeto. Agora iremos publicar os relatórios no CruiseControl.NET, veja a configuração abaixo:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
      <project name="Nome do Projeto"></project>
            <weburl>http://IP/ProjetoNoSubversion</weburl>
            <triggers> 
                  <intervaltrigger> 
                      <buildcondition>IfModificationExists</buildcondition> 
                      <seconds>10</seconds> 
                      <name>IntervalTrigger</name> 
                  </intervaltrigger>
          </triggers>
          <workingdirectory>C:\MeuProjeto</workingdirectory>
          <b><task></task></b>
<b>          </b>
          <publishers></publishers>
                 <statistics>    
                 <xmllogger>
                 <modificationhistory>
                 <modificationwriter>    </modificationwriter></modificationhistory></xmllogger></statistics>
          </cruisecontrol>

<b>xmllogger</b> - Exibe o log da execução do processo de integração;
<b>modificationHistory</b> - Exibe o histórico de modifações do código;
<b>modificationWriter</b> - Exibe o usuário, do Subversion,  que fez a alteração;

Caso você queira inserir um arquivo, XML, externo para compor o relatório insira as seguintes tags, como se pode ver abaixo:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
      <project name="Nome do Projeto"></project>
            <weburl>http://IP/ProjetoNoSubversion</weburl>
            <triggers> 
                  <intervaltrigger> 
                      <buildcondition>IfModificationExists</buildcondition> 
                      <seconds>10</seconds> 
                      <name>IntervalTrigger</name> 
                  </intervaltrigger>
          </triggers>
          <workingdirectory>C:\MeuProjeto</workingdirectory>
          <task></task>
         
          <publishers></publishers>
                <merge>    
                      <files> 
                            <file>C:\Diretorio\relatorio.xml</file>
                      </files>   
              </merge>
                 <statistics>    
                 <xmllogger>
                 <modificationhistory>
                 <modificationwriter>   
</cruisecontrol>

IMPORTANTE: Uma coisa que tem ficar bem claro, a tag merge tem que ser a primeira dentro da publishers, caso contrário não será exibido o seu relatório.


Com isso terminamos (em partes, falta o build) a configuração do projeto. Até a próxima.

Integração Contínua - CruiseControl.NET

Neste artigo estarei falando sobre o elemento principal da Integração Contínua que é o Servidor de Integração Contínua. Seguindo o nosso exemplo, estarei utilizando o CruiseControl.NET que é uma versão do CruiseControl para DotNet.

1 - Pré-Instalação


Antes de instalar o servidor é necessário que antes tenha instalado os seguintes programas: Microsoft Framework .NET 3.5 e IIS.



2 - Instalação

O processo de instalação do CruiseControl.NET é simples. Primeiramente teremos que realizar o download da última versão (no caso 1.6) no site http://confluence.public.thoughtworks.org/. Após o download execute o instalador, utilizando o protocolo NNF (Next, Next, Finish) você conseguirá instalar o CruiseControl.NET. Só fanzendo uma observação, atente para as opções "Install CC.Net server as Windows service" e "Create virtual directory in IIS for Web Dashboard", estas opções devem estar marcadas e, com isso o servidor será executado como um serviço do Windows e será criado automaticamente um diretório virtual no IIS.

3 - Instalação do CCTray

O CCTray é um aplicativo que vem junto ao servidor, ele é uma versão client do CruiseControl.NET, com ele cada envolvido na equipe de desenvolvimento é avisado quando a integração falha. Existem outras formas de fazer este aviso, porém o CCTray é a maneira mais ágil.

Após a instalação do servidor, você pode acessa-lo e, localizado na parte superior-direita encontra-se o link para o download do CCTray. A instalação dele é bem simples, mais a frente estarei explicando como realizar a configuração.

4 - Criando um projeto

Na pasta onde foi instalado o CruiseControl.NET existe um diretório chamado server, dentro dele vamos abrir o arquivo ccnet.xml.config, nele é onde será feito toda a configuração do projeto.

Toda a configuração é feita neste arquivo XML, então para criarmos um novo projeto é só inserir a seguinte tag:




5 - Adicionando um projeto no CCTray

Agora com o projeto criado, podemos adicioná-lo ao CCTray, para isso vá File\Settings. Na aba Build Project, clique no botão Add e, em seguida em Add Server. Na tela a seguir coloca-se o caminho do endereço do servidor e em seguida Ok. Em Available Projects selecione o projeto desejado e clique em Ok. Pronto o CCTray já está configurado com o projeto.


Por enquanto é isso. No próximo artigo explicarei como criar as configurações para o projeto.

O sonho não acabou

Dias corridos são... E por isso a nova versão beta está demorando para sair. Na próxima versão o Amigo Oculto estará mais estável, estou refarotando o mesmo. Em breve publicarei mais informações sobre a nova versão beta do Amigo Oculto.

O objetivo é lançar até o final deste ano na loja oficial (Android Market) a versão final do Amigo Oculto.

Até mais. ;D

Problemas com som no Ubuntu

Eu instalei no meu computador a versão beta do Ubuntu 10.10 e, de vez em quando ocorre um problema de o mesmo não emitir nenhum som.

Após pesquisar bastante descobri o comando abaixo:

# alsa force-reload

Ele força a reinicialização do sistema de som e, assim volta a funcionar perfeitamente.

Converterndo 3GP para MP3

Hoje tive um problema. Precisava converter audios em 3GP, gravados no celular para o MP3, para editá-los no Audacity. No Ubuntu com o comando abaixo não funcionava:

ffmpeg -i audio.3gp -acodec mp3 -ab 128k pt01.mp3

Então ditiei o seguinte comando para descobrir o codec do mp3 e verifiquei que no Ubuntu o mesmo tinha outro nome:

ffmpeg -codecs | grep mp3
EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)


ffmpeg -i audio.3gp -acodec libmp3lame -ab 128k pt01.mp3


Assim consegui realizar a conversão ;D

Microsoft lança o revolucionario Windows 95

De volta ao passado!!! (Re)Veja o vídeo da reportagem do Jornal Nacional sobre o lançamento do revolucionario Windows 95.



Integração Contínua - Preparando Ambiente

Agora que já sabemos o que é Integração Contínua, vamos preparar o ambiente para o processo.

Precisaremos dos seguintes itens:

  1. Servidor com Windows Server (de preferência dedicado à Integração Contínua e publicação do software para Homologação);
  2. Framework Microsoft .NET 3.5;
  3. Servidor de Integração Contínua para .NET (Cruise Control .NET);
  4. Ferramenta para Teste Unitário em .NET (NUnit);
  5. Ferramenta para Teste de Aceitação (Selenium);
  6. Navegador Web Firefox;
  7. Ferramenta para Teste de Cobertura (NCover);
  8. Ferramenta para Teste de Duplicação de Código (Dupfinder);
  9. Ferramenta para Análise de Código (FXCop);
  10. Servidor IIS;
  11. Servidor de Controle de Versões (Subversion);
  12. Ferramenta para geração de documentação do código (NDoc);
  13. Ferramenta para realizar o Build do projeto (NAnt);
  14. Ferramenta para gerenciamento do projeto (TargetProcess).
Esta é a parte crucial e, consequentemente, a parte mais demorada.  Então vamos fazer o download dos itens acima e instalá-los (a instalação destes, individualmente, não tem mistério). Com exceção do item 11, pois o mesmo poderá ser um servidor separado que já esteja configurado.

No próximo artigo estarei abordando as configurações e, instalações, de cada um dos itens acima.

Integração Contínua - Conceito

Olá a Todos! Estarei começando uma série de artigos sobre Integração Contínua. Nesta primeira parte abordarei sobre o conceito e vantagens deste processo. Existem no mercado diversas ferramentas, para diversas linguagens, porém nestes artigos estarei me atentando somente ao processo de Integração Contínua com a plataforma Microsoft .NET.

Integração Contínua é um processo que se integra as práticas de desenvolvimento ágil e, visa manter a qualidade no desenvolvimento de software diminuindo assim as falhas, pois o mesmo realiza automaticamente diversos testes e builds automatizados  do projeto e caso algo estiver errado ou fora dos padrões pré-estabelecidos (padrões de qualidade) os envolvidos são avisados automaticamente.

O processo de Integração Contínua funciona da seguinte forma, como é mostrado na figura abaixo:
Conforme o Desenvolvedor realiza um commit (envia as alterações do código fonte para o servidor de Controle de Versão) o servidor de Integração Contínua detecta estas alterações e realiza o processo de compilação, testes e, publicação do software para ser homologado.

Vantagens:

  • Quando um Teste Unitário falha o programador consegue corrigir sem perda de tempo com debug para descobrir onde está o erro;
  • Aviso rápido quando ocorre uma quebra de código;
  • Aviso rápido quando ocorre um conflito de versões;
  • Disponibilidade constante para realização de testes e demonstrações;
  • Relatório de métricas gerados a partir dos teste automatizados;

Desvantagens:

  • Requer um longo período para realizar a configuração de todo o processo;


Por hoje terminamos aqui. Nos proximos artigos estarei explicando sobre as ferramentas necessárias para montar um servidor de Integração Contínua.

Até lá ;D

Criatividade Comercial

Criatividade não tem fim.... Este comercial de um carro mostra isso, a criatividade destas pessoas que criaram este comercial é show!!! Parabéns!! ;D

Amigo Oculto no Google

Agora já está disponível no Google Code o projeto do Amigo Oculto para Android. Lá você poderá está por dentro do projeto, tirar suas dúvidas e participar do desenvolvimento, testes, traduções e outras coisas mais que você queira ajudar no Amigo Oculto.

O endereço do projeto é este: http://code.google.com/p/amigooculto/

Não deixem de acessar!! ;D

P.S.: Em breve será liberada mais uma versão do Amigo Oculto.

Até mais!

Amigo Oculto Beta 0.1.5



Desenvolvido para auxiliar na brincadeira de amigo oculto (ou amigo secreto, em alguns lugares do Brasil) que ocorre normalmente no final de ano. Com o Amigo Oculto você pode adicionar todos os seus amigos e sortea-los de uma forma mais rápida e sem complicações.
Na versão beta 0.1.5 está disponível as seguintes funcionalidades:

        -Sorteio do amigo
        -Sorteio do amigo por SMS

O Amigo Oculto encontra em desenvolvimento e, em breve, teremos mais funcionalidades. Enquanto isso envie-nos sua crítica, sugestão ou elogio para o e-mail: brunodila (a) gmail .com

Já está disponível no Android Market (é necessário pagar 25 dolares para publicar no Android Market :(  ) e MotorolaShop4apps.





Você pode baixar o aplicativo a partir deste link: http://www.box.net/shared/i68u9c5cfj

qrcode


Ajude-nos também a manter este aplicativo (e publicá-lo no Android Market). Faça uma doação: