我喜欢文件。

当我还是个刚刚学习如何使用计算机的孩子时，我会按类型将所有文件组织到文件夹中：将我的 [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) 绘图放入一个文件夹中，将我的 [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) 城市放入另一个文件夹中，等等。

我仍然清晰地记得思考如何组织我的文件的最佳方式，以便对我来说重要的所有东西都可以很好地隐藏起来，并且在我需要时很容易找到。这可能是一个干净怪胎（或者更恰当地说，极简主义者）的早期迹象，但文件组织帮助我在原本令人迷失方向和分散的计算世界中保持内心的平静。它为我提供了一个更广阔的冒险领域的避难所。

我记得[当 Dropbox 在 2009 年问世时](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 上编辑的平面文件提供支持。这些文件由软件的[服务器](http://github.com/neotoma/personal-server)部分加载，以便[网站](http://github.com/neotoma/personal-web)部分可以加载需要显示的数据，而不涉及任何类型的数据库。例如，如果您直接向服务器询问组成[这篇文章](http://api.markmhendrickson.com/posts/)的内容，您将看到它提供的内容与我计算机上存储为文件的内容完全相同：

![Neotoma 个人服务器 API 响应的屏幕截图]()

然而，直到本周，我想要发布到我的网站的任何保存到我的 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 以及您可以在哪些方面产生影响。