terça-feira, 9 de setembro de 2008

Frase do Dia

"Se você não rir dos seus problemas,
não vai ter nada do que rir quando crescer"
Ed Howe

Testador de Expressões Regulares

Quer testar suas expressões regulares, va neste site e coloque a expressão e um texto no quadro abaixo para ver se casa com os padrões.

http://gskinner.com/RegExr/

Um ótima dica também é ler as coisas do VERDE!

Frase do Dia

"O pessimista vê a dificuldade em cada oportunidade;
o otimista vê a oportunidade em cada dificuldade"
Winston Churchill

sexta-feira, 5 de setembro de 2008

Cuidado com as Licenças: Google Chrome X Google Chromium

O navegador Google Chrome é OpenSource, porém há um grande contraste entre o OpenSouce e seus termos de licenciamento. A sua licença lançada é bastante rígida e fere diretamente os direitos dos usuários no que tange a sua privacidade e alterações no código fonte. O Navegador OpenSource é o Google Chromium veja em http://code.google.com/chromium/ Ou seja, parece que o licenciamento Free OpenSource é para os dois, mas a licença é lida na página do Chromiu e o que você baixa é o Chrome, ou ainda o Chrome é OpenSource, porém o licenciamento é lido na página do Chromiu.... Bom ... vamos tentar entender...
Além desta confusão, alguns analistas acham que o Chrome é um tiro no coração do Firefox ( o que na verdade eu não acho ) já que a Mozilla contra atacou nestes últimos dias prometendo melhoras na performance.
Veja um trecho da licença do Chrome, traduzido (tradução livre) para Português do Brasil:

11. Licença de conteúdo do usuário

11.1 O usuário retém direitos autorais e quaisquer outros direitos que já tiver posse em relação ao Conteúdo que enviar, postar ou exibir nos Serviços ou através deles. Ao enviar, postar ou exibir o conteúdo, o usuário concede ao Google uma licença irrevogável, perpétua, mundial,
isenta de royalties e não exclusiva para reproduzir, adaptar, modificar, traduzir, publicar, distribuir publicamente, exibir publicamente e distribuir qualquer Conteúdo que o usuário enviar, postar ou exibir nos Serviços ou através deles. Essa licença tem como único objetivo permitir ao Google exibir, distribuir e promover os Serviços, e ela poderá ser revogada para alguns deles, conforme definido nos Termos Adicionais.

11.2 O usuário concorda que essa licença inclui o direito do Google de disponibilizar esse Conteúdo a outras empresas, organizações ou indivíduos com quem o Google tenha relações para o fornecimento de serviços licenciados e para o uso desse Conteúdo relacionado ao fornecimento desses serviços.

11.3 O usuário compreende que o Google, ao efetuar as etapas técnicas necessárias para fornecer os Serviços aos nossos usuários, pode (a) transmitir ou distribuir o seu Conteúdo por várias redes públicas e em várias mídias de dados; e (b) efetuar as alterações necessárias ao Conteúdo do usuário para ajustar e adaptar esse Conteúdo aos requisitos técnicos de conexão de redes, dispositivos, serviços ou mídia. O usuário concorda que essa licença permitirá ao Google realizar tais ações.

11.4 O usuário confirma e garante ao Google que tem todos os direitos, poderes e autoridade necessários para outorgar a licença citada anteriormente.


Entretanto no item anterior parece que o existe restrição quanto a cópia
e redistribuição do software (???)...

Vejam outro trecho da licença:

10. Licença do Google

10.1 O Google concede ao usuário uma licença pessoal, internacional, isenta de royalties, não atribuível e não exclusiva para utilizar o software fornecido ao usuário como parte dos Serviços fornecidos pelo Google (denominado como “Software” a seguir). Essa licença tem como único objetivo permitir o uso, por parte do usuário, dos benefícios dos Serviços tal como são fornecidos pelo Google, da forma permitida pelos Termos.

10.2 O usuário não poderá (nem poderá permitir a outra pessoa) copiar, modificar ou criar uma obra derivada do código-fonte, tampouco realizar engenharia inversa, descompilar ou, de algum outro modo, tentar extrair o código-fonte do Software ou de qualquer parte que o componha, a menos que seja expressamente permitido ou previsto por lei, ou que o usuário tenha sido especificamente autorizado por escrito pelo Google a fazê-lo.

10.3 A menos que o Google tenha concedido uma permissão específica, por escrito, para fazê-lo, o usuário não poderá transferir (ou conceder uma sublicença de) seus direitos de utilização do Software, conceder uma garantia relativa aos seus direitos de utilização do Software ou, de
algum outro modo, transferir qualquer parte dos seus direitos de utilização do Software.

Mas não era OpenSource ????

Veja que você entra na página do Chrome, mas a licença é lida na página do Chromium
Veja em: http://www.google.com/chrome/eula.html e a licença vai para http://code.google.com/chromium/terms.html

