В пятницу получился жуткий день. Причём во многом по глупой причине — в четверг поленился сготовить на ужин мясо нормально, перекусил наскоро пельменями и лёг поздно. В пятницу проснулся после одного цикла (видимо, от голода), посидел в Интернете, размышляя над возможностью перевода idealists.su с Akkoma на движок FireFish, у которого вроде интерфейс получше. Но всё упирается в вопрос переноса данных без потерь…
Потом заснул снова. Через некоторое время Tella разбудила телефонным звонком. Проснулся голодный, злой, голова не соображает. Через это основательно поругались, и сильно разогнался эмоционально. В итоге день прошёл мимо от слова совсем, не сделал вообще ничего. И думал о том, что достала эта хаотичная жизнь, хочу хоть какого-то порядка. Единственный плюс — вечером лёг спать рано по своим меркам: около 2 часов ночи. Но всё равно позже, чем хотел.
А вчера отмечали с отцом Старый Новый Год. Обычно Старый НГ бывает даже лучше, чем обычный, но в этот раз получилось как-то странно. Но в целом, как это ни странно, доволен, что к нему выбрался. Правда, опять за весь день почти не садился за компьютер.
Был в Сети 19 мар. 2024 г., 03:32
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Сейчас специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb.
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Наедине с собой
Почти всю посленовогоднюю неделю я из-за холодов сидел дома на новой квартире безвылазно, но при этом мало времени проводил за компьютером. В Сеть выходил, в основном, с планшета и мобильника. Отчасти этому поспособствовало то, что Tella подарила мне Bluetooth-клавиатуру, что сделало возможным тот самый эксперимент, о котором я писал в прошлом году: проверить, влияет ли способ ввода на то, насколько устройство цепляет моё внимание. Как выяснилось, нет. На планшете, даже печатая с физической клавиатуры, я всё равно так не «застреваю», как на компьютере.
В результате входящий поток информации уменьшился, и я стал больше размышлять о своей жизни. В один из дней проснулся очень рано, и тут мне пришло осознание, что вся моя жизнь — это попытка доказать всему миру всего четыре утверждения:
В результате входящий поток информации уменьшился, и я стал больше размышлять о своей жизни. В один из дней проснулся очень рано, и тут мне пришло осознание, что вся моя жизнь — это попытка доказать всему миру всего четыре утверждения:
- «Информационный коммунизм», когда каждый творит какой-то контент и бесплатно этим делится в обмен на свободное пользование чужими творениями, всё-таки возможен.
- Талантливый одиночка, по настоящему увлечённый своим делом, может сделать для мира больше, чем группа профессионалов, просто отрабатывающих зарплату.
- Если сохранить детско-подростковое восприятие мира, то можно быть счастливым и довольным жизнью с небольшими доходами. Это даёт возможность меньше работать, меньше участвовать в конкуренции, и больше времени тратить на то, что реально приносит удовольствие.
- Что я достоин уважения (а также пропускания без очереди) больше, чем большинство лицеистов и, особенно, лицеисток, в частности, Hanzirы.
- Я слишком мало даю миру, а то, что даю, большей частью остаётся невостребованным.
- Понимание, что у творений таких одиночек есть и обратные стороны, например, хуже документация и техподдержка, чем у командных проектов.
- Никак не могу найти в жизни баланс между результативностью (для которой нужна самодисциплина), дающей ощущение «живу не зря», и счастьем (для которого нужна, наоборот, спонтанность и беззаботность).
Заметка в Instagram от January 10, 2024 at 06:11PM
Наконец-то выбрался из состояния «жизнь в режиме полярной ночи» и отправился на первую в этом году прогулку. Сначала собирался отправиться в Измайловский парк, но из-за холодов решил сделать прогулку покороче, и пойти к Терлецким прудам. Но даже это не помогло: всё равно замёрз очень сильно. Зато набрал 7000 шагов.
Смотреть все фото
Смотреть все фото
Возвращаюсь к идее личного архива
Сегодня понял, чем буду заниматься после того, как доделаю релиз IntB 3.05. Кстати, это случится уже скоро: я нашёл утилиту для конвертации базы из MySQL в Postgres и вчера начал тестирование под ним. Заодно обнаружил, что для некоторых столбцов не заданы значения по умолчанию, что могло приводить к ошибкам, если в MySQL включен strict mode. Возможно, именно с этим была связана ошибка, о которой месяц назад писал один пользователь в личке, но тогда я так и не мог понять причину, а он — предоставить более-менее внятную информацию об ошибке, кроме того, что сайт выдаёт 503.
А делать я буду движок личного архива — реализовывать ту самую идею, о которой писал два года назад. По-моему, такого ещё никто толком не делал, в отличие от тех же форумных и блоговых движков, которых более чем достаточно. А ещё это всё же не такой масштабный проект, как движок сообщества.
Сегодня наконец-то в голове сложилась картина, каким он должен быть, и как хранить информацию так, чтобы с одной стороны была поддержка хеш-тегов и полнотекстового поиска, а с другой — формат хранения был бы максимально простым и антихрупким. Нужно просто следовать рекомендациям из IndieWeb: хранить основные данные в текстовых файлах в формате YAML+Markdown (как это делается в Jekyll), а метаданные (хештеги, потоки, сведения об источниках) — в базе SQLite с возможностью её пересборки на основе данных в текстовых файлах.
И тогда проект, по сути будет состоять из трёх независимых частей. Первая — принимать публикации по протоколу MicroPub и сохранять их в эти файлы и базу, а также обеспечивать аутентификацию через IndieAuth, генерацию токенов и базовые функции управления сайтом. Вторая — отвечает за непосредственно вывод страниц сайта-архива. Причём главная страница и первые страницы каждого из потоков информации и календарные страницы будут в виде статики, а прочая информация (скажем, вывод хештегов или результатов поиска) — подгружаться через AJAX. И третья будет отвечать за сбор данных с внешних источников и преобразование их в формат MicroPub с последующим обращением к первой. Впрочем, на начальном этапе для этих целей можно вообще задействовать внешние сервисы типа IFTTT.
Ещё пришла в голову мысль сделать аутентификацию по ключу вместо пароля. Т.е. если на сервере нет файла-ключа, предлагается сгенерировать пару приватный-публичный, где публичный ключ пойдёт на сервер, а приватный сохранится в LocalStorage броузера (с возможностью импорта/экспорта в файл, конечно же). А если файл уже есть, то он будет использоваться для проверки того, что запрос подписан правильным приватным ключом. Правда, тогда в интерфейсе управления сайтом все запросы придётся делать через AJAX, чтобы эти самые подписи генерировать.
А делать я буду движок личного архива — реализовывать ту самую идею, о которой писал два года назад. По-моему, такого ещё никто толком не делал, в отличие от тех же форумных и блоговых движков, которых более чем достаточно. А ещё это всё же не такой масштабный проект, как движок сообщества.
Сегодня наконец-то в голове сложилась картина, каким он должен быть, и как хранить информацию так, чтобы с одной стороны была поддержка хеш-тегов и полнотекстового поиска, а с другой — формат хранения был бы максимально простым и антихрупким. Нужно просто следовать рекомендациям из IndieWeb: хранить основные данные в текстовых файлах в формате YAML+Markdown (как это делается в Jekyll), а метаданные (хештеги, потоки, сведения об источниках) — в базе SQLite с возможностью её пересборки на основе данных в текстовых файлах.
И тогда проект, по сути будет состоять из трёх независимых частей. Первая — принимать публикации по протоколу MicroPub и сохранять их в эти файлы и базу, а также обеспечивать аутентификацию через IndieAuth, генерацию токенов и базовые функции управления сайтом. Вторая — отвечает за непосредственно вывод страниц сайта-архива. Причём главная страница и первые страницы каждого из потоков информации и календарные страницы будут в виде статики, а прочая информация (скажем, вывод хештегов или результатов поиска) — подгружаться через AJAX. И третья будет отвечать за сбор данных с внешних источников и преобразование их в формат MicroPub с последующим обращением к первой. Впрочем, на начальном этапе для этих целей можно вообще задействовать внешние сервисы типа IFTTT.
Ещё пришла в голову мысль сделать аутентификацию по ключу вместо пароля. Т.е. если на сервере нет файла-ключа, предлагается сгенерировать пару приватный-публичный, где публичный ключ пойдёт на сервер, а приватный сохранится в LocalStorage броузера (с возможностью импорта/экспорта в файл, конечно же). А если файл уже есть, то он будет использоваться для проверки того, что запрос подписан правильным приватным ключом. Правда, тогда в интерфейсе управления сайтом все запросы придётся делать через AJAX, чтобы эти самые подписи генерировать.
Рассвет в электричке
Возвращаюсь с новой квартиры в Москву. Вчера почему-то проспал почти весь день, поэтому решил устроить себе бессонную ночь (после которой Welltory стала выдавать какие-то совершенно нереальные показатели, например, намерила всего 3% стресса) и встретить рассвет в поезде. Увы, не учёл, что в такое время в рабочий день народу достаточно много даже на электрогорской электричке, поэтому сесть возле окна не получается, да и само окно изрисовано граффити... К тому же от духоты начинает хотеться спать. Впрочем, пока писал это, пришло контролёры, и место около окна освободилось.
Пока добирался до вокзала на автобусе, думал о том, что в Москве хуже, но привычнее, это воспринимается как своё. А на новой квартире я чувствую себя так, как будто удалось ухватить кусок чьей-то чужой жизни, совсем другойи лучше, чем моя. Что-то подобное у меня было в 2017 году, когда ездил в Санкт-Петербург к Kitsune.
А сейчас думаю о том, что восприятие поездок как-то притупилось по сравнению с первыми годами дачи. Тогда поездка давала мне ощущение включённости в жизнь, а сейчас во многом оставляет равнодушным. И непонятно, как это вернуть. Хотя тогда поездки были временем, когда я мог почувствовать себя свободным от постоянно висящих надо мной «задолженностей перед жизнью», временем, когда я избавлялся от внутреннего конфликта «хочу одно, а надо другое», потому что во время поездки объективно нельзя заниматься этими самыми «надо». (Интересно, как некоторые люди в поездах могут достать ноутбук и поработать? Для меня это всегда было чем-то запредельным: совершенно не понимаю, как можно сосредоточиться при таком количестве раздражителей и отвлекающих факторов.) Возможно, в этом и кроется разгадка: именно постоянно висящие «надо» и заставляют лучше чувствовать жизнь тогда, когда на какое-то время удаётся их отложить? И в этом и есть вторичная выгода от того, что я постоянно затягиваю избавление от этих «надо»?
Может, поэтому и в более ранние периоды (чаще всего я вспоминаю 2003-2004 годы в этом плане) я чувствовал себя более живым именно потому, что там почти всегда висели какие-то «надо»?
Пока добирался до вокзала на автобусе, думал о том, что в Москве хуже, но привычнее, это воспринимается как своё. А на новой квартире я чувствую себя так, как будто удалось ухватить кусок чьей-то чужой жизни, совсем другойи лучше, чем моя. Что-то подобное у меня было в 2017 году, когда ездил в Санкт-Петербург к Kitsune.
А сейчас думаю о том, что восприятие поездок как-то притупилось по сравнению с первыми годами дачи. Тогда поездка давала мне ощущение включённости в жизнь, а сейчас во многом оставляет равнодушным. И непонятно, как это вернуть. Хотя тогда поездки были временем, когда я мог почувствовать себя свободным от постоянно висящих надо мной «задолженностей перед жизнью», временем, когда я избавлялся от внутреннего конфликта «хочу одно, а надо другое», потому что во время поездки объективно нельзя заниматься этими самыми «надо». (Интересно, как некоторые люди в поездах могут достать ноутбук и поработать? Для меня это всегда было чем-то запредельным: совершенно не понимаю, как можно сосредоточиться при таком количестве раздражителей и отвлекающих факторов.) Возможно, в этом и кроется разгадка: именно постоянно висящие «надо» и заставляют лучше чувствовать жизнь тогда, когда на какое-то время удаётся их отложить? И в этом и есть вторичная выгода от того, что я постоянно затягиваю избавление от этих «надо»?
Может, поэтому и в более ранние периоды (чаще всего я вспоминаю 2003-2004 годы в этом плане) я чувствовал себя более живым именно потому, что там почти всегда висели какие-то «надо»?
Закончил настройку OPKG на роутере
Вчера всё-таки разобрался с установкой OPKG на роутер. Оказалось, на моём роутере под него выделено даже немного места в основной флеш-памяти, то есть его не обязательно ставить на внешнюю флешку. Сама установка тоже прошла очень легко, нужно было только положить архив с OPKG в нужное место. Больше всего ушло времени на то, чтобы понять, что по ssh для работы с OPKG нужно коннектиться не на 22 порт, а на 222.
Потом стал тестировать копирование с серверов по SFTP. Сначала поймал непонятную ошибку. Стал искать и выяснил, что scp на роутере требует ключей в формате dropbear, а не openssh. Пришлось разбираться, как конвертировать. Когда разобрался, всё заработало. Осталось только написать скрипт и повесить его на cron. Завтра увижу первые результаты работы (если не уеду домой раньше). Ещё добавил в скрипт проверку на то, что флешка вставлена, и на то, что на ней достаточно свободного места. Если остаётся меньше 1 Гб, скрипт отправит сообщение в Telegram.
Так что всё, настройка домашнего сервера полностью завершена! Разве что осталось только вернуться к идее yggdrasil на него поставить, но как-то не вижу особой необходимости.
Потом стал тестировать копирование с серверов по SFTP. Сначала поймал непонятную ошибку. Стал искать и выяснил, что scp на роутере требует ключей в формате dropbear, а не openssh. Пришлось разбираться, как конвертировать. Когда разобрался, всё заработало. Осталось только написать скрипт и повесить его на cron. Завтра увижу первые результаты работы (если не уеду домой раньше). Ещё добавил в скрипт проверку на то, что флешка вставлена, и на то, что на ней достаточно свободного места. Если остаётся меньше 1 Гб, скрипт отправит сообщение в Telegram.
Так что всё, настройка домашнего сервера полностью завершена! Разве что осталось только вернуться к идее yggdrasil на него поставить, но как-то не вижу особой необходимости.
Выход из уплотнения жизни
Первые два дня Нового Года, как это часто бывает, прошли мимо. Утром первого числа проснулся ненадолго, посмотрел на яркий и солнечный день, потом снова вырубился до самого вечера. Ночь решил не спать, а утром снова отправился на новую кваритру. Перевозку компьютера опять пришлось отложить, но теперь это уже не особо важно: раз до НГ не успел, то теперь можно не торопиться до следующего НГ.
Сегодня встал в совершенно нереальное для себя время: около 7 утра и встречл рассвет, глядя на то, как соседними домами поднимаются дымки и полосу леса на горизонте... Такое умиротворяющее зрелище!
А сейчас испытываю какую-то растерянность, как это часто бывает при выходе из "уплотнения жизни". Вроде и сделать нужно много чего, но совершенно непонятно, за что браться. Впрочем, как уже не раз наблюдал, самое рзумное в таких случаях — это устроить себе день информационной разгрузки и отдыха. Тогда как-то всё само сложится в голове.
Будь погода потеплее, я бы выбрался на прогулку, например, сходил бы снова к Клязьме, как в один из первых заездов после ремонта, или даже сразу в центр Посада. Но увы, на улице ни много ни мало -27 °C, а по ощущению и того меньше, так как влажность остаётся всё ещё высокой. Так что приходится ограничиваться созерцанием зимы в окно.
Сегодня встал в совершенно нереальное для себя время: около 7 утра и встречл рассвет, глядя на то, как соседними домами поднимаются дымки и полосу леса на горизонте... Такое умиротворяющее зрелище!
А сейчас испытываю какую-то растерянность, как это часто бывает при выходе из "уплотнения жизни". Вроде и сделать нужно много чего, но совершенно непонятно, за что браться. Впрочем, как уже не раз наблюдал, самое рзумное в таких случаях — это устроить себе день информационной разгрузки и отдыха. Тогда как-то всё само сложится в голове.
Будь погода потеплее, я бы выбрался на прогулку, например, сходил бы снова к Клязьме, как в один из первых заездов после ремонта, или даже сразу в центр Посада. Но увы, на улице ни много ни мало -27 °C, а по ощущению и того меньше, так как влажность остаётся всё ещё высокой. Так что приходится ограничиваться созерцанием зимы в окно.
Солнечное утро 1 января
Проспал всего 3 часа, потом из сна просто выкинуло. Но тем не менее, я этому рад: впервые за много лет первое января выдалось не серыми мрачным днём, а очень ярким и солнечным! Да и просто наконец-то увидел дневной свет, а то весь декабрь жил в режиме полярной ночи.
Новый Год в Сети, часть третья, последняя
Вот и всё, Новый Год позади! Увы, ощущения торжественности и переходности момента как-то не получилось. Скорее вечер представлял собой посиделки в несколько необычном формате. Изначально я хотел пойти гулять после самого момента наступления НГ, чтобы подзарядиться всеобщей радостью, как это было в предыдущие годы. Но увы, за последние сутки похолодало так, что пришлось от этой идеи отказаться, да ещё и скользко. Всё, что оставалось делать — это смотреть на фейрверки через окно, благо из Пустой квартиры видимость очень даже хорошая. Ну и конечно же, не упустил момент закинуть сообщение «С Новым Годом всех, кто сейчас в Сети» в новости этого сайта и на страницу ВК, чтобы показать всем, что я встречаю его так, как полагается Настоящему Компьютерщику.
Новый год в Сети, часть вторая
Час до Нового Года! Состояние странное: с одной стороны, нет предвкушения, ожидания, что вот-вот совершится какой-то поворот в жизни, и она начнёт менятьсяк лучшему. С другой — спокойствие и удовлетворённость, что всё идёт как надо. Давно такого не было!
Страницы:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127