beldmit: (Программизм)
[livejournal.com profile] avva поднял вопрос о том, какая польза бывает от книг по программированию. Вынесу, пожалуй, свой комментарий с некоторыми дополнениями.

Я извлекаю пользу из книг по программированию несколькими способами.

1. «Всю жизнь говорил прозой». Оказывается, паттерн, который я применяю, подсмотрев у коллег, как-то называется.
2. Как убрать грабли. Вот тут у меня узкое место, требующее кучи однотипных действий, например, и вот оно, решение. А вокруг ещё кое-что.
3. Сборник рецептов с объяснениями. Очень ценно, и найдя один рецепт, облегчающий жизнь, надо начинать искать следующий. В хороших книгах (типа Perl Cookbook) будет дан нефиговый контекст.
4. Структурирование информации. В книге описано то, то и вот это, подробности искать здесь.

По большому счёту всё это — аналог «зоны ближайшего развития». То есть информация, хорошо сцепленная с уже полученным опытом. Последний пункт в наименьшей степени, потому что это направление развития я для себя и так задал, открыв эту книгу.

При этом у меня в коде может быть бардак в наименовании методов, безалаберные комментарии (в них попадает, как правило, только то, что я долго копал, потом выкопал и надо будет в следующий раз на это время не тратить) и т.п. И с этим что-либо поделать довольно трудно.
beldmit: (Манул)
Личные качества человека никак не кореллируют с его взглядами. Человек может быть трусом или храбрецом, но политические взгляды отдельно. При этом страх перед начальством — совершенно отдельная от страха смерти сущность.

То, что у человека есть талант, не делает его мнение эталонным в диапазоне от ядерной физики до современной политики. Поэтому аргумент «Вася, известный XXX, высказался о чём-то в области YYY, и его мнение априори верно» — крайне сомнительный. При этом, пока талант удаётся отделить от всего прочего, что в эту голову и тушку положили, его можно и нужно оценивать отдельно. И прочее — отдельно.

Любая правильная пуля любит свой пулемёт.

Всё сказанное выше, применяемое регулярно, сильно упрощает картину мира.
beldmit: (Манул)
Афиша ' "Починим всё". День открытых дверей' с пометкой "18+". Воображение рисует прямую трансляцию ремонта без попыток цензуры выражений мастеров по поводу конструкции техники и интеллекта пользователей, убивших её в хлам.
beldmit: (Default)
Автор - Oleg Roderick.

Когда порвались струны, когда на сердце вздор,
Иди, взгляни на руны держащие забор.
Как стойкие солдаты из племени графем
Начертаны когда-то, они понятны всем.
Как надпись на медали, как реверсы монет,
К ним доски прибивали подряд пятнадцать лет.
Не кровью, не чернилами, прочнее чем металл,
Там дерево прогнило, но смысл не пропал.
Мистическое бремя несут с далёких пор.
Закрасят их на время - и упадёт забор.
Скрадут велосипеды, убегнет порося,
И вздрогнет вся планета, и опустеет вся!
Но быть того не может, их скоро обновят,
Ведь это не emoji, кириллица, ребят.
Приди, приникни взором, и прочитай их вслух
И овладей заборостроительством, мой друг.
beldmit: (Манул)
20 лет назад у меня навернулась одна из первых любимых работ — попытка сделать игру под руководством Андрея Ленского. 19-го мы паковали имущество на снятой под офис квартире. Жалел я тогда больше всего об упёртых у меня в Екатеринбурге 200 баксов (квартиру [livejournal.com profile] madera_, у которой я тогда гостевал, взломали и всё ликвидное утащили). «Виккор», впрочем, к ноябрю ожил и до лета 2000-го я там проработал.

А потом я ушёл в контору, которая занималась изготовлением сайтов. В CMS-ке Communiware обязательно ставился служебный сайт с адресом какой-то-хост/default. В какой-то момент сайт нам заказали СПС, в руководство которого тогда входил Кириенко. В результате мы с [personal profile] vitus_wagner придумали шутку:

— А Вы знаете, что находится по адресу www.sps.ru/default?

Портрет Кириенко, впрочем, мы на эту страницу так и не повесили.
beldmit: (Программизм)
Время от времени какое-нибудь поделие, основанное на autotools, прекрасно отрабатывает configure, но при запуске make внезапно требует конкретную версию кого-то из autotools. Номер версии может ни разу не биться с тем, что установлено в системе.

