Eu gosto de arquivos.

Quando eu era criança, aprendendo a usar o computador, organizava todos os meus arquivos em pastas por tipo: meus desenhos [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) em uma, minhas cidades [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) em outra, etc.

Ainda tenho lembranças distintas de ter pensado nas melhores maneiras de organizar meus arquivos para que tudo que fosse importante para mim estivesse bem guardado e fácil de encontrar sempre que eu quisesse. Este pode ter sido um dos primeiros sinais de que sou uma aberração por limpeza (ou, melhor dizendo, minimalista), mas a organização de arquivos me ajudou a manter a paz de espírito em um mundo da computação que de outra forma seria desorientador e disperso. Isso me proporcionou uma espécie de santuário dentro de um reino mais amplo de aventura.

Lembro-me [quando o Dropbox foi lançado em 2009](https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-been-waiting-for/) que percebi imediatamente como esse santuário digital poderia ser estendido para a nuvem, transformando a coleção estritamente “local” de arquivos em uma que fosse sincronizada com o armazenamento “remoto” na Internet, acessível onde quer que alguém fosse e com qualquer dispositivo que estivesse usando. mão. O poder do Dropbox era que eu poderia simplesmente arrastar todos os meus arquivos organizados para ele e eles seriam instantaneamente transformados de uma base digital isolada em uma base onipresente, vinculada e ainda assim independente da realidade física de qualquer dispositivo pessoal.

Enquanto isso, porém, construí uma carreira desenvolvendo sites e aplicativos que são apoiados por todos os tipos de *bancos de dados*, e não pelos chamados *arquivos simples* que passei a adorar em minha vida pessoal – aqueles que qualquer ser humano normal poderia abrir e ler sem software especial. Os bancos de dados têm todo tipo de vantagens ao facilitar a consulta e o relacionamento de dados, mas fundamentalmente são insuficientes em termos de transparência, transporte e transformação quando comparados aos arquivos. É simplesmente mais fácil ver o conteúdo, movê-lo para outro lugar ou alterá-lo quando esse conteúdo é armazenado em arquivos regulares em vez de bancos de dados.

O conteúdo que cada um de nós produz como indivíduos é cada vez mais importante para o mundo em que vivemos e para a natureza da Internet em particular. Cada um de nós é uma pequena editora e produtora de conteúdo, e a cada ano vemos o poder crescente desse papel que desempenhamos na esfera pública. Mas somos péssimos *gerentes* e *criadores* de conteúdo, tanto com nossos dados públicos quanto privados. 

