to post messages and comments.

@OCTAGRAM:

На фотографиях с Венеры находят какую-то дичь, не менее забористую, чем лицо на Марсе

Также оттуда:
На Венере все горы, кроме горы Максвелл, имеют женские имена.Гору Максвелл заметили давно, а вот потом Венеру изучили получше, в частности, плотность 90 атмосфер, температуру 500 градусов по Цельсию и серную кислоту в атмосфере, и решили, чтоб на Венере было всё женским. Нулевой меридиан ещё назвали Евой.

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

@OCTAGRAM:

Тайна XIX съезда
Съезд этот интересен тем, что, начиная от Хрущева, любую память о нём партноменклатура старалась тщательно уничтожить. При Брежневе начали выпускать стенограммы всех съездов ВКП(б) и КПСС и следующих за ними пленумов ЦК, на которых происходили выборы руководящих органов. Выпуск начали интересно — со стенограмм I-го и сразу ХХ-го съездов партии. А когда издание этих документов довели до материалов XVIII съезда ВКП(б), то на нем печатание стенограмм и прекратили. Почему? Ведь XIX съезд — это публичное мероприятие, парадное. На нём присутствовали делегации всех зарубежных компартий, масса журналистов. Что же здесь скрывать?

@OCTAGRAM:

Почему-то компилятор жутко тупит над производными типами. Вот, например, type TDateTime = type Double. Логично сделать так:

TDateTime(SysUtils.StrToFloat(…))Ан нет, E2089 Invalid typecast. Может, проблема в том, что результат StrToFloat — Extended, а не Double?
TDateTime(Double(SysUtils.StrToFloat(…)))Всё равно E2089 Invalid typecast. Да как же так? Сам ты инвалид!

Что самое удивительное, работает, если приведение типа НЕ ДЕЛАТЬ:
SysUtils.FormatDateTime(…, SysUtils.StrToFloat(…))Вот так компилируется и само приводится сквозь все Extended, Double и TDateTime, хотя я бы сильно не хотел, чтоб число с плавающей точкой случайно могло стать OLE датой/временем.

Ещё это сильно мешает привязки делать. По привычке возьмёшь напишешь type TPluginItem = type Pointer, и начинает тебе компилятор мозг выедать на ровном месте, а на неровном — соответственно, не выедать. Плюнешь, переделаешь в указатель на пустую запись с уникальным именем. Вот теперь получился указатель, который «не похож» на произвольно взятый другой указатель, но, к сожалению, всё ещё похож на указатель, чего лишний раз не хотелось бы, и от чего производный тип должен был спасти. Гипотетически для непохожести можно завернуть ещё дополнительно в запись, но тогда может сломаться работа с внешней библиотекой, ибо Delphi получает запись-результат всегда через дополнительный указатель, даже если она меньше размера двух указателей, как предписано stdcall. И тем более результат с плавающей точкой таким образом не приедет через регистр сопроцессора.

А вот на Аде берёшь и пишешь type OLE_Date_Time is new Long_Float или type Plugin_Item_Type is new Address, и работает это именно так, как ожидаешь. Одно в другое случайно не сконвертируется, а по требованию — всегда пожалуйста, без этих дурацких непонятных ошибок. И, конечно, на Аде, когда пишешь пакет, можно просто написать в публичной части type Plugin_Item_Type is private, и всё, внутреннее устройство для внешнего мира становится непрозрачно. Если нужно, функции конвертации из/в Address можно написать в дочернем пакете, чтоб глаза не мозолило в родительском. А то в Delphi, C и C++ вечно свалка в пространстве имён, хочется закрыться руками от падающих отовсюду в пространство имён гор мусора.

@OCTAGRAM:

По техническим причинам пополнение персонального счета временно недоступно.
Российские сатанисты, продающие статьи за деньги, даже деньги нормально собрать не могут. Sci-Hub не помог. Автор статей год назад умер и в обход системы не пошлёт статью.

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

@OCTAGRAM:

Кракозябры по-английски — Mojibake

@OCTAGRAM:

