Вчера долго спорили с Tellой по идейным вопросам. В итоге выяснилось, что большая часть наших разногласий сводится к следующему. Я изначально занимаю жёсткую позицию Я+Вы- относительно способности большинства окружающих делать разумный и адекватный выбор, «жить по уму». (Хороший пример этого — существование всякого «инфоцыганства».) Поэтому считаю, что изначально свободы у каждого должен быть миниумум, но должен быть способ её заслужить через прохождение каких-то испытаний. Соответственно, в конечном итоге должно получиться иерархическое общество с несколькими уровнями гражданской свободы/ответственности. Tella же придерживается позиции, что от нарушения равенства и ограничения свободы вреда больше, чем от злоупотребления ею. А если кто-то употребляет данную свободу себе во вред (именно себе, а не окружающим), то это его проблемы.
А сегодня возникла мысль, что такие позиции — это прямое следствие дихотомии «аскет/жизнелюб». Для меня как аскета неприемлем напрасный расход ресурса (пусть даже и чужого), а для неё это не столь важно.

- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Размышления о свободе

Неожиданность от Тинькофф

Сегодня случайно обнаружил, что у меня каким-то образом 6 октября подключился «Тинькофф Pro». Непонятно, то ли сам я не туда нажал по невнимательности и включил, то ли это самодеятельность банка. Первые два месяцам там бесплатные, так что решил пока подержать и отключить только первого декабря, поскольку это даёт удвоенный процент на остаток по карте. Теперь, главное, об этом не забыть. Даже поставил себе напоминание в мобильнике на всякий случай (тот редкий случай, когда я вспоминаю об этой функции).
Непростой выбор дистрибутива

Сегодня большую часть дня занимался тем, что гонял разные benchmarks под Manjaro, Arch, загружаемыми с флешки и установленным на диске Mint. Всё началось с того, что однажды на YouTube попалось видео, где утверждается, что дистрибутивы на основе Ubuntu, сильно проигрывают Arch-подобным по пропускной способности кеша. Проверил это у себя с помощью pts/cachebench, но нет — разница составила чуть меньше 1%, но таки Arch и Manjaro быстрее (между собой у них расхождение на 0.1% где-то).
Потом решил потестировать пропускную способность памяти в целом. И вот тут разница куда серьёзнее: до 33%. Интересно, с чем это связано? То ли просто под Mint ядро старое (4.04) и хуже оптимизированное, то ли я начудил при его компиляции. На всякий случай даже дважды померил, но результат тот же самый. По-хорошему, нужно бы поставить стоковое из дистрибутива и перетестировать на нём, но как-то мотивация на все эти измерения уже заканчивается.
Также попытался искать чужие сравнения производительности Manjaro и Arch, но ясности это не добавило. В большинстве случаев разница в пределах погрешности. Но нашёл видео, где Manjaro устойчиво проигрывает (хоть и немного) чистому Arch и endeavourOS.
И теперь никак не могу определиться: что для меня важнее. Либо поставить дистрибутив, который условно будет считаться более быстрым, а также лучше соответствующим идеологии Настоящего Компьютерщика. Либо поставить систему, которой можно пользоваться из коробки и сэкономить кучу времени на настройке и подборе софта, но потерять какую-то долю производительности (и, самое главное, убеждение, что я выжал из своего «железа» всё, что можно).
Заметка в Instagram от October 16, 2022 at 08:41PM

Ловлю последние дни золотой осени. На этот раз ненадолго выбрался в Терлецкий парк. Из-за выходного дня было многолюдно, но тем не менее, прогулка получилась весьма приятной. Вернулся домой с каким-то чувством внутренней наполненности и внутренней гармонии.
#золотаяосень #осень #листьяжелтые #листья #деревья #терлецкийпарк
Смотреть все фото
День вторых мест

Вчера с подачи Ал.С. решил было снова выбраться на настолки — снова сыграть в «Остров кошек». Но сегодня всё пошло наперекосяк. Проснулся очень поздно и полузаболевший. В какой-то момент хотел даже написать, что не приду, но всё же не стал. Да и поездка до места (а это снова был ЗИЛ) тоже прошла не очень хорошо. Казалось, что мир изо всех сил сопротивляется тому, чтобы я на эти игры попал. Я уже стал ожидать, что на играх случится что-то совсем плохое. Но на удивление обошлось, если не считать того, что было совсем шумно, и нам пришлось перебраться на четвёртый этаж вместо того места, где сидим обычно.
Сначала быстро сыграли в «Каркассон» на пятерых. Я занял второе место, а Ал.С. вырвалась вперёд почти на 50 очков, удачно разыграв поля и присоседившись к одному моему городу. А в «Кошек» я на этот раз занял второе место с отрывом от победительницы в 11 очков. В этот раз вроде удалось найти баланс между накоплением и тратой ресурсов, за исключением второго раунда, где взял на одну кошку меньше, чем мог бы — набрал слишком мало временных корзин. Когда это осознал, попытался было разыграть карту, позволяющую получить две дополнительные, но без толку: пришло совсем не то. Зато на последнем раунде разыграл весьма сложную и неожиданную для всех комбинацию. Но в итоге у победительницы — М.Сб. обошла меня по трём параметрам: у меня было четыре разных семейства по 3-4 кошки, у неё — одно огромное, она не заполнила только одну каюту, а я — две (плюс ещё -5 очков за крыс). При этом я планировал вырваться вперёд по картам заданий, но и по ним она проявила себя неплохо. Остальные участницы отстали очень сильно (49 и 47 очков соответственно).
В общем, домой возвращался вполне довольный тем, что выбрался. Даже несмотря на то, что по сути, из-за игр весь день прошёл мимо, и больше я ничего не успел. Хотя нет: ещё успел запустить процедуру переноса доменов на Beget.
Непредсказуемы пути Сетевые

