Trabalhe de forma inteligente – não é difícil

Uma frase que me marcou foi a seguinte:

Linux is only free if your time is worthless

Esta expressão contém alguma verdade na perspectiva deste protocolo, já que não vou explicar nenhum detalhe aqui – apenas aponte para alguns aplicativos e suponha que você tenha o conhecimento (é igual a experiência = tempo gasto usando GNU Linux) necessário para executá-lo daqui.

Hoje comecei a trabalhar para meu primeiro cliente ‘real’, pois decidi começar minha própria aventura freelance após 10 anos trabalhando para meu governo. No espírito do FOSS, achei legal compartilhá-lo aqui. Este cliente é uma empresa de médio porte que oferece suporte a negócios em todas as áreas, desde planejamento tático, impostos, reservas, administração de pagamentos e outros. Nós (eu e um amigo designer gráfico) aceitamos o trabalho, em troca de algum suporte estendido (upload de alterações textuais, envio de newsletter) por 3 anos, estou recebendo o apoio deles em tudo o que não está relacionado à codificação. Para um país altamente regulamentado como o meu, este é um grande fardo para tirar dos ombros. Agora posso me concentrar em programar sempre e não em leis tributárias idiotas e outros detalhes não relacionados a hackers ^^ Essa é a dica 1: negociar mercadorias em vez de dinheiro pode ser muito lucrativo para ambos os lados, faça uso quando puder!

Em seguida, o que fiz foi criar uma imagem do Virtualbox. Não usei caixas Vagrant , principalmente porque acho que este é um cliente especial – boas relações de longo prazo e possíveis planos de expansão, achei que valeria a pena construir um sistema ArchLinux customizado em torno dele. Por quê?A razão é muito simples: dada a diversidade da equipe de desenvolvimento e das partes interessadas (eu – linux geek, meu amigo – macboy, os clientes: advogados e usuários do Windows), pode se tornar muito difícil, complexo e técnico transferir ideias, software, há portabilidade questões e assim por diante. O Virtualbox roda em qualquer lugar (plataformas), é gratuito e fácil de usar. Levei cerca de 1 hora para colocar um bom ambiente de desenvolvimento customizado (também usado para demonstrações, prova de conceito, doces GUI, relatórios, gerenciamento de projeto – tudo de código aberto !!!). * Dica 2: *se você pode agregar muito valor contra custos baixos – faça-o! Usei um ponto de partida simples: o virtualbox e fiz um powerkit FOSS que qualquer pessoa pode usar. Claro que você precisará saber algo sobre Xorg, Openbox, Awesome, Xcursors, Slim ou qualquer outro DM / WM etc. Mas se não souber, sinta-se à vontade para usar um simples Desktop Ubuntu ou Fedora com o que se sentir confortável.

A última coisa simples importante que fiz foi colocar a imagem inteira dentro do Dropbox. O que faz com que a dica 3 use a nuvem! Qualquer alteração no sistema operacional significa que apenas esses blocos são sincronizados quando o arquivo não está mais em uso: não há mais pen drives, não há mais cat-ate-my-source-code 🙂

Sincronize essa máquina virtual personalizada (um ambiente de desenvolvimento, backbones de teste, middleware ou o que for) até uma distribuição Linux totalmente gráfica (o mínimo de desktops X11 varia em torno de aproximadamente 1G, eu acho). Isso funciona porque:

Dropbox first syncs the file structure (folder tree and file names), then breaks each file into blocks and performs a [hash of each block](http://en.wikipedia.org/wiki/Cryptographic_hash_function). The hashed values are transmitted to Dropbox, which compares the hash values against its database of known hash values. If a hash value is not found in their database, its corresponding block is uploaded to Dropbox' servers.

Isso significa que ele não tentará substituir toda a imagem de disco do Virtualbox 700M-2G – apenas as partes que foram alteradas (executando um sistema operacional, em uso diário, os arquivos são continuamente alterados!) E, por esse motivo, você não deveria não espere nenhuma mágica de máquina virtual em execução baseada em rede multiusuário. O que ele faz e faz bem: compartilhar e sincronizar e, assim, remover totalmente qualquer requisito de uso de pen drives e – ainda melhor – nos permite desenvolver um ambiente mais ‘rico’ e amigável para projetos maiores, partes interessadas, e pode servir como uma plataforma para um ponto de partida comum (linha de base) de referência de desenvolvimento (todos usam as mesmas versões de bibliotecas e o host Virtualbox é disponibilizado para todas as plataformas). Apenas lembra-te:

If a file is open by more than one person at the same time, conflicts happen. (Dropbox doesnt lock files like some local servers you may have used.) While Dropbox is fairly good at resolving these conflicts by saving multiple copies of the file and designating which copy belongs to which computer, merging the changes made to both files can often be tedious and annoying.

Um artigo muito bom sobre o poder (e fraqueza) do Dropbox como uma ferramenta de colaboração pode ser encontrado aqui .

Divirta-se personalizando, apenas tenha em mente – o que funcionar mais rápido e melhor para você é provavelmente o que você precisa fazer ^^