"Após protestos online por licença irrevogável e perpétua sobre conteúdo publicado pelo Chrome, Google muda Termos de Uso do navegador. O Google mudou o contrato de uso do navegadorChrome após protesto sobre uma cláusula que supostamente transferia ao buscador direitos totais sobre conteúdo publicado pelo usuário por meio do browser. Na versão original dos termos de uso, o artigo 11 dava ao Google "uma licença irrevogável, perpétua, mundial, isenta de royalties e não exclusiva para reproduzir, adaptar, modificar, traduzir, publicar" conteúdos publicados pelo usuário dentro do Chrome. "Tudo bem, temos outra teoria da conspiração para desmontar. Após ler o Termo de Serviço do Chrome, algumas pessoas estão preocupadas que o Google está tentando tomar os direitos de tudo que você faz no Chrome", afirmou Matt Cutts, líder da divisão Antispam do Google, em seu blog. Cutts pediu explicações para a conselheira sênior de produtos do Google, Rebecca Ward, que afirmou que o buscador estava trabalhando para remover determinada linguagem do artigo 11 dos termos. No final desta quarta-feira (03/09), o Google oficialmente mudou o documento, abrindo o artigo com a frase "Você retém direitos autorais e quaisquer outros direitos que já possui sobre Conteúdo enviado, publicado ou reproduzido em ou por Serviços". Segundo Ward, o novo texto terá validade retroativa, atingindo aqueles que baixaram e já usam o navegador."

Fonte http://idgnow.uol.com.br/internet/2008/09/04/chrome-google-muda-termo-de-uso-apos-protesto-por-direitos-de-conteudo/

"Tudo bem, temos outra teoria da conspiração para desmontar. Após ler o Termo de Serviço do Chrome, algumas pessoas estão preocupadas que o Google está tentando tomar os direitos de tudo que você faz no Chrome", afirmou Matt Cutts, líder da divisão Antispam do Google, em seu blog.

Após alteração, o texto da licença ficou desta forma:

11. Licença de conteúdo do usuário

11.1 O usuário retém direitos autorais e quaisquer outros direitos que já tiver posse em relação ao Conteúdo que enviar, postar ou exibir nos Serviços ou através deles. Ao enviar, postar ou exibir o conteúdo, o usuário concede ao Google uma licença irrevogável, perpétua, mundial, isenta de royalties e não exclusiva para reproduzir, adaptar, modificar, traduzir, publicar, distribuir publicamente, exibir publicamente e distribuir qualquer Conteúdo que o usuário enviar, postar ou exibir nos Serviços ou através deles. Essa licença tem como único objetivo permitir ao Google exibir, distribuir e promover os Serviços, e ela poderá ser revogada para alguns deles, conforme definido nos Termos Adicionais.

11.2 O usuário concorda que essa licença inclui o direito do Google de disponibilizar esse Conteúdo a outras empresas, organizações ou indivíduos com quem o Google tenha relações para o fornecimento de serviços licenciados e para o uso desse Conteúdo relacionado ao fornecimento desses serviços.

11.3 O usuário compreende que o Google, ao efetuar as etapas técnicas necessárias para fornecer os Serviços aos nossos usuários, pode (a) transmitir ou distribuir o seu Conteúdo por várias redes públicas e em várias mídias de dados; e (b) efetuar as alterações necessárias ao Conteúdo do usuário para ajustar e adaptar esse Conteúdo aos requisitos técnicos de conexão de redes, dispositivos, serviços ou mídia. O usuário concorda que essa licença permitirá ao Google realizar tais ações.

11.4 O usuário confirma e garante ao Google que tem todos os direitos, poderes e autoridade necessários para outorgar a licença citada anteriormente."

Fonte: http://www.google.com/chrome/eula.html

Este alerta foi dado por Anahuac de Paula Gil no Grupo de Usuários da Paraíba.

As mensagens deste post pode ser acompanhado em:

http://listas.glugpb.org.br/pipermail/glugpb/2008-September/002438.html

Referências:

http://www.google.com/chrome/
http://www.chromium.org/
Grupos de Usuários da Paraíba

quinta-feira, 4 de setembro de 2008

Frase do Dia

"Nada é permanente neste mundo -
nem mesmo nossos problemas"
Charlie Chaplin

terça-feira, 2 de setembro de 2008

Compiz - Conhecendo a fundo I

O Compiz como já sabemos é software de código aberto que roda na plataforma do sistema operacional Linux, gerenciando a interface, dando a ela a possibilidade de uma aceleração 3D, com isso dá-se o nome desktop 3D. As novidades do mundo de código aberto, nos dão a oportunidade de conhecer o mesmo desde suas raízes ate a parte em que se possa fazer a utilização. Iremos buscar então o entendimento avançado de como que é programado, ou seja ,como é desenvolvido este software, quais são seus diretórios, como podemos configura-lo, o que podemos ver e o que não poderemos ter acesso. Você usuário, poderá ter noções básicas de programação, podendo saber como esse software é desenvolvido.
Conhecendo os diretórios
Para encontrar os arquivos e diretórios relacionados ao Compiz, dentro do sistema operacional de os seguintes comandos:
# find / -iname compiz
Como você pode perceber ele jogará na saída padrão todos os diretórios devidos vejam:
root@kuruma:/usr/share/compiz# find / -iname compiz
/home/kuruma/.config/compiz
/usr/bin/compiz
/usr/lib/compiz
/usr/share/doc/compiz
/usr/share/compiz
/usr/include/compiz
/etc/xdg/compiz
No momento estou usando sistema operacional baseado no Debian, portanto pode ser que se você estiver usando um sistema operacional baseado em outra distribuição por exemplo, a sua resposta do comando find pode ser diferente, mas não será muito diferente do você está vendo.
Diretório /home/kuruma/.config/compiz
Esse diretório segura as informações das configurações do Compiz quando é configurado pelo CCSM, mas relativa somente para o usuário usando. Caso tenha outro usuário no seu sistema ele ira armazenar as configurações do outro usuário.
Diretório /usr/bin/compiz
Neste diretório estão os arquivos binários, gerados na hora da instalação..
Diretório /usr/lib/compiz
Todas as libs que o Compiz precisa para funcionar estão neste diretório, cada efeito tem o sua lib você pode conferir se quiser:
# cd /usr/lib/compiz
root@kuruma:/usr/lib/compiz# ls
lib3d.a libcubeaddon.la libimgjpeg.a libplace.so libshelf.la libtrailfocus.a
lib3d.la libcubeaddon.so libimgjpeg.la libpng.so libshelf.so libtrailfocus.la
lib3d.so libcube.so libimgjpeg.so libput.a libshift.a libtrailfocus.so
libaddhelper.a libdbus.so libini.so libput.la libshift.la libvideo.so
Diretório /usr/share/doc/compiz
Toda a documentação referente a licença e uso estão no mesmo.
Diretório /usr/share/compiz
Contém as limas que são compartilhadas, como, limas de configuração do defeito, imagens, documentação, etc.
Diretório /usr/include/compiz
Contem limas de encabeçamento para linguagens de programação de C e de C++
Diretório /etc/xdg/compiz
Dentro Desse diretório possui um arquivo responsável para marca o PATH, e iniciar o compiz.real dentro diretório indicado no arquivo.
No proximo assunto nos iremos aprofundar-nos na programação simples do CCSM.

