Мне нравятся файлы.

Когда я был ребенком, который только учился пользоваться компьютером, я распределял все свои файлы по папкам по типам: мои рисунки [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) в одну, мои города [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) в другую и т. д.

У меня до сих пор отчетливые воспоминания о том, как я обдумывал наилучшие способы организации своих файлов, чтобы все важное для меня было красиво спрятано и легко находилось в любое время. Возможно, это был ранний признак того, что я помешан на чистоте (или, точнее, минималиста), но организация файлов помогла мне сохранить душевное спокойствие в дезориентирующем и разбросанном мире вычислений. Это предоставило мне своего рода убежище в более широком мире приключений.

Я помню, [когда в 2009 году вышел Dropbox](https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-been-waiting-for/), я сразу понял, как это цифровое убежище можно расширить до облака, превратив строго «локальную» коллекцию файлов в коллекцию, синхронизируемую с «удаленным» хранилищем в Интернете, доступную, где бы вы ни находились, и с любого устройства. может быть под рукой. Сила Dropbox заключалась в том, что я мог просто перетащить в него все свои организованные файлы, и они мгновенно превратились из изолированной цифровой базы в вездесущую, связанную и в то же время независимую от физической реальности любого личного устройства.

Тем временем, однако, я построил карьеру на разработке веб-сайтов и приложений, которые поддерживаются всеми видами *баз данных*, а не так называемыми *плоскими файлами*, которые я полюбил в своей личной жизни — теми, которые любой нормальный человек мог бы открыть и прочитать без специального программного обеспечения. Базы данных имеют множество преимуществ, позволяя легко запрашивать и связывать данные, но, по сути, они уступают в плане прозрачности, транспортировки и преобразования по сравнению с файлами. Просто проще просмотреть контент, переместить его куда-нибудь или изменить, если этот контент хранится в обычных файлах, а не в базах данных.

Контент, который каждый из нас производит как личность, становится все более важным для мира, в котором мы живем, и для природы Интернета в частности. Каждый из нас — небольшое издательство и производитель контента, и с каждым годом мы видим растущую силу той роли, которую мы играем в общественной сфере. Но мы ужасные *менеджеры* и *создатели* контента, как с нашими публичными, так и с личными данными. 