Мне это удалось обойти, когда я внимательно прочитал сгенерированный Makefile и посмотрел, для чего эти autotools нужны. Мне хватило сказать touch Makefile.in aclocal.m4, чтобы сборка перестал требовать automake-1.14 и aclocal-1.14. После этого все зависимости уже сгененированного Makefile оказались удовлетворёнными и сборка прекрасно собралась. Файлы, которым надо указать, что они на свете всех новее, определяются самостоятельно для каждой программы.

Update: Вот тут даётся объяснение, почему оно так и кто на ком стоит.
beldmit: (Default)
Время от времени я сравниваю электричку с дачи с автомобилем. автомобиль всё тот же 10 лет, сейчас его водит Надя Ленская. Электрички тоже примерно те же. А вот шоссе и ситуация в экономике меняется.

В общем, от дачи до станции Царицыно на машине сегодня оказалось ровно столько же времени, сколько на электричке. Сравнения давали разные результаты, но безоговорочно машина выигрывала на моей памяти всего пару лет, даже если сравнивать в режиме из двери в дверь.

Автобус от «Каширской» до «Профсоюзной», надо сказать, даже в утренний час пик ехал шустро и по сравнению с метро время мне экономит. Больше всего в перспективе реновации, собственно, меня не устраивает то, что я утрачу транспортную связность, которая сейчас очень приличная — 10 минут пешком до метро и автобусы по Нахимовскому.
beldmit: (Программизм)
Получил номер 8446. В большинстве браузеров и у крупных CDN-провайдеров уже включен, в OpenSSL поддержку сделают, думаю, до середины сентября, в долгоживущем релизе 1.1.1.

Запись в блоге Cloudflare с объяснением, чем новая версия отличается от более ранних. На английском, очень подробное, со ссылками на предыдущие статьи. А вот тут на русском очень хорошее изложение нового протокола и изменений от Саши Венедюхина.

Моя статья с кратким изложением основных изменений.
Ещё одна моя статья, с рассказом про то, как в TLS 1.3 пытались встроить возможность прослушивать трафик внутри датацентра.

Российские стандарты на тему TLS 1.3 раньше конца следующего года ждать бессмысленно, а реализации, соответственно, ещё через некоторое время. Я в «Криптокоме» пока что не успеваю даже свежую спецификацию 1.2 реализовать.
beldmit: (Манул)
Программист, писавший значительный кусок кода, уволился и уехал на Запад. Вчерашний выпускник ВМК, которому велено дописать ключевую фичу до релиза, заглядывает в доставшийся ему код, и видит там спагетти.

Джуниору предстоит достучаться до бывшего коллеги, преодолев спам-фильтры, файрволлы, NDA, десяток часовых поясов и языковый барьер между Java и Haskell, чтобы релиз вышел вовремя.
beldmit: (Человеческое лицо)
В своё время, когда я поделился впечатлениями от «Рек Лондона» Бена Аароновича, мне [livejournal.com profile] stray_cat_mary рассказала про Кейт Гриффин и её сериал про Мэтью Свифта (на русский, к сожалению, не переводился). Я его скачал себе в Рыбинск и с удовольствием надчитал (пока 2 из 4 книг, потому что английский у Гриффин очень богатый).

У Аароновича магия ближе к классической, там есть магические существа — духи вод, единороги, ещё кто-то — и люди, умеющие заклинания, мало чем отличающиеся от описанных в AD&D Player's Handbook. У Гриффин же главный герой в самом начале атакован по сути мусорным элементалем, спасается он от голодной тени, зайдя в метро и зачитывая в качестве заклинания правила пользования — без билета тень проникнуть за турникеты не в состоянии, оживший кухонный жир заклинается именами городских мусороуборочных компаний, а байкеры могут срезать дорогу между городами, склеив пространство. И эта концепция мне очень нравится — классическая магия выросла из взаимодействия с силами стихий, и современная магия выглядеть должна, ИМХО, так, как её описывает Гриффин. Что не мешает существовать друидам, пророкам и прочим представителям более классических школ.