Sobre o autor

José Cleydson Ferreira da Silva, o zékurma, conheceu o Linux no início de 2007 na Escola Técnica, foi aprendiz do Hermes Nunes Pereira Júnior, o hnjunior durante 18 meses. Trabalha com Linux a um ano, tem artigos nos sites Viva o Linux e GNU-LIA. Usuário do Linux por filosofia, acredita que o mesmo pode quebrar os paradigmas do mundo globalizado.


Áudio e Vídeo


Com a Super Colaboração do Pessoal do site http://www.gnu-lia.org, uma nova sessão de artigos direcionados a Multimídia.

Segue o Índice de Artigos:

sexta-feira, 29 de agosto de 2008

Alguns dos Meus Artigos no site www.gnu-lia.org

É com prazer que informo aos leitores dos meu site, que alguns artigos meus estão indo parar também no conceituadíssimo site http://www.gnu-lia.org.
Dá uma prestigiada no site dos nossos amigos Hermes, José "Kurumin" e Guilherme "Razgriz".
Veja o banner para o site gnu-lia:

Caso de Sucesso SuSE Linux e Casas Bahia

"O Case das Casas Bahia é um Case Mundial da Novell, tanto que a empresa produziu um vídeo a respeito (também disponível em MPEG). É a melhor propaganda de Linux que eu já vi. Números e estatísticas apresentadas pelo cliente SATISFEITO com o produto e o serviço e apresentando isso de forma que outros CLIENTES possam se beneficiar.”
Vale a pena baixar o vídeo completo, lembrando que se você usa Windows, baixe o Link em MPEG, pois o outro vídeo é em formato OGG.
Se você não quiser baixar, veja aqui no Youtube. Recomendo!!!

Comercial IBM Linux: The Boy Has Been Adopted

IBM: The New Allie

IBM Suporta 100% LINUX !!

Comercial "Then Linux Wins"

Além de um belo comercial, uma aula de história, da invenção do telefone, até os dias de hoje.

Comercial da Novell, mais um da série... Eu Sou Linux, Eu PC e Eu MAC

Comercial Linux Envolvendo Linux, Macs e Pcs

Propaganda comparando Muhammed Ali e o Linux

Este vídeo compara as qualidades de Muhammed Ali e o Linux.

terça-feira, 26 de agosto de 2008

Diferenças...

Frase do Dia

"...Olhe para cima e conte as estrelas..."

Gênesis 15:5

sexta-feira, 22 de agosto de 2008

Curso de Ubuntu Oficial da Canonical Traduzido para o Português


Curso bastante didático, com muitas figuras, abordando os principais tópicos do desktop ubuntu 8.04 e seus aplicativos mais comuns: efeitos no desktop, office, multimídia e muito mais.
Este trabalho é uma tradução do curso Ubuntu Desktop Training escrito pela Canonical Ltd. e pela comunidade Ubuntu Training.
Os tópicos abordados são:
  • Capítulo 1 - Apresentação
  • Capítulo 2 - Explorando o Desktop Ubuntu
  • Capítulo 3 - Usando a Internet
  • Capítulo 4 - Usando o OpenOffice
  • Capítulo 5 - O Ubuntu e os Jogos
  • Capítulo 6 - Personalizando o Desktop e Aplicativos
  • Capítulo 7 - Fazendo o Máximo com Imagens e Fotos
  • Capítulo 8 - Executando Músicas e Vídeos
  • Capítulo 9 - Ajuda e Suporte do Ubuntu
  • Capítulo 10 - Particionamento e Inicialização
  • Apêndice A - Instalando Drivers das Placas NVIDIA ou ATI
  • Apêndice B - Compiz Fusion e o Cubo para Iniciantes
Para tera acesso a todo o curso, visite o blog http://ubuntu804-br.blogspot.com/

quarta-feira, 20 de agosto de 2008

avi, mp3, vorbis, flac, que sopa de letrinhas!!!!!



