Categoria: Ferramentas


Um script PHP pode estar funcionando normalmente na máquina de testes local mas ao subir para o provedor ele passa a exibir um erro como:

Parse error: syntax error, unexpected $end

Mas o que pode ter acontecido ? O script está funcionando normalmente no micro de desenvolvimento !

Experimente configurar seu cliente FTP para transferir arquivos com extensão PHP utilizando o modo de transferência binário.

Por exemplo, no caso do cliente Filezilla, entre no menu Editar/Configurações e na barra de opções do lado esquerdo, selecione Transferências/Tipos de Arquivo.

Lá existe uma lista de extensões que são tratadas em modo de transferência ASCII.

Selecione o tipo de arquivo PHP e clique em “Remover” como mostra a imagem abaixo.

Filezilla tipo de arquivo modo de transferência

Modo de transferência para arquivos do tipo PHP

Ao usar o Navicat Lite pode acontecer de você visualizar caracteres estranhos no conteúdo de alguns campos em banco de dados já existentes.

Isso pode ocorrer porque para utilizar o Navicat com banco de dados MySQL versão 4.1 ou superior e codificação UTF-8 é necessário habilitar a opção “Use MySQL character set” nas propriedades da conexão como na tela capturada abaixo.

Navicat Lite MySQL advanced settings

Configurações avançadas da conexão MySQL no Navicat Lite

As vezes precisamos testar se um computador está com a porta liberada ou bloqueada.

Existem algumas ferramentas online que facilitam estes testes para o protocolo TCP e UDP.

Para porta FTP (21) podemos utilizar:

http://ftptest.net

E para testar várias portas temos:

http://www.canyouseeme.org
http://www.t1shopper.com/tools/port-scan

As vezes recebemos e-mail com mensagem de erro como se tivesse partido de nós um spam para alguém que não conhecemos.

A mensagem na verdade foi enviada por outra pessoa, normalmente um spammer, que tenta forjar endereços de e-mail para enviar propaganda não solicitada. Estes spammers colecionam endereços de e-mail que são obtidos em páginas na internet ou até mesmo naquelas mensagens encaminhadas onde não são apagados os endereços de e-mail de todos os destinatários (o remetente utiliza cópia carbono ao invés de cópia carbono oculta para encaminhar a mensagem para vários amigos).

Essa prática é conhecida por e-mail spoofing.

Se você é um usuário, a melhor coisa a fazer é entrar em contato com o administrador do seu domínio ou provedor e encaminhar a mensagem para que ela seja analisada.

Se você é o administrador do domínio ou cuida da hospedagem do site de sua empresa, talvez possa começar a levar em consideração o recurso SPF – Sender Policy Framework.

O SPF é um recurso utilizado pelos provedores internet que serve para divulgar entre os provedores, através dos registros DNS, quais servidores de e-mail são autorizados a enviar e-mail para quais domínios. Dessa forma, se um provedor com SPF habilitado recebe uma mensagem de outro provedor com o recurso habilitado, eles poderão saber se a mensagem é autêntica ou se veio de outro servidor não autorizado – provavelmente SPAM.

Inúmeros provedores já estão se valendo do SPF para proteger seus usuários, entre eles Yahoo, Google e Hotmail.

O SPF é um dos recursos dinâmicos em funcionamento atualmente para tentar reduzir o volume de SPAM da rede. Existem outros recursos em testes. Entretanto a infra-estrutura de e-mail de uma forma geral ainda está evoluindo no sentido de reduzir e quem sabe um dia, eliminar totalmente esta prática que incomoda a maioria das pessoas.

Mais informações podem ser obtidas em:

http://www.openspf.org

Ao tentar copiar um DVD para arquivo de imagem recebo a mensagem de erro.

Para resolver instale o pacote Ubuntu restricted extras pela Central de Programas ou utilizando o comando:

sudo apt-get install ubuntu-restricted-extras

Depois instale as bibliotecas necessárias utilizando o comando:

sudo /usr/share/doc/libdvdread4/install-css.sh

Feche o Brasero e abra novamente. Agora deve funcionar.

Dica em inglês obtida de:

http://ubuntuforums.org/showthread.php?t=1499045

Configurei uma conta no protocolo ICQ no Empathy 2.30.3. Ao tentar conectar recebo uma mensagem de erro de rede – network error.