В своё время мы с [livejournal.com profile] osting обсуждали концепцию городского рейнджера — специалиста по выживанию в городе. Он знает, где переночевать, где поесть подешевле, представляет себе криминальный рейтинг районов и т.п. Но вообще интересно, пытался ли кто-то адаптировать AD&D-шную классику к современным реалиям? Модуль Андрея по «Тайному городу», ИМХО, был прикольным (при моей нелюбви к этому миру и сериалу), но может быть, кто-то уже сделал игровую систему, специально под это заточенную?
beldmit: (Манул)
Второй кусок летнего отпуска я провёл под Рыбинском, как всегда. Солнце, тёплая вода в водохранилище, сколько-то геморроя с велосипедами, грибов-ягод в этом году мало, так что в основном купались.

Но тут вот захотелось мне закрыть гештальт и доехать до Пошехонья. А то в Мышкине был, в Угличе был, в Тутаев собираюсь, а в Пошехонье (во времена моего детства — Пошехонье-Володарск, на автобусах — П.-Володарск) не был.

Мы провели там 3 часа. Примерно на 2 часа больше, чем город того заслуживает.

Данная в 1849 году Аксаковым характеристика «По сравнению с Пошехоньем Рыбинск выглядит столицей» в 2018 году полностью сохраняет актуальность. На сувенирных магнитах изображают советского пионера-горниста, дома стоят в небрежении (кроме здания Сбербанка). Более-менее в порядке только Гостиный двор. Красивый вид на реки. Музей «Русь советская» (не ходил). Почти никого из молодёжи на улицах — только тётки советского вида (скорее всего, если подумать, мои ровесницы).

Соседка по даче, когда я поделился с ней впечатлениями, сказала, что когда в Рыбинск народ из Пошехонья приезжает устраиваться, молодёжь в один голос говорит, что в городе делать нечего — только пить. Верю.

Что отдельно стоит отметить — памятник матери, провожающей на войну семерых сыновей. Была семья в одной из деревень (Вощиково, кажется), 7 сыновей отправились воевать, и не вернулся никто. Как-то в детстве по-другому такие истории воспринимались...

В общем, гештальт закрыт и заколочен досками.
beldmit: (Манул)
Во время отпуска в Рыбинске пронаблюдал борщевик Сосновского в полный рост и во всей мелрзкой красе вдоль шоссе, за редкими исключениями.

Кое-что из ФБ на эту тему, чтобы не пропало.

Твёрдый, несгибаемый борщевик "Ленинец".

— Были идеи открыть совхоз "Красный Борщевик" и фабрику "Борщевичка"
— И что должны выпускать эти совхоз и фабрика?
— Совхоз может выпускать силос и волокна, фабрика шить из этих волокон одежду.
И надбавку за вредность работникам.
— В конце концов, совхоз может держать коров, которые борщевик будут есть. Молоко после этого горькое, но можно сделать уникальный российский брендованный сыр.
— «С благородной горчинкой». Всё, как всегда, упрётся в упаковку и позиционирование.
— А укроп переименовать в менщевик

— ЭТО ЧТО ЗА БОЛЬШЕВИК ЗАБРАЛСЯ НА БОРЩЕВИК?
— Протянул мне робко ты эти скромные цветы...
Двухметровые, нехилые!

А вот это уже печально, и надеюсь, что реакция индивидуальная.
— Граждане, что там борщевик, вчера сняла паутину с прохода в кустах - рукой, чтобы не мордой, и к счастью: паутину долго не могла отклеить, а потом на этом месте образовался ожог, разветвлённый, опухший и красный. Оттёрла спиртом. приняла лоратадин. Отпустило,но след виден.

Ещё я узнал, что на Ярославщине приняли программу по борьбе с борщевиком. По её итогам должен быть составлен список кадастровых номеров участков, на которых он растёт. «Значок! Покажи ему свой значок!» — там достаточно проехать вдоль любой асфальтированной дороги. чтобы найти борщевик quantum satis.
beldmit: (Программизм)
Под утро приснился сюжет повести о попаданце, который донёс до товарища Сталина, сэра Уинстона Черчилля, президента Рузвельта, нужное подчеркнуть, схему Диффи-Хеллмана и принципиальную схему алгоритма DES. Так как его засекретили вместе с результатами, будущее не изменилось.
beldmit: (Манул)
Сраженный болью головною,
Я, как поэт, исправно ною.