Hoje é cil a gente ver um player pendurado na cintura ou no pescoço de muita gente. Eu estava outro dia em Belo Horizonte e observei que muita gente usava algum player. Com a natural evolução tecnológica dos dispositivos de armazenamento, eles incorporaram mais recursos e diminuiram o tamanho. Há 2 anos eu comprei um pen-driver de 1 GB por R$180,00, neste final de ano comprei um player mp4 por R$120,00. Aumentou a tecnologia, diminuiu o preço e o tamanho.

Quando os CDs passaram efetivamente a fazer parte de nossas vidas e o LP foi sendo abandonado por causa de suas limitações, entramos efetivamente numa era sonora digital. Ao invés das gravações feitas em plástico como nos LPs e fitas K7, passamos a ter o som arquivado em mídias que guardavam informações binárias. Esta mudança abriu um mundo de possibilidades que nós normalmente não percebemos.

A primeira mudança, não a mais importante, foi o tipo de mídia como forma de armazenam
ento. A fita K7 e o LP eram muito sensíveis. A fita K7 podia perder suas informações/músicas se ficasse perto de um imã. O LP facilmente era danificado por um arranhão. Quem já não chorou ao ver aquele seu amado LP de Roberto Carlos tocando e dando aquele salto irritante? puk, puk, puk... Num CD, a possibilidade de dano era menor pois a mídia não tinha contato direto com o leitor, o canhão laser.

Um outro fator interessante era o
chiado. No CD o chiado era eliminado por completo caso a gravação original, desde a captura do áudio fosse feita digitalmente. Nas mídias anteriores, principalmente o LP, o chiado era inerente ao som.

Haverá uma eterna discussão entre a qualid
ade sonora do LP versus CD. Os que defendem o LP, mesmo com suas limitações citadas, defendem que a gravação analógica consegue captar um espectro maior da real execução do instrumento, coisa que não é possível numa gravação digital. Esta argumentação é interessante. Teoricamente nenhuma mídia consegue capturar, em toda sua extensão a qualidade musical de um instrumento, ou seja, a execução ao vivo é sempre mais rica que sua própria gravação. Este assunto é realmente delicado e vamos discutir num artigo à parte.

Vejamos alguns dos formatos digitais de áudio

O Formato MP3

Com o avanço da internet, que deixou de ser apenas para uso militar, depois de instituições de pesquisa e ensino e passou a ser de acesso público. Começou-se a criar um fato novo nas relações de comunicação.


Enquanto não havia o correio eletrônico, as mensagens eram feitas e trocadas por meio de cartas. Com o nascimento e crescimento da internet, a comunicação eletrônica, o e-mail, passou a fazer parte do cotidiano de um número cada vez maior de pessoas.

Por sua vez, o www criou um sem número de sites e recursos que foram evoluindo desde o html puro e simples, passando pelas páginas dinâmicas e chegando até às transmissões multimídias, onde o áudio e o vídeo juntos compõem um novo meio de comunicação.

Neste momento a mídia digital, o cd onde a música era armazenada impedia que a transmissão da música pela internet fosse algo ainda imprecisa e lenta.

Vamos entender um pouco o porquê disso.


Na hora da gravação, o microfone ou captador recebe o som e o transforma em um arquivo que será posteriormente mixado, inserido efeitos etc.


Este arquivo, em seu formato natural, tem uma taxa de 10 megas para cada minuto de execução. Ele é estéreo, com uma taxa de 44100 hz e 32 bits. Ele captou e guardou teoricamente um espectro musical muito grande. Notas muito altas e notas muito baixas. Captou também momentos em que os dois canais (left e right) se aproximaram um do outro, formando quase um canal mono.

Este formato não era realmente bom para a internet. Imagine uma música de 4 minutos sendo trocada por 2 amigos. Não era realmente viável. Foi neste contexto que começaram a surgir estudos para viabilizar alternativas.

Segundo o site wikipedia - http://pt.wikipedia.org/wiki/MP3, o formato mp3 foi o primeiro formato digital que se propôs a analisar o espectro sonoro de uma música qualquer e propor um algorítmo que mantivesse a qualidade próxima do original.

No site do Instituto Fraunhofer, eles tem a história da evolução do mp3 http://www.iis.fraunhofer.de/EN/bf/amm/mp3history/mp3history01.jsp

Segundo o site, o ano de 1987 foi o marco para o estudo do mp3. Uma parceria entre a Universidade de Nuremberg e o Instituto Fraunhofer, liderado pelo Prof. Heinz, começaram a estudar um algoritmo de compactação.


Em 1988 foi estabelecido o MPEG, um grupo de trabalho específico da ISO.


Em 1989 o Prof. Brandenburg termina sua tese de doutorado sobre o algoritmo OCF, um codec que seria a base do mp3.


Em 1991 um novo codec chamado ASPEC é apresentado como resultado das melhorias do codec OCF.


Apresentação da ASPEC 19 "racks estúdio de transmissão de voz e música através da RDIS fiável entre estúdios radiodifusão (1991, a partir da esquerda: Jürgen Herre, Martin Dietz, Harald Popp, Ernst Eberlein, Karlheinz Brandenburg, Heinz Gerhäuser).



Em 1994, surge o primeiro codificador/decodificador mp3.

Em 1995 o nome mp3 é dado ao projeto MPEG-1, Layer 3.