Мы склонны выбрасывать наш контент в любую точку распространения, где его легче всего доставить другим людям, но этот контент оказывается в виде строк в базах данных, которые мы почти не контролируем, и отображается на веб-сайтах, которые мы почти не разрабатываем. Даже если вы размещаете свой собственный блог на своем домене, скорее всего, контент хранится в базе данных и на сервере, пароль для которого вы не можете вспомнить. Конечно, оно *где-то* где-то здесь, но было бы намного эффективнее, если бы все это было под непосредственным контролем кончиков пальцев, точно так же, как вы контролируете файлы на своем портативном компьютере, используя [широкий спектр изученных методов](https://www.youtube.com/watch?v=YtdWHFwmd2o).

Около года назад я начал пытаться объединить два моих цифровых мира – прибежище личных файлов и множество плохо управляемых общедоступных (или полупубличных) онлайн-контента – выпустив новую версию [моего веб-сайта](http://markmhendrickson.com), основанную на специальном программном обеспечении с открытым исходным кодом, которое я создал под более широкой палаткой [Neotoma](http://github.com/neotoma). Веб-сайт полностью создан на основе плоских файлов, которые я редактирую непосредственно на своем MacBook, iMac или iPhone. Эти файлы загружаются частью программного обеспечения [server](http://github.com/neotoma/personal-server), так что часть [веб-сайта](http://github.com/neotoma/personal-web) может загружать данные, которые она должна отображать, без использования какой-либо базы данных. Например, если вы напрямую запросите у сервера содержимое, составляющее [это сообщение](http://api.markmhendrickson.com/posts/), вы увидите, что он предоставляет точно такой же контент, хранящийся в виде файла на моем компьютере:

![Скриншот ответа API личного сервера Neotoma]()

Однако до этой недели любой из этих файлов, сохраненных в моем Dropbox и которые я хотел опубликовать на своем веб-сайте, нужно было вручную копировать на сервер моего веб-сайта с помощью [скрипта](https://github.com/neotoma/personal-server/blob/fefbdd6eb565958cafb79f94a973a3f6e9438d13/Gruntfile.js#L46), обеспечивая сходимость, которую я хотел ищу едва ли бесшовный. Моя цель состояла в том, чтобы нажать кнопку «Сохранить» в текстовом редакторе моего компьютера и немедленно внести любые изменения на мой веб-сайт, без каких-либо дополнительных действий. Таким образом, никогда не возникнет вопроса о том, что мой контент не синхронизирован между моим личным и опубликованным мирами. Мне просто нужно сделать выбор, какой контент я хочу частный, а какой общедоступный, и это решение принимается просто путем организации файлов в разные папки на моем компьютере. Остальное — волшебство.

Я достиг этой цели на этой неделе, заметив, что у Dropbox есть [удобная версия для Linux](https://www.dropbox.com/install-linux) приложения синхронизации, которое я могу установить на сервер своего веб-сайта и настроить для [выборочной синхронизации](https://www.dropbox.com/help/desktop-web/linux-commands) только те папки, которые я хочу сделать общедоступными. После настройки приложения мне теперь просто нужно сохранить в Dropbox любой файл, который я хочу опубликовать, и немного подождать, пока приложение синхронизации Dropbox на моем компьютере загрузит изменения в Dropbox, а затем загрузить их на свой сервер, где они будут мгновенно опубликованы.

Я далеко не первый человек, который думает об этом как о методе публикации личного веб-сайта. Тем не менее, я надеюсь продвинуть этот принцип еще дальше, автоматически копируя мой контент из различных корпоративных сервисов, управляемых базами данных (таких как Facebook, Twitter и Foursquare) в мой Dropbox в дополнение к моему независимо созданному контенту.

Этот скопированный контент затем будет автоматически синхронизироваться не только с моими «локальными» устройствами (например, ноутбуком) для резервного копирования в виде файлов, но также с моим веб-сайтом для повторной публикации любым способом, который я выберу. Совокупная повторная публикация на собственном веб-сайте является одним из основных вариантов использования службы синхронизации Neotoma, и недавно я решил, что хочу сосредоточиться на разработке службы синхронизации в первую очередь для этого варианта использования, протестировать ее на своем собственном веб-сайте и настроить систему для друзей, которые хотят таким же образом самостоятельно публиковать материалы.

Копирование данных из широкого спектра сервисов в эту систему займет время и уйдет много работы, поэтому я планирую итеративно выпускать их поддержку, начиная с Foursquare, поскольку это приложение я использую интенсивно. В настоящее время я сосредоточен на настройке Neotoma для синхронизации моих чекинов из Foursquare с моим Dropbox, а затем и с моим веб-сайтом, где я могу перечислять их в обратном хронологическом порядке, создавая хронологию своей жизни (с фотографиями и другим контентом, связанным с моими ежедневными путешествиями).

Затем я планирую синхронизировать содержание советов с Foursquare, а также создавать на своем веб-сайте специальные путеводители по городам. Эти руководства будут автоматически включать в себя как советы, так и данные о проверках, которые я постоянно генерирую, чтобы отображать самую актуальную информацию о моих любимых местах в красиво оформленной, простой в использовании и не устаревающей форме.

Если вы заинтересованы в настройке своего личного веб-сайта аналогичным образом, я буду рад поговорить о ваших потребностях и о том, как мои усилия могут вам помочь. И если вы разработчик, заинтересованный в помощи с каким-либо программным обеспечением, давайте поговорим о Neotoma и о том, где вы можете оказать влияние.