Seguindo os passos abaixo o problema foi resolvido.

* Desabilite sua conta ICQ.
* Em um terminal, execute o seguinte comando:

mc-tool update haze/icq/_30 bool:use-ssl=false

O ’3′ e ’0′ são propositais.

Por exemplo, se seu UIN for ’12345′, execute:

mc-tool update haze/icq/_3123450 bool:use-ssl=false

Caso você receba uma mensagem dizendo que ‘Method “GetAll” with signature “s” on interface “org.freedesktop.DBus.Properties” doesn’t exist’ então utilize o comando:

mc-tool list | grep icq

Para saber qual o identificador de sua conta e utilize esse identificador no lugar do UIN acima descrito.

* Habilite sua conta novamente.

Se não funcionar, desabilite sua conta, aguarde 10 minutos e tente novamente.

Dica traduzida de:

https://bugs.launchpad.net/empathy/+bug/676060

As vezes temos um servidor dedicado Windows e precisamos fazer o PHP enviar e-mail através de um servidor SMTP autenticado.

A alternativa é utilizar uma classe não nativa do PHP (que suporte autenticação SMTP) ou utilizar este software que emula o “sendmail -t” do Unix.

Assim o mesmo código PHP que envia e-mail com autenticação SMTP funcionaria sem alteração em um servidor Linux ou Windows.

O software está em:

http://glob.com.au/sendmail/

No php.ini alteramos as linhas (exemplo no meu caso):

sendmail_path = "D:\Bibliotecas\sendmail\sendmail.exe -t"

E no arquivo sendmail.ini colocamos:

smtp_server=(servidor SMTP)
smtp_port=(porta)
default_domain=(domínio padrão)

Supondo que já possua uma máquina virtual com Windows XP rodando em um host com Ubuntu 9.04 e VirtualBox 3.

No modo padrão de configuração da rede da máquina virtual, o NAT não permite que o sistema operacional host, o Ubuntu, enxergue o Windows XP.

Para que isso funcione, você deve alterar as Configurações de Rede de sua máquina virtual para modo Bridge no Adaptador 1 por exemplo:

O modo Bridge permite que a máquina virtual utilize a interface de rede do host como se estivesse ligada diretamente no switch da rede. Dessa forma a máquina virtual receberá um endereço IP automaticamente do seu roteador.

Para que o teste funcione, você deve desativar o Firewall da máquina virtual Windows e utilizar o comando abaixo para saber qual o endereço IP recebido:

ipconfig

Uma vez que tenha este endereço IP, no host com Ubuntu, faça um teste de ping:

ping ip_do_Windows

Por exemplo:

ping 192.168.1.104

Se tudo ocorreu normalmente, o host e o guest terão acesso entre si e resposta será algo como:

PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.
64 bytes from 192.168.1.104: icmp_seq=317 ttl=128 time=0.422 ms
64 bytes from 192.168.1.104: icmp_seq=318 ttl=128 time=0.534 ms
64 bytes from 192.168.1.104: icmp_seq=319 ttl=128 time=2.06 ms
64 bytes from 192.168.1.104: icmp_seq=320 ttl=128 time=0.688 ms

No menu Sistema/Canais de Software do Ubuntu adicione em Programas de Terceiros:

deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

Baixe esta chave pública da Sun na sua pasta de trabalho para que o Ubuntu instale o VirtualBox sem reclamar de segurança.

Abra uma janela de terminal em Acessórios/Terminal e entre na sua pasta de trabalho onde baixou o arquivo acima, caso não esteja nela.

Para instalar a chave de segurança digite:

sudo apt-key add sun_vbox.asc

Talvez seja necessário digitar a senha de administrador.

Depois, para instalar o VirtualBox digite:

apt-get install virtualbox-3.0

Se tudo ocorreu normalmente, você terá um submenu chamado Aplicativos/Sistema de onde poderá abrir o VirtualBox e rodar sua máquina virtual favorita.

Mais informações:

http://www.virtualbox.org

O pessoal do Ubuntu (e derivados) não costuma atualizar o Pidgin e outros programas a não ser que sejam encontrados problemas de segurança ou de bugs importantes.