Вот Наше Все На Каждый День -- он тоже описал мигрень:
"И внял я неба содроганье, и горний ангелов полет, и гад морских подводный ход, и дольней лозы прозябанье".

Да, все бывает ровно так: лежишь в постели, как дурак, а слышишь, как предрек А. С., лишь содрогание небес. Не знаю, что там за банкет, но в небесах дрожит паркет, а горний ангелов полет мне по башке кувалдой бьет. Да и любой подводный гад добавить лепту только рад.
От звуков, как растет лоза -- буквально слезы на глаза. Ведь это ж надо, вашу мать, с подобным скрипом прозябать!

Вот мышь шныряется в траве -- и тоже мне по голове. Шумят зеленые леса, щебечут птичьи голоса -- и каждый милый голосок вбивает гвозди мне в висок.
И в целом каждый дивный звук -- для головы источник мук.

Отсюда
beldmit: (Программизм)
Есть софтина под Linux, которая желает ставиться в /opt.

Есть другая софтина, которой нужна первая для сборки. В смысле, зависимость от установленных библиотек и заголовочных файлов.

Практически правильное решение — собрать первую софтину, запакетировать, поставить (нужен root), собирать вторую. Хочется обойтись без root-а. Возможно ли сие?

Update: FAKECHROOT_EXCLUDE_PATH=/usr:/tmp:/var:/bin:/dev:/proc:/lib fakechroot chroot `pwd`/sandbox

sandbox готовить по вкусу.

Стоит ли овчинка выделки, пока не понял.
beldmit: (Программизм)
Когда-то в ТЦИ делали исследовательский проект по интернациональной почте (то есть с не-латиницей до собаки). Я в рамках этого проекта начал реализовывать драфт по поддержке таких адресов в X.509-сертификатах. Реализовал, понятно, с ошибками, но патч засабмитил, его почитали в OpenSSL и заставили переделать драфт. В итоге документ стал RFC 8398 только в этом году.

Автор документа меня, однако, запомнил, и спросил, не допилю ли я патч. Начал допиливать и стал изживать одну из претензий к собственно патчу — зависимость от лишней библиотеки в OpenSSL сочли недопустимой. Ок, всего одна функция. Причём частично прописана в RFC в формате C-шного кода.

А дальше, блин, начинается кино. Разбить доменное имя на части по точке. Сконвертировать каждую часть в последовательность байт (UTF8 же), склеить. Не вылезя нигде за пределы буфера. А длину буфера вернуть, чтобы вызывающая сторона знала, какой буфер передать. В общем, тут даже при готовых функциях то, что на Perl с использованием библиотеки — три вызова, split, map и join, на C даёт пол-экрана.

Написать я это написал. Даже скомпилировал. А вот запускать и отлаживать страшно.

Специально для [personal profile] ufm: нет, не-ASCII символы в именах доменов и email-адресах — не коварный замысел страшных любителей чебурнета, а нормальный ход нормальных любителей денег. Которым аудиторию по месту (нелатиноалфавитную) очень хочется расширить.
beldmit: (Default)
Так как дома супы я люблю больше, чем все остальные члены семьи вместе взятые, но готовить их и Нине, и мне лениво, то я обычно перебивался в нерабочие дни, когда супа в столовой не купишь, роллтоновской лапшой. А некоторое время открыл для себя турецкие или псевдотурецкие бобовые супы Yelli. Налил воды, довёл до кипения, высыпал, (в общем-то можно даже не солить), оставил на полтора-два часа. Выключил. Съел.

Полтора-два часа мне проще найти на выходных, но вообще надо попытаться освоить мультиварку, чтобы не быть прикованным к дому на время готовки.
beldmit: (Человеческое лицо)
В четверг Лондона нам почти не досталось — с утра вокзал Паддингтон, фотосессия с одноимённым медведем (к счастью, там нет такой толпы желающих, как с Гарри Поттером), потом поезд, Оксфорд и возвращение без задних ног. Про Оксфорд напишу отдельно, он того стоит.

