Me gustan los archivos.

Cuando era niño y estaba aprendiendo a usar la computadora, organizaba todos mis archivos en carpetas por tipo: mis dibujos de [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) en uno, mis ciudades de [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) en otro, etc.

Todavía tengo claros recuerdos de haber pensado en las mejores formas de organizar mis archivos para que todo lo importante para mí estuviera bien guardado y fuera fácil de encontrar cuando lo quisiera. Esto puede haber sido una señal temprana de que soy un fanático de la limpieza (o dicho más amablemente, un minimalista), pero la organización de archivos me ayudó a mantener la tranquilidad en un mundo informático que de otro modo sería desorientador y disperso. Me proporcionó una especie de santuario dentro de un ámbito más amplio de aventuras.

Recuerdo [cuando salió Dropbox en 2009](https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-been-waiting-for/) que me di cuenta inmediatamente de cómo este santuario digital podía extenderse a la nube al convertir la colección de archivos estrictamente "local" en una que se sincronizara con el almacenamiento "remoto" en Internet, accesible dondequiera que uno fuera y con cualquier dispositivo que uno pudiera tener. mano. El poder de Dropbox era que simplemente podía arrastrar todos mis archivos organizados a él y se transformarían instantáneamente de una base digital aislada a una omnipresente, vinculada pero independiente de la realidad física de cualquier dispositivo personal.

Mientras tanto, sin embargo, he desarrollado una carrera desarrollando sitios web y aplicaciones respaldadas por todo tipo de *bases de datos*, no los llamados *archivos planos* que he llegado a amar en mi vida personal, aquellos que cualquier humano normal podría abrir y leer sin un software especial. Las bases de datos tienen todo tipo de ventajas para facilitar la consulta y relación de datos, pero fundamentalmente, se quedan cortas en términos de transparencia, transporte y transformación en comparación con los archivos. Simplemente es más fácil ver el contenido, moverlo a otro lugar o cambiarlo cuando ese contenido se almacena en archivos normales en lugar de en bases de datos.

El contenido que cada uno de nosotros produce como individuos es cada vez más importante para el mundo en el que vivimos y para la naturaleza de Internet en particular. Cada uno de nosotros es una pequeña editorial y productora de contenidos, y cada año vemos el poder creciente de ese papel que desempeñamos en el ámbito público. Pero somos terribles *administradores* y *creadores* de contenido, ya sea con nuestros datos públicos o privados. 