Com isso, quem usa Ubuntu ainda está de fora da última versão do Pidgin (2.5.8). Como os desenvolvedores do Pidgin são muito camaradas, eles estáo hospedando o PPA do Pidgin pra usuários do Ubuntu. Para usar, copie e cole estes dois comandos no terminal:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com \ 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8


echo deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu \ `lsb_release --short --codename` main | \
sudo tee /etc/apt/sources.list.d/pidgin-ppa.list

A conexão do Pidgin 2.4.x a 2.5.6 com YahooIM era instável. A versão 2.5.8 corrige o problema.

Quer saber como funcionam esses comandos e exatamente o que fazem? Deixe um comentário.

Lançamos uma promoção de configuração do Google Apps no Brasil por R$ 135,20 por domínio.

Para mais informações sobre o Google Apps consulte os links abaixo:

Google

Da Wikipedia:

“Subversion (SVN) é um sistema de controle de versão iniciado em 2000 pela CollabNet Inc. É utilizado para manter um histórico de versões de arquivos como código fonte, páginas web e documentação.

Seu objetivo é ser um sucessor inteiramente compatível ao amplamente utilizado Concurrent Versions System (CVS).”

Resumo

O SVN é muito utilizado pela comunidade open-source onde os desenvolvedores trabalham no mesmo projeto de forma distribuída ao redor do globo.

Ele funciona em uma arquitetura cliente servidor onde todos os arquivos de um projeto ficam em um servidor SVN e os desenvolvedores mantém uma cópia de trabalho local em seus próprios micros, sincronizando com o servidor através de um software cliente SVN.

Assim, quando um desenvolvedor realiza uma modificação na árvore do projeto, como por exemplo alterar o conteúdo de um arquivo, ele deve informar o servidor SVN para que este mantenha-se atualizado. Dessa forma, outros desenvolvedores que se conectarem ao servidor saberão que existem modificações nos arquivos do projeto em relação a sua cópia de trabalho local.

Cada modificação tem um histórico/log, onde o desenvolvedor digita um texto sobre o que foi alterado.

Cada vez que a árvore do projeto for modificada, não importa se houve alteração em um único arquivo, o projeto ganha um novo número de revisão.

O SVN é considerado uma “máquina do tempo” pois permite que você restaure versões antigas dos arquivos e examine o histórico/log de como e quando os dados foram alterados e quem os alterou.

Existem muitas funcionalidades no SVN e com o tempo adquire-se prática na utilização delas.

O servidor SVN é um servidor de arquivos?

Apesar do funcionamento do servidor SVN ser parecido com um servidor de arquivos tradicional existem algumas diferenças.

Não é possível baixar os arquivos que nele estão sem utilizar um software cliente SVN ou ferramentas específicas.

Isso acontece porque o servidor SVN mantém árvores de projetos em um formato próprio, mantendo um controle do que foi alterado de uma revisão para outra.

É por isso que a cada nova revisão do projeto, não há duplicação de todo o conteúdo. Apenas o que foi alterado de uma revisão para outra é que fica armazenado.

Como servidor SVN, utilizamos o gratuito VisualSVN.

O que é um cliente SVN?

O cliente SVN é o software que se comunica com o servidor SVN permitindo funcionalidades como baixar a revisão mais atual do projeto, atualizar arquivos no servidor, reverter arquivos da cópia de trabalho local ao estado anterior, etc…

Existem 3 tipos de clientes:

1. Linha de comando (prompt);
2. Integrado ao Explorer do Windows;
3. Plugin para IDEs (Eclipse, Visual Studio, etc…);

Os tipos 2 e 3 são os mais práticos de utilizar.

O TortoiseSVN

O cliente SVN que escolhemos para utilizar pode ser baixado aqui: http://tortoisesvn.net/downloads

TortoiseSVN é um cliente gratuito open-source prático, basta clicar com o botão da direita sobre uma pasta ou arquivo para ver as funcionalidades do SVN no menu de contexto.

Importante:

  • O TortoiseSVN requer BOOT DO SISTEMA do sistema pois fica integrado ao Windows Explorer.
  • Existe versão específica para Windows 64 bit pois a versão 32 bit não funciona corretamente neste sistema operacional.

Depois de instalar o TortoiseSVN em seu sistema, você pode instalar também o pacote para a língua portuguesa no mesmo local onde baixou o executável Tortoise.