Пятница лично мне не зашла. Попытка впихнуть невпихуемое тут оказалась особенно тяжкой. С утра зашли в Аббатство. Пока стояли в очереди, наслаждались резьбой, а дальше надо или двигаться с путеводителем по собору, или смотреть по сторонам и под ноги, продвигаясь к выходу. А так как мы хотели ещё много всего, то пошли по второму варианту. Рванули к Сент-Джеймскому парку, чуть-чуть погуляли вдоль прудов и пошли к Бекингемскому дворцу смотреть на развод караула. Увидели мало, и пошли в обход дворца вдоль стеночки. Кроме королевских конюшен и пары домиков, прочее увиденное я обозвал «Великой Бекингемской Стеной». В общем, потраченного времени этот обход не стоил, пока не вернулись к памятнику Веллингтону и паркам. Оттуда прошли по Стрэнду и чему-то ещё к Пикадилли и поехали в Зоопарк. Зоопарк толком не посмотрели, потому что сначала нас отправили не на тот автобус, потом прошли к нему пешком, потом, посмотрев змеюшник, где снималась сцена по Гарри Поттеру, Юля стала нас понукать в сторону музея Шерлока Холмса. В итоге от Зоопарка мы просмотрели примерно треть. Музей был лично мне интересен куда меньше, чем зоопарк, к нему была очередь, в London Pass он не входил, так что в итоге я забрал Татьяну и мы с ней пошли в Риджент-парк. Там были клёвые птицы, клёвые розы и клёвый фонтан. В итоге мы воссоединились (я был очень недоволен, что зоопарк мне не дали посмотреть, и шипел на семью пол-вечера), посмотрели единственный лондонский дом в стиле классического модерна (построен антропософами в память о Рудольфе Штайнере) и поехали на London Eye. Это было офигенно, хотя полтора часа в очереди меня огорчили изрядно. В общем, перенасыщенный день.

В субботу утром поехали сначала вдвоём с Ниной в окрестности Флит-стрит и дальше куда глаза глядят, потом вернулись и уже вместе поехали по музеям. Мы с Таней пошли в Музей Естественной Истории и потом в Музей Науки, остальные — в Музей Виктории и Альберта. Таню тянуло к интерактиву, меня — к чему-то знакомому вроде чеерпов далёких предков. Показал девице скелет игуанодона из любимой песни Никитиных. После музеев поехали в Кью-Гарденз. День был очень жаркий, и температура в оранжереях мало отличалась от температуры на воздухе. В оранжерее офигенные кактусы и прочие суккуленты, а также клёвые хищные растения. Последний забег дня был вдоль Парламента с памятниками Кромвелю и Ричарду Львиное Сердце. Оттуда сделали с Ниной вылазку к Ламбетскому дворцу, пока остальные прохлаждались в парке (потом узнали, что Ламбетский дворец проектировал тот же архитектор, что и Алупкинский дворец в Крыму), и вернулись в отель.

Отлёт особо упоминания не заслуживает, кроме того, что, как всегда, моя тревожность противостояла в аэропорту нининой расслабленности и общему желанию поесть (позавтракать не успели), а ещё нас загнали в терминал с малозаметным паспортным контролем (видимо, по факту при распечатке талона) и без сувениров. БОльшую часть обратного рейса в итоге я продрых.

Поездка сейчас, когда я вышел из режима гонки, оставляет приятные воспоминания, несмотря на всю нервотрёпку. Но планы и приоритеты согласовать, конечно, стоило отдельно.
beldmit: (Программизм)
Когда писали Коран, водку не изобрели. Поэтому некоторые мусульмане её пьют.

Когда начинали писать OpenSSL, Unicode ещё не распространился. Поэтому иногда, ковыряясь в OpenSSL, мне хочется выпить водки.

Собственно, реализую потихоньку RFC 8398. О пользе этого стандарта у меня мнение отдельное, но начал я там ковыряться ещё во время проекта по интернациональным email-адресам в ТЦИ, и хочется довести дело до конца. Да и по-хорошему все расширения X.509 надо бы подружить с Unicode, это уже для России вполне актуально. Вот сделал вывод EAI как набор байтов, но надо будет как уникодную строку.

Отдельная проблема в том, что Unicode я не до конца понимаю, а чем вывод в терминал последовательности байт как байт и той же последовательности как уникодного символа – не понимаю почти совсем. Но список функций (X509V3_EXT_val_prn, X509V3_EXT_print и ещё парочку) под дальнейшее допиливание составил. Задача — сделать опцию nameopt работающей с extensions так же, как и с полями основного сертификата.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 29 3031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 1st, 2026 02:00 pm
Powered by Dreamwidth Studios