Удивительно, насколько может быть непредсказуемым Сетевой путь, и как далеко может завести!
Сегодня залез на один клиентский сайт, где нужно было разобраться, почему часть категорий выводится в боковом списке, но не выводится в основном на главной. С установленной там CMS я дела имел мало, модулей в ней много, поэтому быстро стало ясно, что искать код, отвечающий за вывод списков, методом тыка — совершенно неэффективно. Захотел прибегнуть к испытанному средству — зайти по SSH и сделать рекурсивный grep по известному куску HTML-кода. Но пароль от сайта я, естественно, не помню, искать его лень. Жалею о том, что в Filezilla не сделали встроенный терминальный клиент, чтобы можно было сразу подключиться по SSH с теми же логином/паролем/ключом.
Потом вспоминаю, что уже давно собирался поискать альтернативу Filezilla, которая бы использовала GTK вместо Qt, и решаю, что это время пришло. Начинаю поиски. С удивлением обнаруживаю, что SFTP-клиентов под Linux на удивление мало. Наконец, на глаза попадается некий Muon, бывший Snowflake. Оказывается, что он написан на Java. Это плохо, но не смертельно. Качаю deb-пакет, ставлю, запускаю. Подключаюсь к личному серверу, вроде всё хорошо, но что-то не так. Через некоторое время понимаю, что именно: панель с файлами на сервере — слева, а не справа, как у всех нормальных FTP-клиентов. (Интересно, автор — левша или просто человек с альтернативным мышлением?) Лезу в настройки и пытаюсь найти, как поменять. Через какое-то время получается на правой панели открыть удалённые файлы, но вот локальные на левой — так и не получилось. Вдвойне обидно, так как в остальном приложение меня вполне устраивает (кроме мелких глюков в юзабилити): есть и терминал, и встроенный редактор, который позволяет редактировать файлы без подтверждения «загрузить изменённый файл» после каждого сохранения, что очень надоедает в Filezilla.
Решил глянуть исходный код на случай, можно ли это как-то быстро исправить. Тут должна быть история про то, как плохо зная Java, я решил найти по ней курсы, чтобы выучить нормально. Нормальных бесплатных не нашлось, поэтому решил сделать свои, и т.д. и т.п. Но нет, до этого всё же не дошло! Потратив где-то час, в итоге нашёл в коде нужное место! А заодно и там же увидел возможность исправить мелкий баг — на панели с локальными файлами открывается всегда домашний каталог, даже если в настройках соединения задан другой.
Потом выяснилось, что для пересборки нужен maven (это аналог composerа в PHP или cargo в Rust). У меня он, конечно же, не был установлен, пришлось ставить (попутно сожалея о том, что опять захламляю систему). Поставил, запустил компиляцию (а в Java это процесс не быстрый) — ошибка. Оказывается, поменяв местами правую и левую панели, я забыл исправить типы создаваемых классов. Компилирую ещё раз, запускаю, подключаюсь к серверу, и о чудо: панели располагаются как надо!
Но тут обнаруживается другое: с GitHub я скачал более новую версию, в которой отключили встроенный редактор и добавили тот самый запрос на перезапись файла, который так бесил меня в Filezilla. Ещё добавили постоянный запрос пароля от ssh-ключа, что очень раздражает. В общем, развитие программы пошло куда-то не туда. Прямо хоть fork делай… (Но для этого опять пришлось бы отложить мои основные задачи — каталог сайтов и сообщество идеалистов).
А вообще, вся эта ситуация — отличный пример, почему я никогда ничего не успеваю…
Решил проблему с внешним монитором

