2022-05-03 14:33:50
В прошлый раз когда я писал про Database for Life мне скинули видео “RubyConf 2018 - Building a Memex (with Ruby!) by Andrew Louis”. И знаете что? Впервые за долгое время я почувствовал что вот оно, то, что компьютеры должны делать. А не вот это все.
Если коротко, чувак сделал личную базу данных и заимпортил туда все свои потоки информации, какие у него были: сообщения, твиты, фитбит, историю прослушиваний музыки, прочитанные книги, фотки из эппл фото, карты, историю браузера, историю баша даже. Потом накрутил поверх этого поиск и теперь может, во-первых, за миллисекунды найти что угодно, что он когда-либо писал или получал, а во-вторых делать сложные запросы типа «фотки, сделанные 2015-м в поездке на автомобиле, которая была с этим чуваком и с этим». Ну и там всякие ништяки, типа поездки/фотки показываются на карте, к песням подтягиваются обложки, на картинки натравливается нейронка (чтобы можно было искать по содержанию) и т.п.
Клево это по нескольким причинам. Во-первых, это придает какой-то смысл всему тому прогрессу и вещам, которые мы научили компьютеры делать. Сейчас за человеком отслеживается история, позиция, на фотках распознается содержание и текст, голос можно разпознавать, но зачем? Вот тут в этом появляется какой-то смысл.
Во-вторых, очень круто, что все это доступно одному человеку силами опен-сорса. Что это не гигансткий проект бездушной корпорации на миллион человеколет, а буквально энтузиаст взял с полки и сделал. Что такие вещи вообще лежат на полках. Можно год пилить какой-нибудь туду апп, а можно за тот же год всю свою жизнь компьютеризировать. Поражает масштаб.
В-третьих, очень хорошо показывает, на что способны современные компьютеры, если захотят. Он говорит, что импортирует десятки тысяч data points в день. Я не услышал, на сколько его база растет, скажем, за год, но подозреваю, что единицы гигабайт? С современными дисками это ничто. Не нужен никакой гигантский датацентр размером с библиотеку, все это можно делать прямо в кармане.
При этом поиск по этим гигантским массивам, которые, еще раз, всю жизнь человека представляют! занимает секунду-две (насколько я понял, он там графы обходит, для запроса по таблицам непозволительно медленно, конечно. Плюс full text match часто). То есть современный компьютер может открывать пустой текстовый чат несколько секунд, а может сделать сложный иерархический запрос по всей жизни человека в сравнимое время. Заставляет задуматься, да?
А вот что меня в этом всем пугает так это как я представлю, что там под капотом. Насколько это все хрупко. Наверняка львиная доля времени ушла на то, чтобы придумать способы достать данные из самых ебанутых мест, которые усиленно не хотят, чтобы ты их доставал. Да, корпорации не любят, чтобы кто-то еще смотрел на данные, которые они с тебя же и собирают.
А когда ты все сделал и настроил, наверняка придет та же корпорация и что-нибудь переименует или задепрекейтит, чтобы жизнь медом не казалась. Еще и назовет это улучшением, чтобы поиздеваться. Но чаще молча что-то сломает, конечно.
То есть мало такую базу сделать, надо еще и чинить импорт постоянно. Мой внутренний идеалист очень нервничает, когда такое представляет.
Короче, мужику огромный респект, проект вызывает огромную зависть, но делать я ничего подобного не буду, конечно. Но желание что-то запилить пробуждает на раз-два.
3.6K viewsNikita Prokopov, 11:33