Subversion em ação

Chamamos de repositório o local no servidor SVN que armazena os projetos e seus arquivos.

Este repositório que está no servidor é acessado pelo cliente SVN utilizando um URL parecido com:

https://IP_do_Servidor_SVN:8443/svn/nome_do_projeto/trunk

O trunk “tronco” nada mais é do que os arquivos principais do projeto pois o SVN também nos dá a possibilidade de criar ramificações “branches” do projeto sem alterar os arquivos principais. Isto é útil em casos como por exemplo o desenvolvimento de uma nova versão de teste de um determinado software.

Cópia de trabalho é uma pasta comum no seu micro que contém uma cópia dos arquivos do projeto (que está no servidor) entretanto é sua área privativa e o SVN não irá incorporar nesta cópia as mudanças que outros desenvolvedores fizeram sem sua expressa solicitação.

Da mesma forma, o SVN não disponibilizará a outros desenvolvedores as modificações que você fez até você solicitar.

Depois que você fizer algumas modificações nos arquivos da sua cópia de trabalho, o SVN te dará no menu de contexto do Windows Explorer comandos para publicar suas mudanças no servidor SVN para que outros desenvolvedores trabalhando com você tenham acesso a estas modificações. Por isso as modificações devem ser testadas antes de serem enviadas ao servidor.

Se outros desenvolvedores publicarem suas próprias modificações (no servidor SVN) nestes mesmos arquivos antes que você tenha publicado então estas mudanças entrarão em conflito com as suas e o cliente SVN te dará comandos no menu para mesclar tais mudanças na sua cópia de trabalho manualmente. Uma vez resolvidos estes conflitos, você deve realizar esta publicação. Mais sobre isso abaixo.

Testando

Consideramos que você já tenha baixado e instalado o software cliente TortoiseSVN e que tenha um servidor SVN com um repositório chamado “teste” para realizar o teste abaixo.

  1. Escolha uma pasta onde armazenará os fontes dos projetos
  2. Dentro desta pasta crie uma pasta “teste”
  3. Clique com o botão da direita sobre a pasta teste e escolha a opção SVN Obter (Checkout)
  4. Na caixa de diálogo, digite o URL do repositório acima e clique no botão OK

Digite seu login e senha se for a primeira vez que acessa o servidor e salve-o.

Se tudo ocorreu como esperado, o Tortoise obterá do servidor SVN a última revisão do projeto teste salvando os arquivos e pastas no seu diretório local “teste”. Observe a janela para relata o processo.

Experimente criar um novo arquivo neste diretório “teste” com seu nome e extensão .txt, por exemplo “seunome.txt”. Note que ao fazer isso aparecerá um ícone de interrogação sobrepondo o ícone do arquivo. Isso significa que o arquivo não está sob controle de versão.

Abaixo um resumo dos ícones do SVN que aparecem em sua pasta “teste” no Windows Explorer.

Ícones do TortoiseSVN

Significado dos ícones:

Normal
Foi obtida uma cópia “fresca” do arquivo/pasta e este ícone significa que o estado é normal.

Modified
Assim que você começa a editar um arquivo, seu estado muda para modificado (modified) e o ícone se torna um exclamação vermelho. Você pode ver facilmente quais arquivos foram alterados desde que você modificou sua cópia de trabalho e que devem ser atualizados no servidor.

Conflict
Se durante uma atualização ocorrer um conflito (conflict) então o ícone se torna um exclamação amarelo.

Read-only
Se você travar um arquivo somente para leitura, o SVN faz aquele arquivo ficar somente para leitura até que você destrave.

Locked
Se você manter uma trava em um arquivo e o estado SVN dele for normal, este ícone te lembrará que você deve destravá-lo se não estiver mais utilizando-o para permitir que outros desenvolvedores atualizem as modificações que fizeram neste arquivo.

Deleted
Este ícone mostra que alguns arquivos ou pastas dentro da pasta atual foram marcados para serem deletados do controle de versão ou um arquivo com controle de versão está faltando dentro de uma pasta.

Added
O sinal de adição indica que um arquivo ou pasta foi marcado para ser adicionado ao controle de versão.

Ignored
Este ícone de barra diz que um arquivo ou pasta é ignorado para propósitos de controle de versão.