Tendemos a publicar nuestro contenido en cualquier punto de distribución que haga que sea más fácil presentarlo a otras personas, pero ese contenido termina como filas en bases de datos que apenas controlamos y se muestra en sitios web que apenas diseñamos. Incluso si aloja su propio blog en su propio dominio, es probable que el contenido esté almacenado en una base de datos y en un servidor del que no recuerde la contraseña. Claro, está ahí afuera *en algún lugar*, pero sería mucho más poderoso ponerlo todo bajo el control inmediato de la punta de tus dedos, del mismo modo que tienes control sobre los archivos en tu computadora portátil usando [una amplia gama de técnicas aprendidas](https://www.youtube.com/watch?v=YtdWHFwmd2o).

Hace aproximadamente un año comencé a intentar una convergencia de mis dos mundos digitales (mi santuario de archivos privados y mi gran cantidad de contenido público (o semipúblico) en línea mal administrado) lanzando una nueva versión de [mi sitio web](http://markmhendrickson.com), impulsada por un software personalizado de código abierto que creé bajo la tienda más amplia de [Neotoma](http://github.com/neotoma). El sitio web funciona enteramente con archivos planos que edito directamente en mi MacBook, iMac o iPhone. Estos archivos son cargados por la pieza [servidor](http://github.com/neotoma/personal-server) del software para que la pieza [sitio web](http://github.com/neotoma/personal-web) pueda cargar los datos que necesita mostrar sin involucrar ningún tipo de base de datos. Por ejemplo, si le pregunta directamente al servidor el contenido que compone [esta publicación](http://api.markmhendrickson.com/posts/), verá que proporciona exactamente el mismo contenido almacenado como un archivo en mi computadora:

![Captura de pantalla de la respuesta API del servidor personal de Neotoma]()

Sin embargo, hasta esta semana, cualquiera de estos archivos guardados en mi Dropbox que quería publicar en mi sitio web tenía que copiarse manualmente al servidor de mi sitio web usando [un script](https://github.com/neotoma/personal-server/blob/fefbdd6eb565958cafb79f94a973a3f6e9438d13/Gruntfile.js#L46), lo que apenas lograba la convergencia que estaba buscando. sin costuras. Mi objetivo ha sido presionar el botón Guardar en el editor de texto de mi computadora e inmediatamente publicar los cambios en mi sitio web, sin necesidad de ningún otro paso adicional. De esa manera, nunca habrá dudas de que mi contenido no esté sincronizado entre mis mundos privado y publicado. Simplemente tengo que elegir qué contenido quiero, privado o público, y esa decisión se toma simplemente organizando los archivos en diferentes carpetas de mi computadora. El resto es magia.

Cumplí ese objetivo esta semana después de notar que Dropbox tiene [una práctica versión de Linux](https://www.dropbox.com/install-linux) de su aplicación de sincronización que podía instalar en el servidor de mi sitio web y configurar para [sincronizar selectivamente](https://www.dropbox.com/help/desktop-web/linux-commands) solo las carpetas que quiero hacer públicas. Después de configurar la aplicación, ahora solo necesito guardar cualquier archivo en Dropbox que quiera publicar y esperar un momento a que la aplicación de sincronización de Dropbox de mi computadora cargue los cambios en Dropbox y luego los descargue a mi servidor donde se publicarán instantáneamente.

No soy la primera persona que piensa en esto como una técnica para la publicación de sitios web personales. Sin embargo, espero llevar el principio mucho más allá copiando automáticamente mi contenido de una variedad de servicios corporativos basados ​​en bases de datos (como Facebook, Twitter y Foursquare) a mi Dropbox, además de mi contenido creado de forma independiente.

Ese contenido copiado se sincronizará automáticamente no solo con mis dispositivos “locales” (por ejemplo, una computadora portátil) para realizar una copia de seguridad como archivos, sino también con mi sitio web para volver a publicarlo de la forma que elija. La republicación agregada en el propio sitio web es uno de los principales casos de uso del servicio de sincronización de Neotoma, y ​​recientemente he decidido que quiero centrarme en desarrollar el servicio de sincronización principalmente para este caso de uso, probándolo en mi propio sitio web y configurando el sistema para amigos que también quieran autopublicar de la misma manera.

Copiar datos de una amplia gama de servicios en este sistema llevará tiempo y mucho trabajo, por lo que estoy buscando ofrecer soporte para ellos de forma iterativa, comenzando con Foursquare, ya que es una aplicación que uso intensamente. Actualmente estoy concentrado en configurar Neotoma para sincronizar mis registros de Foursquare con mi Dropbox y posteriormente con mi sitio web, donde puedo enumerarlos en orden cronológico inverso, creando una línea de tiempo de mi vida (con fotos y otro contenido relacionado con mis viajes diarios).

Luego planeo sincronizar el contenido de mis consejos de Foursquare y crear guías de ciudades personalizadas en mi sitio web. Estas guías incorporarán automáticamente tanto los consejos como los datos de registro que genero de forma continua para mostrar la información más actualizada sobre mis lugares favoritos de una manera bellamente empaquetada, fácil de usar y que no se vuelva obsoleta.

Si está interesado en configurar su sitio web personal de manera similar, estaré encantado de hablar sobre sus necesidades y cómo mis esfuerzos aquí pueden ayudarlo también. Y si es un desarrollador interesado en ayudar con cualquiera de los software involucrados, hablemos de Neotoma y de dónde podría generar un impacto.