Formato ogg/vorbis (fonte: http://pt.wikipedia.org/wiki/Vorbis)

Vorbis é o nome de um projeto, liderado pela Xiph.org Foundation, que desenvolveu um algoritmo de compressão/descompressão (codec) de áudio, livre de patentes. Os arquivos codificados com o codec Vorbis são frequentemente usados em conjunto com o formato Ogg, sendo então conhecidos como Ogg Vorbis.

O projeto Vorbis foi iniciado após uma mensagem da Fraunhofer Gesellschaft em Setembro de 1998, a anunciar os planos de cobrar licenças de utilização para o popular formato MP3. Pouco tempo depois Christopher Montgomery iniciou o projeto, sendo auxiliado por um crescente número de voluntários, que continuaram a aperfeiçoar o código até ser lançada a versão 1.0 do codec em 19 de Julho de 2002.

Ao contrário do formato MP3, o Vorbis utiliza uma codificação em bitrate variável (VBR) o que permite obter arquivos mais compactos para uma qualidade de som semelhante, ou melhor qualidade para a mesma dimensão de arquivo.

Além das diferenças técnicas, a outra grande diferença entre o MP3 e o Ogg Vorbis é que enquanto o primeiro formato é proprietário, o segundo é livre, com uma licença BSD para as bibliotecas e GPL para as ferramentas.

Devido ao fato de o MP3 ter atingido uma grande popularidade durante a década de 1990, o formato Vorbis é ainda bastante minoritário. Apesar disso, a qualidade do codec e a licença livre têm conquistado adeptos, especialmente junto dos que receiam que as patentes do formato MP3 venham a limitar a disponibilidade desse formato.


Formato Flac

FLAC (acrônimo de Free Lossless Audio Codec, que significa Codec de Áudio Sem Perda Livre em inglês) é um codec de compressão de áudio sem perda de informação. Ao contrário de codecs com perda tais como o MP3 e o Vorbis, ele não remove nenhuma informação do fluxo de áudio, mantendo a qualidade do som.

Josh Coalson é o autor original do FLAC. Em 29 de Janeiro de 2003, Xiphophorus (agora conhecida como fundação Xiph.Org) anunciou a incorporação do FLAC sob sua bandeira juntamente com Vorbis, Ogg, Theora, Speex, e outros


O projeto FLAC se compõe de:

  • o formato de stream;
  • um container de formato para o stream, também chamado de FLAC (ou FLAC Nativo);
  • libFLAC, uma biblioteca de referência de codificadores e decodificadores, e uma interface de metadados;
  • libFLAC++, um object wrapper para a libFLAC;
  • flac, um wrapper em linha de comando para utilizar a libFLAC para codificar e decodificar streams em FLAC;
  • metaflac, um editor de metadados em linha de comando para arquivos .flac e para a aplicação de Replay Gain;
  • plugins de entrada para vários tocadores de áudio (Winamp, XMMS, foobar2000, musikCube, e muitos mais);
  • Com a incorporação à Xiph.org, o container de formato Ogg, adaptável à streaming (também chamado de Ogg FLAC).

"Livre" significa que a especificação do formato de stream pode ser implementada por qualquer pessoa, sem necessidade de autorização expressa (a Xiph.org se reserva o direito de definir a especificação do FLAC e certificar a conformidade aos mesmos), e nem o formato FLAC, nem nenhum método implementado para codificá-lo/decodificá-lo são cobertos por patentes. Isso também significa que a implementação referencial é software livre e os códigos-fonte da libFLAC e da libFLAC++ são disponíveis sob a Licensa BSD da Xiph.org, e os códigos-fonte do flac, metaflac, e também os plugins estão disponíveis sob a GPL.


O FLAC foi criado para um empacotamento eficiente de dados de áudio, diferente de algoritmos gerais de compressão sem perda, como ZIP e gzip. Enquanto um ZIP pode compactar um arquivo de áudio com qualidade de cd em 10% ou 20%, com FLAC pode-se alcançar taxas de compressão de 30% a 50%.

Codecs com perda de dados podem alcançar taxas de 80% ou mais, descartando dados do stream original. O FLAC utiliza predição linear para converter amostras do áudio em uma série de pequenos números não correlatos (o residual), que são armazenados eficientemente com o uso do algoritmo Golomb-Rice. Ele também utiliza codificação de run-length para blocos de amostras idênticas, como passagens silenciosas. As vantagens técnicas do FLAC comparado a outros codecs sem perda residem na sua habilidade de streaming e em um rápido tempo de decodificação, que independe do nível de compressão.

Como qualquer outro codec sem perdas, o formato FLAC é popular entre proprietários de CDs e outras mídias que desejam preservar suas coleções de áudio. Se a mídia original foi perdida ou danificada, uma cópia em FLAC garante que uma duplicata exata do original pode ser recuperada a qualquer instante. Uma restauração exata feita a partir de um arquivos com perda (ex., MP3) dos mesmos dados é impossível. Um arquivo CUE pode opcionalmante ser criado ao copiar-se um CD. Se o CD foi lido e copiado peerfeitamente em arquivos FLAC, o arquivo CUE permite posteriormente a gravação de um CD de áudio idêntico ao original, incluindo ordem das faixas, pregaps, e CD-Text. Entretanto, dados adicionais presentes em alguns CDs, como letras e gráficos de CD+G estão além do escopo de um arquivo CUE e da maioria dos softwares de cópia de CDs, portanto, esses dados não serão armazenados.


O formato Wav

WAV (ou WAVE), forma curta de WAVEform audio format, é um formato-padrão de arquivo de áudio da Microsoft e IBM para armazenamento de áudio em PCs.

É uma variação do método de formatação de fluxo de bits RIFF para armazenar dados em blocos (chunks) e também parecido com os formatos IFF e o AIFF usados em computadores Macintosh. Ambos WAVs e AIFFs são compatíveis com os sistemas operacionais Windows e Macintosh. São levadas em conta algumas diferenças nos processadores Intel como a ordem de bytes "little-endian". O formato RIFF age como um "empacotador" (wrapper) para vários codecs de compressão de áudio. É o principal formato usado nos sistemas Windows para áudio simples.

Apesar de um arquivo WAV poder conter áudio compactado, o formato mais comum de WAV contém áudio em formato de modulação de pulsos PCM (pulse-code modulation). O PCM usa um método de armazenamento de áudio não-comprimido (sem perda). Usuários profissionais podem usar o formato WAV para qualidade máxima de áudio. Áudio WAV pode ser editado e manipulado com relativa facilidade usando softwares.

Por ser um formato sem compressão, o WAV ocupa um espaço muito grande de armazenamento, o que pode ser resolvido convertendo o arquivo para outros formatos, tais como mp3 ou Ogg-Vorbis.

Limitações do formato wave

O formato WAV é limitado a arquivos menores de 4 GiB, devido ao uso de inteiros de 32 bits para gravar o campo de tamanho no cabeçalho de arquivo(alguns programas limitam o tamanho do arquivo para 2 GiB). Apesar disto ser equivalente a aproximadamente 6.6 horas de áudio em qualidade de CD(44.1 kHz, 16-bit estéreo), em algumas situações é necessário ultrapassar esse limite. O formato W64 foi então criado para usar no Sound Forge. O seu cabeçalho de 64-bit permite gravações muito mais longas. Este formato pode ser convertido usando a biblioteca libsndfile. O formato RF64, especificado pela União Européia de Transmissão (European Broadcasting Union), também foi criado para resolver este problema.

CDs de Áudio

CDs de áudio não usam WAV como formato de som. Em vez disso, usam o Red Book Audio. O ponto em comum é que ambos têm o áudio codificado em PCM. WAV é um formato de arquivo de dados para uso no computador. Se um CD de áudio fosse codificado em um arquivo WAV e em seguida gravado num CD-R usando um CD de dados(no formato ISO), o CD não tocaria em um aparelho de som que foi projetado para tocar CDs de áudio.

Conclusão

Não há volta, estamos num mundo digital. Até a TV agora é digital. Parece que estamos num filme de ficção científica como "Blade Runner - O Caçador de Andróides", ou "Minory Report", tudo digital, instantâneo. Só falta a Rose, aquela robozinha dos Jetsons chegar e servir um copo de refri.

Como diria Robin: "Santa confusão de siglas Batman"


Sobre o autor

Hermes Nunes Pereira Júnior, o hnpjunior, trabalha com Linux desde 1997, quando conheceu o Conectiva 3, cujo codinome era "Guarani". Hoje trabalha com o Debian Etch. Tem artigos escritos no Viva o Linux, na Revista Fedora Brasil, além de ser editor do site GNU-Lia, que aborda o uso de softwares livres para edição de áudio e vídeo. Está desenvolvendo um curso de teoria e prática musical a distância usando softwares livres.

terça-feira, 5 de agosto de 2008

Backup Incremental de Servidores e Estações Windows em Servidores Linux com o RSYNC


Backup de Servidores e Estações Windows com o RSYNC.

Este Artigo está publicado no VivaoLinux em
http://www.vivaolinux.com.br/artigo/Utilizando-o-RSYNC-para-fazer-backups-de-servidores-e-estacoes-Windows

1. Introdução

Quem utiliza o RSYNC para fazer backups entre máquinas Linux, sabe como é fácil manter backups centralizados e atualizados de forma fácil, eficiente e segura. E ainda mais se sua unidade de fita for em um servidor linux (como é o meu caso), você pode deixar seus scripts de backup rodando para reunir todos os dados importantes em uma única máquina para depois fazer o backup em fita magnética.

Antigamente (ou atualmente dependendo do Administrador da Rede) quando queríamos fazer backups entre servidores remotos e centralizá-los, geralmente utilizávamos o FTP, que através de alguns comandos é possível fazer a conexão, login e senha automático e ainda mandar todos os arquivos para serem feitos backups em um servidor.
O Grande problema ai é que o FTP manda a senha em texto plano pela rede e seus arquivos podem ser capturados durante a transferência.

O Rsync, como o nome sugere, é um programa que sincroniza remotamente os dados entre duas máquinas. Por ser baseado no antigo rcp (remote copy), o software herdou as propriedades de criptografia do protocolo SSH, o que torna sua transmissão de dados mais segura que o FTP.

Além das propriedades de segurança, o rsync utiliza o protocolo remote-update, o que aumenta assustadoramente sua velocidade e diminui a quantidade de dados transferidos, pois são trocados entre os servidores somente as diferenças entre dois grupos de arquivos.

Se alteramos uma dúzia de arquivos numa porção de centenas, ao executar um rsync do seu desktop para o servidor, somente os arquivos alterados serão enviados por upload e você ainda não corre o risco de algum espertinho utilizando um sniffer na rede capturar sua senha de FTP em texto plano.

Resumindo, existem pelo menos quatro situações onde o rsync pode te ajudar:

* copiando (ou sincronizando) arquivos entre dois diretórios locais;
* copiando (ou sincronizando) arquivos de sua máquina local para um servidor remoto;
* copiando (ou sincronizando) arquivos de um servidor remoto para sua máquina local;
* listando os arquivos de um diretório no servidor remoto (como um "remote ls").

Só uma curiosidade, o Rsync é feito pelo Andrew Tridgell, o mesmo autor do SAMBA.
Veja em: http://samba.anu.edu.au/rsync/

2. Como usar o RSYNC e SSH no Windows????

Vocẽ deve estar pensando em instalar o CYGWIN (http://www.cygwin.com/) para começar a o ssh e rsync não é? ESQUEÇA! Deixe o CYGWIN pra lá, existe um aplicativo chamando cwRsync que instala apenas o necessário para sua máquina Windows se comunicar com qualquer servidor Linux na hora, feito caldo de cana! E ainda é possível fazer um servidor, ou seja, o Windows ser um servidor Rsync para sincronização nas duas vias: Windows -> Linux e Linux -> Windows. Mas isto é objeto para outro artigo.

Uma dica, se você quiser basta copiar o diretório c:\Arquivos de Programas\cwRsync para qualquer estação que tem o mesmo efeito de usar o executável da instalação.

Bom, no Linux, já está tudo pronto, não precisa fazer nada (basicamente), pois a maioria das distribuições já trazem o ssh e rsync instalados por padrão, caso não tenha na sua distribuição, instale com o gerenciador de pacotes da sua preferência, ou baixe o código fonte e compile!

Rsync:
http://samba.anu.edu.au/rsync/

SSH:
http://www.openssh.com/

3 - A idéia!

O principal para mim é fazer os backups dos arquivos importantes do usuário sem que ele perceba que todos os seus dados estão sendo guardados de forma segura independente da vontade dele.
Por exemplo, você quer guardar os documentos da empresa ou ainda os emails corporativos.
Se você deixar esta responsabilidade nas mãos do usuário... bom ... você já sabe...
Mas que tal deixar uma tarefa agendada que faz isso diariamente... ????

4 - Obtendo e Instalando o cwRsync.

Você pode obter o cwRsync http://sourceforge.net/project/showfiles.php?group_id=69227&package_id=68081&release_id=615606

Basta baixar o primeiro arquivo: cwRsync_2.1.4_Installer.zip

Instale cwRsync_2.1.4_Installer.zip. confirmando todas as opções.

Pronto! Foi criado na pasta C:\Arquivos de Programas um diretório chamando cwRsync.
Lá contem os binários do ssh e rsync e um arquivo de exemplo que é auto explicativo, porém vamos a alguns exemplos.

4 - Configurando o Arquivo .bat ou .cmd para fazer a Sincronização.

O Funcionamento é simples, mas devem existir no cabeçalho do arquivo, a declaração de algumas variáveis, então deixa sempre o cabeçalho do arquivo desta forma:

@ECHO OFF
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%

E logo abaixo destas linhas, pode começar a escrever as linhas que vão copiar seus diretórios e/ou arquivos para um servidor remoto.

5 - Exemplos

Em primeiro lugar, precisamos convencionar que:

C:\ para o rsync é /
C:\Arquivos de Programas para o Rsync é /"Arquivos de Programas"
C:\Arquivos de Programas\Microsoft Office para o Rsync é /"Arquivos de Programas/"Microsoft Office"

Opções:
--recursive ou -r = Cópia Recursiva, ou seja todos os arquivos e subdiretórios abaixo do diretório informado
-a = modo arquivo
-v = Modo detalhado (Verbose)

Então vamos aos exemplos:

Obs: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Para o exemplo usaremos o servidor 192.168.0.1
Usuário do Servidor: root
Local: Um HD de Backup montado em /media/hd_backup

1 - Fazer Backup dos Emails do Outlook do Usuário Dailson
rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

2 - Fazer o Backup da Pasta C:\Sistema Empresa:
rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

3 - Guardar a Pasta Meus Documentos do Usuário Dailson:
rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

4 - Guardar a Pasta HOME inteira do Usuário Dailson:
rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

5 - Fazer backup da Pasta do Banco de Dados da Empresa: C:\Banco de Dados
rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup

Obs1: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Então um script backup.bat completo com os exemplos acima ficaria desta forma:

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup

6 - Opções que você deve saber

1 - Mantendo a Imagem do Backup idêntica a origem

Um backup feito com rsync vai ser feito de forma incremental. Porém se o usuário renomear um arquivo, apagar ou mover da origem (Por exemplo da pasta Meus Documentos) o rsync irá copiá-lo novamente. E irá ficar um fantasma no destino, ou seja. Se o usuário apagar alguns arquivo, eles continuaram no backup e o efeito colateral disso é que o backup irá crescer sem parar.
A idéia é fazer o seguinte, quando o usuário apagar um arquivo, o arquivo deve ser apagado do backup também.
A opção do rsync que faz isso é

--delete

Então a linha Correta para o backup da pasta meus documentos do exemplo anterior seria:

rsync -av --recursive --delete /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

2 - Evitando backup de alguns arquivos.

Você não deseja detonar seu espaço em disco com as músicas e filmes do seu usuário não é? Você pode dizer ao rsync para evitar alguns tipos de arquivos, bastando para isso usar a seguinte opção:

--exclude="O que se quer evitar"

Exemplo:

Vou evitar que vá para o backup os seguintes arquivos:

Arquivos de música (MP3, OGG, WAV, WMA...)
Arquivos de Filme (AVI, MPEG, MPG, FLV, MP4, WMV, AMV ...)
Programas e arquivos temporários (EXE, COM, TMP)
Fotos e imagens (JPG, JPEG, BMP ...)

Basta você separar com espaço e colocar quantas excessões quiser. E ainda pode utilizar coringas.
Por exemplo:

--exclude=*.jpg --exclude=*.avi --exclude=*.mp3 ...

O Nosso exemplo da pasta Meus Documentos já com estas opções tratadas neste tópico ficariam deste jeito:

rsync -av --recursive --delete -e "ssh -p 16117" --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com --delete /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

Neste caso, o Script completo ficaria desta forma:

Obs: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Grave ele na raiz do C:\ e chame de backup.bat

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%

rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Banco de Dados" root@192.168.0.1:/media/hd_backup

7 - Simplificando o Script

Ao invés de ficar passando as opções em todas as linhas de comando, podemos simplificar o script colocando todas elas no início como uma variável.
Desta forma:

set opcoes=-av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com

Então o script ficaria desta forma:

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
set OPCOES=-av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com

rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync %OPCOES% /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Banco de Dados" root@192.168.0.1:/media/hd_backup

Simplificou bastante!!!

8 - Usando a Tarefa agendada ou o AT do Windows

Bom, já que todo o trabalho está feito, só falta agendar a tarefa para que este script seja executado diariamente, ou de acordo com a sua necessidade.
Mas não custa nada lembrar, que da primeira irá acontecer o seguinte:

1 - Somente da primeira vez que você rodar o script, o rsync (ssh) irá pedir para você aceitar a chave do host no qual você está mandando os dados. Para isso basta digitar yes e pronto. Esta pergunta não irá acontecer novamente.

2 - A primeira cópia é completa e dependendo da quantidade de dados irá demorar um pouco. Porém se imediatamente após a cópia você chamar o script novamente, irá ver que o rsync não vai fazer nada. O Rsync a partir da segunda cópia, só vai copiar os arquivo que foram alterados, criados ou irá deletar do backup o que foi deletado da origem.

3 - Para agendar a tarefa deste script rodar automaticamente diariamente ou a sua escolha vá em tarefas agendadas do windows em Iniciar/Programas/Acessórios/Ferramentas/Tarefas Agendadas. Ou se preferir, use o AT do windows, que é um agendador de tarefas semelhante ao do linux que também roda em linha de comando.
Se quise aprender sobre o AT no Windows, visite a seguinte página:

http://support.microsoft.com/kb/313565/pt-br

9 - Fazendo com que o backup não peça senha

Antes da cópia começar, o login é feito via ssh. Nesta hora o login é passado pela string root@192.168.0.1:/media/hd_backup, porém imediatamente depois é solicitada a senha.
Então este incomodo é gerado, ou seja, toda vez que a tarefa agendada iniciar o script de backup, a senha será solicitada. E se o usuário não tiver na frente do computador? Ou se esse backup for feito de madrugada?
Para resolver este problema, basta gerar as chaves pública e privada e fazer com que o cwRsync comece o backup sem intervenção humanda.

1 - Gerando as chaves

No servidor linux, gere as chaves públicas e privadas da seguinte forma:
No usuário que você irá fazer a conexão sem senha (vou utilizar o root como exemplo)

Digite no terminal:

ssh-keygen

Quando perguntado para entrar com uma "passphrase", apenas tecle "Enter" duas vezes para que fique em branco, caso contrário esta frase precisará ser digitada posteriormente.

A saída do comando é esta:

Generating public/private rsa key pair.
Enter file in which to save the key
(/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in
/root/.ssh/id_rsa.
Your public key has been saved in
/root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Pronto foram geradas suas chaves públicas e privada dentro do diretório /root/.ssh
São elas:
/root/.ssh/id_rsa (A privada)
/root/.ssh/id_rsa.pub (A pública)

Agora faça o seguinte:

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

É importante que a chave pública (id_rsa.pub) seja adicionada (usando o sinal de maior maior ">>") dentro do arquivo "authorized_keys", pois podem haver outros clientes registrados neste mesmo arquivo.

E pegue o arquivo /root/.ssh/id_rsa (a sua chave privada) e copie no seguinte diretório na sua máquina windows:
c:\Documents and Settings\seu_usuario\.ssh

Pronto!

Agora roda novamente o backup.bat e veja que o backup é feito sem nenhuma interferência.

A chave Privada está em "/root/.ssh/id_rsa" e a Pública em "/root/.ssh/id_rsa.pub".

10 - Conclusões e Créditos

Este Artigo está publicado no VivaoLinux em
http://www.vivaolinux.com.br/artigo/Utilizando-o-RSYNC-para-fazer-backups-de-servidores-e-estacoes-Windows

Bom. Estou compartilhando a solução que achei em meu trabalho de fazer backups de Servidores e Estações Windows de forma segura e íntegra.
Utilizo esta forma a alguns anos sem quaisquer tipos de problemas.
Existem muito mais opções que podem ser utilizadas com rsync. Para isso consulte o manual. Ele é muito bom e explicativo.

Se você tiver no linux, digite man rsync ou consulte ele na web em http://www.samba.org/ftp/rsync/rsync.html

A Introdução foi retirada do artigo de Fábio Bebert de Paula em http://www.vivaolinux.com.br/artigo/Transferindo-arquivos-com-o-rsync/

Geração de Chaves:
http://www.vivaolinux.com.br/artigo/Conexoes-SSH-sem-senha-facil-e-descomplicado/

E Lembrem-se ...

Flames > /dev/null!!