Unversioned
Este ícone mostra arquivos e pastas que não estão sob controle de versão mas não foram ignorados.

Menus de contexto

Abaixo um resumo dos principais comandos utilizados do menu de contexto do TortoiseSVN no Windows Explorer.

Importar (Import):

Envia o conteúdo de uma pasta local para um repositório no servidor SVN. Normalmente é utilizado pelo responsável pelo repositório ou projeto para preparar o servidor para o trabalho em equipe. Utilize com cuidado.

Antes de importar você deve remover todos os arquivos que não são necessários para construir/compilar o projeto (por exemplo arquivos temporários, arquivos objeto, etc…).

Para importar, selecione a pasta de nível superior da estrutura de diretório do seu projeto no Windows Explorer e clicando com o botão da direita selecione TortoiseSVN->Importar. Digite a URL do repositório para onde quer enviar seu projeto.

Obter (Checkout):

Obtém do repositório (no servidor SVN) uma cópia de trabalho local do projeto.

Selecione uma pasta no Windows Explorer onde você quer colocar sua cópia de trabalho. Clique com o botão da direita no menu de contexto e selecione TortoiseSVN->Obter.

Submeter (Commit):

Enviar as modificações que você realizou na sua cópia de trabalho é conhecido como submeter (commit). Antes de você submeter, você deve ter certeza que sua cópia de trabalho está atualizada. Você deve utilizar a opção TortoiseSVN->Atualizar (Update) ou TortoiseSVN->Verificar alterações (Check for Modifications).

Se a sua cópia de trabalho está atualizada e não há conflitos, você está pronto para submeter suas modificações para o repositório. Selecione qualquer arquivo e/ou pasta que você quer submeter e selecione TortoiseSVN->Submeter (Commit) no menu de contexto do Windows Explorer.

A caixa de diálogo de submeter mostrará todos os arquivos modificados incluindo arquivos adicionados, deletados e sem controle de versão. Se não quiser submeter um arquivo desmarque a caixa correspondente. Se quiser adicionar um arquivo sem controle de versão selecione a caixa correspondente para submetê-lo.

Ao submeter, você deve digitar uma mensagem de histórico/log que descreve as modificações que você realizou. Este é um grande benefício do SVN e ajudará em outras ocasiões se bem utilizado.

Atualizar (Update):

Periodicamente você deve se certificar que as modificações realizadas por outros desenvolvedores sejam incorporadas na sua cópia de trabalho local. Este processo de baixar as modificações do servidor para sua cópia local é chamado de atualização. Esta atualização pode ser feita com arquivos individuais, um conjunto de arquivos ou recursivamente em toda hierarquia de diretório.

Para atualizar, selecione os arquivos e/ou pastas que você quer e clique com o botão da direita selecionando TortoiseSVN->Atualizar (Update) no menu de contexto. Uma janela exibirá o progresso. As modificações realizadas por outros serão mescladas aos seus arquivos, mantendo quaisquer modificações que você tenha realizado nos mesmos arquivos num formato próprio para resolução de conflitos. Mais sobre isso abaixo.

O repositório não é afetado por uma atualização pois os arquivos e pastas saem do servidor em direção a sua cópia de trabalho local.

A atualização padrão não tem opções e apenas atualiza sua cópia de trabalho para a revisão HEAD que é a mais recente.

Se você quer mais controle sobre o processo de atualização pode utilizar a opção TortoiseSVN->Atualizar para Revisão (Update to Revision). Isto permite que você atualize sua cópia de trabalho para uma revisão específica e não necessariamente a mais recente.

Comparar (Diff):

Um dos requisitos mais comuns no desenvolvimento de projeto é ver o que foi alterado. Você pode querer ver as diferenças entre duas revisões do mesmo arquivo ou a diferença entre dois arquivos separados.

Para ver quais modificações você fez na sua cópia de trabalho simplesmente utilize o menu de contexto do Windows Explorer e selecione TortoiseSVN->Comparar (Diff).

Se você quiser ver a diferença entre uma revisão em particular e sua cópia de trabalho utilize TortoiseSVN->Comparar com revisão anterior (Diff with previous version).

Resolvendo Conflitos