Temos a tendência de lançar nosso conteúdo em qualquer ponto de distribuição que torne mais fácil apresentá-lo a outras pessoas, mas esse conteúdo acaba como linhas em bancos de dados que dificilmente controlamos e exibido em sites que dificilmente projetamos. Mesmo que você hospede seu próprio blog em seu próprio domínio, é provável que o conteúdo esteja armazenado em um banco de dados e em um servidor do qual você não consegue lembrar a senha. Claro, ele está por aí *em algum lugar*, mas seria muito mais poderoso colocar tudo sob o controle imediato das pontas dos seus dedos, assim como você tem controle sobre os arquivos no seu laptop usando [uma ampla variedade de técnicas aprendidas](https://www.youtube.com/watch?v=YtdWHFwmd2o).

Há cerca de um ano, comecei a tentar uma convergência de meus dois mundos digitais – meu santuário de arquivos privados e minha enorme quantidade de conteúdo on-line público (ou semipúblico) mal gerenciado – lançando uma nova versão do [meu site](http://markmhendrickson.com), alimentado por um software de código aberto personalizado que criei sob a tenda mais ampla de [Neotoma](http://github.com/neotoma). O site é alimentado inteiramente por arquivos simples que eu edito diretamente no meu MacBook, iMac ou iPhone. Esses arquivos são carregados pela parte do [servidor](http://github.com/neotoma/personal-server) do software para que a parte do [site](http://github.com/neotoma/personal-web) possa carregar os dados que precisa mostrar sem envolver qualquer tipo de banco de dados. Por exemplo, se você solicitar diretamente ao servidor o conteúdo que compõe [esta postagem](http://api.markmhendrickson.com/posts/), verá que ele fornece exatamente o mesmo conteúdo armazenado como um arquivo no meu computador:

![Captura de tela da resposta da API do servidor pessoal Neotoma]()

Até esta semana, no entanto, qualquer um desses arquivos salvos no meu Dropbox que eu quisesse publicar no meu site tinha que ser copiado manualmente para o servidor do meu site usando [um script](https://github.com/neotoma/personal-server/blob/fefbdd6eb565958cafb79f94a973a3f6e9438d13/Gruntfile.js#L46), tornando a convergência que eu procurava dificilmente perfeita. Meu objetivo é clicar no botão Salvar no editor de texto do meu computador e fazer com que todas as alterações sejam publicadas imediatamente no meu site, sem a necessidade de qualquer outra etapa extra. Dessa forma, nunca há dúvida de que meu conteúdo esteja fora de sincronia entre meus mundos privado e publicado. Eu simplesmente tenho que escolher qual conteúdo quero privado ou público, e essa decisão é tomada simplesmente organizando os arquivos em diferentes pastas no meu computador. O resto é mágico.

Atingi esse objetivo esta semana depois de perceber que o Dropbox tem [uma versão útil do Linux](https://www.dropbox.com/install-linux) de seu aplicativo de sincronização que eu poderia instalar no servidor do meu site e configurar para [sincronizar seletivamente](https://www.dropbox.com/help/desktop-web/linux-commands) apenas as pastas que desejo tornar públicas. Depois de configurar o aplicativo, agora só preciso salvar qualquer arquivo no Dropbox que desejo publicar e aguardar momentaneamente até que o aplicativo de sincronização do Dropbox do meu computador carregue as alterações no Dropbox e baixe-as para o meu servidor, onde serão publicadas instantaneamente.

Não sou a primeira pessoa a pensar nisso como uma técnica para publicação de sites pessoais. No entanto, espero levar o princípio muito mais longe, copiando automaticamente meu conteúdo de uma variedade de serviços corporativos baseados em banco de dados (como Facebook, Twitter e Foursquare) para meu Dropbox, além de meu conteúdo criado de forma independente.

Esse conteúdo copiado será sincronizado automaticamente não apenas com meus dispositivos “locais” (por exemplo, laptop) para backup como arquivos, mas também com meu site para republicação da maneira que eu escolher. A republicação agregada no próprio site é um dos principais casos de uso do serviço de sincronização Neotoma, e decidi recentemente que quero me concentrar no desenvolvimento do serviço de sincronização principalmente para esse caso de uso, fazendo dogfooding em meu próprio site e configurando o sistema para amigos que desejam publicar por conta própria da mesma maneira.

Copiar dados de uma ampla gama de serviços para este sistema levará tempo e muito trabalho, por isso pretendo liberar suporte para eles de forma iterativa, começando com o Foursquare, já que é um aplicativo que uso intensamente. Atualmente estou focado em configurar o Neotoma para sincronizar meus check-ins do Foursquare com meu Dropbox e posteriormente com meu site onde posso listá-los em ordem cronológica inversa, criando uma linha do tempo da minha vida (com fotos e outros conteúdos relacionados às minhas viagens diárias).

Então pretendo sincronizar meu conteúdo de dicas do Foursquare também para criar guias de cidades personalizados em meu site. Esses guias incorporarão automaticamente as dicas e os dados de check-ins que eu gero continuamente para exibir as informações mais atualizadas sobre meus lugares favoritos de uma forma lindamente embalada, fácil de usar e que não fique obsoleta.

Se você estiver interessado em configurar seu site pessoal de maneira semelhante, ficarei feliz em conversar sobre suas necessidades e como meus esforços aqui também podem ajudá-lo. E se você é um desenvolvedor interessado em ajudar com algum dos softwares envolvidos, vamos falar sobre o Neotoma e onde você pode causar impacto.