До чего же пространно указываются схемы подписи запросов на биржах. Во-первых, у каждого свои, во-вторых, постоянно непонятно, как что (де)кодировать, и нужно ли. В Poloniex секрет — очевидно шестнадцатеричная строка, но декодировать её не нужно, а в Cryptopia — очевидно Base64 строка, но декодировать её оказалось нужно. Или sha256 напишут, а потом сиди гадай, это SHA-256 в шестнадцатеричном виде в нижнем регистре или двоично, хотя всё остальное рядом — текст. В Kraken выясняется, что двоично, хотя всё остальное рядом — текст. URL в Kraken — это не то, что вы подумали, а только путь URL, как можно понять, перебрав всякие варианты кодирования/декодирования/некодирования/недекодирования остальных вызывавших сомнения элементов схемы и подсмотрев, наконец, в чужих реализациях.

Увидев в документации Cryptopia такое:
URI: the request uri. e.g. https://www.cryptopia.co.nz/Api/SubmitTradeОбрадовался, подумал, ну хоть что-то написали понятно. Вот, у кого Кракену бы поучиться. И думал я так, пока не запарился пытаться пробиться и не посмотрел опять, как делают другие:
strtolower( urlencode( $uri ) )
Как же вы мне все дороги.

@OCTAGRAM:

На портале онлайн-рекрутинга Huawei поле «текущее место проживания» обязательное, при этом в Российской Федерации нет Алтайского края, да и Новосибирская область ужалась до Новосибирска. Мысли разные полезли, но в Китае Алтайского края тоже не обнаружилось. Попробую ответ на запрос списка городов/областей подменить, посмотрим, как система отреагирует. Будем считать началом собеседования.

@OCTAGRAM:

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

Это с учётом того, что в ОТО время замедляется, но без учёта того, что и пространство искривляется. Я вот сходу не могу ответить на вопрос, становится больше или меньше объём вокруг массивного тела, но вроде что-то должно меняться.

@OCTAGRAM:

Попробовал сегодня удаление матрикса лазером. Хирург поставил местную анестезию, и это была самая болезненная часть. Чего-то откромсал инструментами. А потом работал лазером. Что-то шипело, как будто паяли, но это и недалеко от истины. Сквозь анестезию что-то паршивое пробивалось, а, может, это только кажется, как при фантомной боли. Если не фокусироваться, терпимо. На всё от силы 20 минут, столько времени выделяется на приём.

Лёжа горизонтально, воочию я это не видел, и я бы вообще глаза закрыл, пока не закончится, но как знает любой завсегдатай хирурга, так нельзя, врачу надо контролировать состояние.

И даже такой метод — всё равно не гарантия, что глючный ноготь не врастёт опять. Глючить — так глючить!

@OCTAGRAM:

Утверждается, что YAML синтаксически — надмножество JSON, и если загнать JSON в парсер YAML, то всё прочитается. На практике получается, что libyaml спотыкается на \/ в строке. Вообще говоря, экранировать прямую косую черту нужно только в HTML, чтоб там </script> ненароком не получился, а если Content-Type: application/json; charset=utf-8, то смысла нет, но некоторые движки на всякий пожарный всё равно экранируют.

@OCTAGRAM:

Памперс или Гагарин?

Комментарий для @Renha и @L29Ah по поводу «забывчивости» неруси. Из книги Ходаков В.Е. Научные школы компьютеростроения: История отечественной вычислительной техники.

@OCTAGRAM:

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

Фашизм в психоневрологии

Наркозависимость есть? А если найду?
Что будет с детьми, если в школе им проведут всеобщее наркологическое обследование, чего-то найдут и направят на «лечение». Что будет с детьми, если родители вдруг на минуту забудут, что живут они уже не в СССР, и отдадут детей на «лечение» от компьютерной зависимости добровольно.

Лечиться от зависимости теперь опасно для жизни

@OCTAGRAM:

3proxy может сильно тормозить, если часть DNS не отвечает. Почему-то он менее остальных серверов приспособлен к таким ситуациям. Либо в настройках по умолчанию 15 секунд — слишком большой таймаут для DNS.

@OCTAGRAM:

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

Надо будет независимыми утилитами перепроверить все расчёты. Не врёт ли мне клиент по другую сторону. В ГрейЛинке хеш для папок — устаревшая фича в пользу dcls, я в контекстном меню скачанного списка файлов вижу опции «получить магнитную ссылку» неактивным цветом. Только в поиске по TTH вижу файл и папку вместе.