Possivelmente haverá conflitos quando você atualizar/mesclar seus arquivos com o repositório. Existem dois tipos de conflitos:

  • conflitos de arquivos
  • conflitos de árvore

Um conflito de arquivo ocorre quando dois (ou mais) desenvolvedores modificaram as mesmas linhas de um arquivo. Quando isso ocorre, você deve abrir o arquivo em questão e procurar pelas linhas que começam com <<<<<<<. A área de conflito é marcada assim:

<<<<<<<< nomedoarquivo
suas modificações
=======
código mesclado do repositório
>>>>>>> revisão

Além disso para cada arquivo com conflito Subversion coloca três arquivos no seu diretório:

nomedoarquivo.ext.mine

Este é seu arquivo como existia na sua cópia de trabalho antes de você efetuar uma atualização com o servidor, ou seja, sem os marcadores de conflito. Este arquivo possui suas últimas modificações.

nomedoarquivo.ext.rREVANTIGA

Este é o arquivo base da revisão, antes de você atualizar sua cópia de trabalho, ou seja, este arquivo que você obteve antes de efetuar suas modificações.

nomedoarquivo.ext.rREVNOVA

Este é o arquivo que seu cliente SVN acabou de receber do servidor quanto você efetuou uma atualização da sua cópia de trabalho. Este arquivo corresponde à revisão HEAD do repositório, ou seja, a revisão mais recente que possui as modificações recentes de outros desenvolvedores.

Você pode lançar um ferramenta externa de edição de conflito com a opção TortoiseSVN->Editar Conflitos (Edit Conflicts) ou você pode manualmente resolver o conflito. Você deve decidir como o código deve ser, fazer as modificações necessárias e salvar no arquivo .mine.

Depois que fizer isto, execute o comando TortoiseSVN->Resolvido (Resolved) e submeta suas modificações para o repositório. Note que o comando Resolvido não resolve o conflito, ele apenas remove os arquivos nomedoarquivo.ext.mine, nomedoarquivo.ext.rRAVANTIGA e nomedoarquivo.ext.rREVNOVA permitindo que você execute o TortoiseSVN->Submeter (Commit) para aí sim, subir para o repositório suas modificações.

Se você tiver problemas com arquivos binários, Subversion não tentará mesclar os arquivos ele próprio. O arquivo local permanecerá o mesmo e você terá os arquivos da revisão antiga e da nova como o exemplo acima. Se você quiser descartar suas modificações e manter a versão do repositório, então apenas utilize o commando Reverter (Revert) do menu. Se você quiser manter sua versão e sobrepor a versão do repositório, utilize o comando Resolvido (Resolved) e submeta sua versão.

Você pode utilizar o comando Resolvido (Resolved) para vários arquivos se você clicar na pasta superior e selecionar TortoiseSVN->Resolvido. Isto exibirá uma caixa de diálogo listando todos os arquivos conflitantes naquela pasta e você poderá selecionar quais estão resolvidos.

Antes de utilizar o comando Resolvido, verifique se você mesclou corretamente suas modificações com as de outros desenvolvedores pois ao efetuar em seguida um Submeter, suas modificações serão salvas sobre o que já existe no repositório.

Um conflito de árvore ocorre quando um desenvolvedor move/renomeia/deleta um arquivo ou pasta, que outro desenvolvedor também tenha movido/renomeado/deletado ou apenas modificado. Existem várias situações que podem resultar num conflito de árvore e requerem formas diferentes de resolver.

Quando um arquivo é deletado localmente no Subversion, o arquivo também é deletado do sistema de arquivos local, então mesmo que seja parte de um conflito de árvore ele não pode exibir um estado de conflito e você não pode clicar com o botão da direita nele para resolver o conflito. Ao invés disso, utilize Verificar Modificações (Check for Modifications) para acessar a opção Editar conflitos (Edit conflicts).

O TortoiseSVN pode ajudar a encontrar o local certo para mesclar as modificações mas pode haver trabalho adicional necessário para acertar os conflitos. Lembre-se que depois de uma atualização a BASE de trabalho terá sempre a revisão de cada item como era no repositório no momento da atualização. Se você reverter uma modificação depois de atualizar, ela voltará ao estado do repositório e não como era quando você começou a fazer modificações locais.

Estas são as funcionalidades básicas do SVN, para mais informações você pode consultar também o manual do usuário em:

