Saya suka file.

Ketika saya masih kecil yang baru belajar cara menggunakan komputer, saya akan mengatur semua file saya ke dalam folder berdasarkan jenis: gambar [Kid Pix](https://en.wikipedia.org/wiki/Kid_Pix) saya menjadi satu, [SimCity](https://en.wikipedia.org/wiki/SimCity_(1989_video_game)) saya menjadi kota lain, dll.

Saya masih memiliki kenangan tersendiri saat memikirkan cara terbaik untuk mengatur file saya sehingga segala sesuatu yang penting bagi saya tersimpan dengan baik dan mudah ditemukan kapan pun saya menginginkannya. Ini mungkin merupakan tanda awal bahwa saya adalah orang yang bersih (atau lebih tepatnya, minimalis) tetapi pengorganisasian file membantu saya menjaga ketenangan pikiran dalam dunia komputasi yang membingungkan dan tersebar. Ini memberi saya semacam tempat perlindungan dalam dunia petualangan yang lebih luas.

Saya ingat [ketika Dropbox diluncurkan pada tahun 2009](https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-been-waiting-for/) saya segera menyadari bagaimana perlindungan digital ini dapat diperluas ke cloud dengan mengubah kumpulan file yang bersifat “lokal” menjadi koleksi yang disinkronkan ke penyimpanan “jarak jauh” di internet, dapat diakses di mana saja dan dengan perangkat apa pun yang digunakan tangan. Kekuatan Dropbox adalah saya cukup menarik semua file terorganisir saya ke dalamnya dan file-file tersebut akan langsung bertransformasi dari basis digital yang terisolasi menjadi basis data yang ada di mana-mana, tertaut namun independen dari realitas fisik perangkat pribadi mana pun.

Namun, sementara itu, saya telah membangun karier dalam mengembangkan situs web dan aplikasi yang didukung oleh semua jenis *database*, bukan apa yang disebut *file datar* yang saya sukai dalam kehidupan pribadi saya – yaitu file yang dapat dibuka dan dibaca oleh manusia normal mana pun tanpa perangkat lunak khusus. Basis data memiliki banyak kelebihan dalam mempermudah pembuatan kueri dan menghubungkan data, namun pada dasarnya, basis data kurang dalam hal transparansi, transportasi, dan transformasi jika dibandingkan dengan file. Lebih mudah untuk melihat konten, memindahkannya ke tempat lain, atau mengubahnya ketika konten tersebut disimpan dalam file biasa dibandingkan dengan database.

Konten yang kita produksi sebagai individu semakin penting bagi dunia tempat kita tinggal, dan sifat Internet pada khususnya. Masing-masing dari kita adalah penerbit kecil dan produser konten, dan setiap tahun kita melihat semakin besarnya peran yang kita mainkan di ranah publik. Namun kami adalah *pengelola* dan *perajin* konten yang buruk, baik dengan data publik maupun pribadi. 

Kita cenderung membuang konten kita ke titik distribusi mana pun yang membuatnya paling mudah untuk ditampilkan kepada orang lain, namun konten tersebut berakhir sebagai baris dalam database yang sulit kita kendalikan dan ditampilkan di situs web yang jarang kita desain. Bahkan jika Anda meng-host blog Anda sendiri di domain Anda sendiri, kemungkinan besar kontennya disimpan dalam database dan di server yang Anda tidak dapat mengingat kata sandinya. Tentu saja, hal tersebut ada *di suatu tempat*, namun akan jauh lebih efektif jika Anda dapat langsung mengendalikan semuanya dengan ujung jari Anda, sama seperti Anda memiliki kendali atas file di komputer laptop Anda menggunakan [berbagai macam teknik yang dipelajari](https://www.youtube.com/watch?v=YtdWHFwmd2o).

Sekitar setahun yang lalu, saya mulai mencoba menggabungkan dua dunia digital saya – tempat perlindungan file pribadi dan konten online publik (atau semi-publik) yang tidak dikelola dengan baik – dengan merilis versi baru [situs web saya](http://markmhendrickson.com), yang didukung oleh beberapa perangkat lunak sumber terbuka khusus yang saya buat di bawah naungan [Neotoma](http://github.com/neotoma). Situs web ini sepenuhnya didukung oleh file datar yang saya edit langsung di MacBook, iMac, atau iPhone saya. File-file ini dimuat oleh bagian [server](http://github.com/neotoma/personal-server) perangkat lunak sehingga bagian [situs web](http://github.com/neotoma/personal-web) dapat memuat data yang diperlukan untuk ditampilkan tanpa melibatkan database apa pun. Misalnya, jika Anda menanyakan server secara langsung tentang konten yang membentuk [postingan ini](http://api.markmhendrickson.com/posts/), Anda akan melihat server menyediakan konten yang sama persis yang disimpan sebagai file di komputer saya:

![Tangkapan layar respons API server pribadi Neotoma]()

Namun, hingga minggu ini, semua file yang disimpan ke Dropbox yang ingin saya publikasikan ke situs web saya harus disalin secara manual ke server situs web saya menggunakan [skrip](https://github.com/neotoma/personal-server/blob/fefbdd6eb565958cafb79f94a973a3f6e9438d13/Gruntfile.js#L46), membuat konvergensi yang saya cari hampir tidak mulus. Tujuan saya adalah menekan tombol simpan di editor teks komputer saya dan segera menerapkan perubahan apa pun di situs web saya, tanpa memerlukan langkah tambahan apa pun. Dengan begitu, konten saya tidak akan pernah sinkron antara dunia pribadi dan dunia publikasi. Saya hanya perlu membuat pilihan konten apa yang saya inginkan bersifat pribadi versus publik, dan keputusan itu dibuat hanya dengan mengatur file ke dalam folder berbeda di komputer saya. Sisanya ajaib.

Saya mencapai tujuan tersebut minggu ini setelah mengetahui bahwa Dropbox memiliki [versi Linux yang praktis](https://www.dropbox.com/install-linux) aplikasi sinkronisasinya yang dapat saya instal di server situs web saya dan mengonfigurasi untuk [sinkronisasi selektif](https://www.dropbox.com/help/desktop-web/linux-commands) hanya folder yang ingin saya publikasikan. Setelah mengatur aplikasi, sekarang saya hanya perlu menyimpan file apa pun ke Dropbox yang ingin saya publikasikan dan menunggu sebentar hingga aplikasi sinkronisasi Dropbox di komputer saya mengunggah perubahan ke Dropbox, lalu mengunduhnya ke server saya di mana perubahan tersebut akan langsung dipublikasikan.

Saya bukan orang pertama yang menganggap ini sebagai teknik penerbitan situs web pribadi. Namun, saya berharap dapat menerapkan prinsip ini lebih jauh lagi dengan secara otomatis menyalin konten saya dari berbagai layanan korporat berbasis basis data (seperti Facebook, Twitter, dan Foursquare) ke Dropbox saya selain konten yang saya buat secara independen.

Konten yang disalin tersebut kemudian akan disinkronkan secara otomatis tidak hanya ke perangkat “lokal” saya (misalnya laptop) untuk dicadangkan sebagai file, tetapi juga ke situs web saya untuk diterbitkan ulang dengan cara apa pun yang saya pilih. Penerbitan ulang gabungan ke situs web milik sendiri adalah salah satu kasus penggunaan utama untuk layanan sinkronisasi Neotoma, dan baru-baru ini saya memutuskan bahwa saya ingin fokus mengembangkan layanan sinkronisasi terutama untuk kasus penggunaan ini, melakukan dogfood di situs web saya sendiri, dan menyiapkan sistem untuk teman-teman yang juga ingin menerbitkan sendiri dengan cara yang sama.

Menyalin data dari berbagai layanan ke dalam sistem ini akan memakan waktu dan banyak usaha, jadi saya ingin merilis dukungan untuk layanan tersebut secara berulang, dimulai dengan Foursquare karena ini adalah aplikasi yang saya gunakan secara intensif. Saat ini saya fokus menyiapkan Neotoma untuk menyinkronkan check-in saya dari Foursquare ke Dropbox saya dan kemudian ke situs web saya di mana saya dapat mencantumkannya dalam urutan kronologis terbalik, membuat garis waktu hidup saya (dengan foto dan konten lain yang terkait dengan perjalanan harian saya).

Lalu saya berencana untuk menyinkronkan konten tips saya dari Foursquare juga untuk membuat panduan kota yang dirancang khusus di situs web saya. Panduan ini akan secara otomatis menggabungkan tips dan data check-in yang saya hasilkan secara berkelanjutan untuk menampilkan informasi terkini tentang tempat favorit saya dengan cara yang dikemas dengan indah, mudah digunakan, dan tidak akan basi.

Jika Anda tertarik untuk menyiapkan situs web pribadi Anda dengan cara yang sama, saya akan dengan senang hati membicarakan kebutuhan Anda dan bagaimana upaya saya di sini juga dapat membantu Anda. Dan jika Anda seorang pengembang yang tertarik untuk membantu perangkat lunak apa pun yang terlibat, mari kita bahas tentang Neotoma dan di mana Anda dapat memberikan pengaruh.