Сегодня сделал большой шаг вперёд — сделал обходное решение для проблемы с внешним монитором при загрузке Linux (ноутбук в этом случае отправлял внутреннюю панель в какой-то кривой режим энергосбережения, из-за которого Linux не мог определить корректно её разрешение). Теперь смогу наконец-то начать пользоваться более новыми ядрами, а не сидеть на 4.4, которое могло хоть как-то грузиться в такой ситуации. Вообще, к этому решению я подходил ещё в августе, но тогда шёл обратным путём: пытался выключать внутреннюю панель ноутбука через systemd при наличии внешнего монитора. В этот раз сделал наоборот: внутреннюю панель сначала выключаю через параметр командной строки (video=eDP-1:d), чтобы не мешала грузиться, а потом включаю обратно уже через скрипт, запускаемый в systemd. Теперь ноутбук загружается нормально и с подключенным внешним монитором, и без него. Только вот без «костылей» не обошлось — в скрипте в systemd unit пришлось ставить sleep 1, иначе скрипт запускается до момента, когда в /sys/class/drm появятся нужные файлы. Так что теперь осталось определиться, на что обновляться/переходить.
+1 курс на Coursera!

Закончил прохождение курса «Повествование и влияние: Эффектная коммуникация» на Coursera. Курс весьма понравился, узнал много интересного! Правда, с практической точки зрения вряд ли пригодится. С моими заваленными 5 и 8 уровнями ТУАИ сложно подобрать интересные истории по теме выступления и настроиться на конкретную аудиторию с её целями и интересами. Да и вообще речевая деятельность в оффлайне слишком много ресурсов мозга съедает. (Сейчас написал это и задумался, а не может ли одно быть связанным с другим.) Но, по крайней мере, узнал, как это работает у тех, у кого таких проблем нет.
А ещё важно то, что с этим курсом я как-то преодолел свою проблему с регулярностью. Это заставило меня задуматься, почему же в этот раз не получилось как всегда: начал что-то, потом снесло потоком жизни, а потом не смог вернуться. Дело в регулярных напоминаниях на планшете? Или в том, что в каждой неделе объём информации был не такой уж большой, поэтому казалось, что можно легко справиться и незачем откладывать? Или просто выдался период затишья, когда не было «уплотнений жизни» и достаточное количество времени сидел дома? Хотя вроде тоже не особо верно…
Но вообще, конечно, для того, чтобы чувствовать удовлетворение от жизни, нужно проходить не один курс в год, как сейчас, а хотя бы один в два месяца. Но без ответа на вопрос выше это вряд ли получится…
Наконец-то хорошие новости

Никак не могу определиться, как быть с frameworkом для своих проектов. Вчера даже расклад на Таро сделал. Но постепенно склоняюсь к тому, чтобы всё-таки делать свой framework, возможно, с использованием готовых библиотек для некоторых типичных действий, например, migrations. Но пока до состояния «определиться, сесть и начать писать» не доходит. С другой стороны, вспоминаются слова Лугаира Громового Камня из игры Arcanum о том, что он проводил человеческие жизни в процессе выбора всего лишь узора для украшения стены. Вот это я понимаю, правильный подход, ориентированный на вечность, а не сиюминутное!
Но вообще, начался период хороших новостей. Во-первых, узнал, что снова доступен GeForce Now. И этой ночью после долгого перерыва поиграл в World of Tanks и Ведьмака. (И снова задался вопросом, нужно ли мне покупать мощный компьютер, если есть облачные игры, а для WoT и игр попроще достаточно б/у.) А вот в Path of Exile мой аккаунт, судя по всему, удалили за неактивность. По крайней мере, так и не смог ни войти, ни восстановить пароль от него.
Во-вторых, недавно удачно откупил акции банка СПб, которые продал летом в ожидании, что дивиденды отменят. Но их не отменили, так что даже после гэпа они стоили 92 рубля, тогда как продавал я по 90.1. И я уже думал, что всё, придётся смириться с тем, что я остался без этих акций. Но теперь удалось где-то по 75.8, что оказалось даже выгоднее дивидендов (они были 11,81 руб).
Ещё сегодня снова вышла на связь Melany Tale. С одной стороны — решила вопрос с оплатой подвисших freelance-задач. Но с другой — появились новые, так что опять может получиться как всегда: от своих проектов отвлекусь, а потом не вернусь или вернусь не скоро.
Решил вопрос с Web IDE

Кажется, решил для себя вопрос с Web IDE на случай, если нахожусь за чужим компьютером. Во-первых, в GitHub есть встроенная IDE, её можно вызвать, нажав точку на клавиатуре в нужном своём репозитории. Но работает весьма медленно из-за того, что сервера GitHub находятся далеко, и нет возможности выполнять отладку.
Во-вторых, есть замечательный сервис GitPod, позволяющий открывать репозитории с GitHub и GitLab и заниматься разработкой полноценно, с возможностью запуска приложения в терминале и даже установкой MySQL. Правда, на месяц дают всего 50 часов. Но для ситуации, когда большая часть разработки делается со своего компьютера, а GitPod — это резервный вариант, этого вполне достаточно.
Теперь осталось самое главное — приучить себя пользоваться git в постоянном режиме, чтобы код всегда был на GitHub, а не только для выкладывания окончательных релизов.
- 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
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153