http://tortoisesvn.net/support

No site Jodix, podemos encontrar diversas ferramentas para conversão de arquivos para o formato MP3.

Uma delas converte arquivos de áudio do formato nativo do Windows, WMA para MP3 que é o formato mais utilizado em tocadores de carro e celular.

As ferramentas são freeware.

www.jodix.com

Synergy permite que você compartilhe um único teclado/mouse entre múltiplos computadores com diferentes sistemas operacionais. Cada computador deve ter seu próprio monitor, mas nenhum outro hardware é necessário (famosos KVM). Foi criado para usuários com vários computadores na mesa.
Ir de um computador para outro é uma questão de arrastar o mouse para fora da tela. A área de transferência vai junto. Funciona em Windows, Mac, FreeBSD e Linux.
Para configurar, um dos computadores, aquele que tem o teclado e mouse conectados, deverá ser o servidor. Os outros computadores são clientes. O tráfego na rede é pequeno. Nesta foto, Synergy em 3 computadores. A produtividade teve um aumento considerável por usar múltiplos computadores e monitores.

Quer saber como configurar o Synergy em menos de 1min? Versão Linux, claro. Deixe uma mensagem.

O Eclipse é um IDE (ambiente integrado de desenvolvimento) com código aberto muito utilizado por programadores e que suporta diversas linguagens de programação através de plugins.

O Web Tools Platform (WTP) é uma versão do Eclipse personalizada para edição de projetos web e PHP.

O WTP suporta depuração de código PHP no servidor utilizando o Xdebug.

O Pydev é um plugin para o Eclipse para edição e depuração de scripts em linguagem Python.

Ambos podem ser baixados gratuitamente nos respectivos sites.

Para editar sons e músicas utilizamos o software de código aberto Audacity que pode ser baixado em:

http://audacity.sourceforge.net

Este software também pode salvar arquivos em formato mp3, só que para isso devemos baixar e instalar também a biblioteca LAME em:

http://lame.buanzo.com.ar/

Depois que baixar e instalar os softwares, execute o Audacity.

Abra um arquivo em outro formato e no menu arquivo, exporte para mp3.

Ele perguntará o local de instalação do arquivo lame_enc.dll necessário.

Localize a pasta onde foi instalado o LAME, normalmente em:

C:\Arquivos de Programas\Lame for Audacity

Agora ele poderá exportar no formato mp3.

Se a operação falhar após ter informado o caminho correto do arquivo dll, feche o Audacity e inicie novamente a operação de exportar.

echo “setxkbmap -rules /usr/X11/lib/X11/xkb/rules/xorg” >> /etc/profile

echo “setxkbmap -model abnt2″ br >> /etc/profile

Primeiro você deve instalar o PHP e Apache (tutorial encontrado em outros sites na web).

Depois, de forma simplificada, para configurar o Xdebug para depurar seu código PHP no NetBeans você deve:

1) Baixar a versão do Xdebug apropriada (site). Eu utilizei a versão 2.02 (5.2 VC6) com meu PHP 5.2.5.

2) Configurar o arquivo php.ini incluindo as linhas:

zend_extension_ts="C:\Arquivos de programas\PHP\ext\php_xdebug-2.0.2-5.2.5.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

Atenção ao diretório de instalação das extensões do seu PHP.

3) Reiniciar o Apache.

Ao criar um script PHP de teste com a função phpinfo() você deverá ver uma mensagem como esta:

“This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Xdebug v2.0.2, Copyright (c) 2002-2007, by Derick Rethans”

Agora já é possível depurar o código dos seus scripts utilizando Ctrl+F5 do NetBeans.

Este serviço online gratuito converte arquivos de um formato de mídia para outro.

Você pode, por exemplo, converter e baixar um vídeo do You Tube para seu micro no formato mp3 (apenas o audio).

http://www.mediaconverter.org/

Formatos suportados: 3g2, 3gp, avi, flv, m4v, mkv, mov, mp4, mpg, psp, wmv, mp3, wav, ogg, pdf, doc, xls, ods, ppt e odp.

Protocolos de rede: http, ftp, mms, mmst, mmsh e rtsp.

Este serviço gratuito faz a validação de um Feed Atom e RSS indicando erros e inconsistências:

http://feedvalidator.org/