@OCTAGRAM:

Примечательно, что Youtube-DL способен выкачивать видео, заблокированные в России, без прокси. Сервера ютуба часто рвут такие соединения, надо ключик -R infinite прописать, чтоб ytdl не нервничал. До того, как соединение порвётся, килобайтики успевают пробежать. Процесс успешно завершается в обозримое время.

@OCTAGRAM:

Решил не так давно делать веб-запросы в программе на необновлённом Indy. Кто его знает, этого заказчика, сможет он свежую поставить или нет. Узнал много нового. Оказывается, обычная библиотека OpenSSL к Indy не подходит, потому что там требуются некоторые функции специально для Indy вроде SSL_CTX_set_options_indy. Думаю, раз она в комплект не входит, надо скачать её с сайта Indy. А вот и нет! Где библиотека, где патч, интересные люди, однако.

Полазив по форумам, нашёл такую ссылку. Скачал самую свежую. Не подошло. Методично качал другие версии с конца, потом методом дихотомии, потом тупо взял самую старую версию. Смотрел в ФАРе, есть там эти долбаные нестандартные функции или нет. Нету. Нигде. Заглянул в архив и там прямо явно видно версии с Indy в названии. Наверное, оно. Скачал 0.9.8l. Не подошло. Скачал 0.9.8h. Не подошло. Действительно, если смотреть, что там внутри, то префиксы _indy видать, но это не всё, что нужно. Оказывается, IdSSLOpenSSLHeaders10.pas там не для красоты, и без него не работает. Я ведь хотел, чтоб Indy не пересобирать, думал, на интерфейс к новым функциям можно забить, а оказывается, что там и основной интерфейс переделан, поэтому каких-то нестандартных функций нет. Впрочем, пересобирать весь Indy не пришлось, достаточно было положить только этот файлик под правильным именем в директорию проекта, он заменил собой предустановленный dcu и нормально скомпоновался с остальными модулями.

Потом выяснилось, что хотя в Delphi 2007 версия Indy 10, но если бы я на сайте Indy зашёл в Indy 9, то там была бы ссылка на SSL Support DLL's, а оттуда — на Fulgan. Если б знал, что там всё настолько плохо, попробовал начать с WinInet. Авось его неумение в SNI проканает.

@OCTAGRAM:

Пример реализации автоматического тестирования кода на JavaScript при помощи фреймворков Chai и Mocha

@OCTAGRAM:

К концу 60х – началу 70х годов в СССР сформировались следующие научные школы ЭВМ:
❑ Киев, Украина – руководители и основатели Лебедев С.А., Глушков В.М., Малиновский Б.Н.
❑ Москва, Россия – руководители Лебедев С.А., Брук И.С., Брусенцов Н.П., Бурцев В.Е., Карцев М.А.
❑ Пенза, Россия – Рамеев Б.И.
❑ Ленинград (Санкт-Петербург), Россия – Старос Ф.Г.
❑ Минск, Белоруссия – Пржиялковский В.В., Лопато Г.П.
❑ Северодонецк, Украина – Резанов В.В., Новохатний А.А.
❑ Ереван, Армения – Овсепян Г.Е., Маргилян С.
❑ Харьков, Украина – Сергеев В.Г., Айзенберг Я.Е., Кривоносов А.И.

Иллюстрация и текст из книги Ходаков В.Е. Научные школы компьютеростроения: История отечественной вычислительной техники (2010) (стр. 152)

@OCTAGRAM:

Нашёл на местном рынке молотый в порошок чеснок. Хорошо пошёл как приправа, в салаты лучше, чем перец, каши получаются душистые, чечевица тоже, но не в виде супа.

@OCTAGRAM:

Сделал правило: -t nat -A OUTPUT -p tcp -m tcp --dport 10000 -j REDIRECT --to-ports 80
Проверяю:
wget -O — --header="Host: checkip.dyndns.org" checkip.dyndns.org:10000 ; echo
Connecting to checkip.dyndns.org (checkip.dyndns.org)|216.146.43.71|:10000... failed: Connection refused.

В чём же дело?