Про интерпретируемые языки
Sep. 3rd, 2020 01:27 pmЗа что я люблю C, так это за невозможность прострелить себе ногу способом «не то имя переменной». Есть масса других, не менее романтических, но этого — нет. У Perl есть use strict и -wc, у Python приходится прикручивать внешние линтеры.
Тут пришлось немного попрограммировать на bash, и после толпы ошибок системы «забыл пробел перед скобкой» я нашёл утилиту shellcheck - линтер для shell-скриптов. Написан на хаскелле, но это я переживу.
Ловит глупые и не очень ошибки. Я его поставил из buster-backports и запускаю с -S warning (в более древних версиях этой опции нет), а то он слишком много говорит. Понимает несколько shell-овских диалектов.
Тут пришлось немного попрограммировать на bash, и после толпы ошибок системы «забыл пробел перед скобкой» я нашёл утилиту shellcheck - линтер для shell-скриптов. Написан на хаскелле, но это я переживу.
Ловит глупые и не очень ошибки. Я его поставил из buster-backports и запускаю с -S warning (в более древних версиях этой опции нет), а то он слишком много говорит. Понимает несколько shell-овских диалектов.
Ещё пачка ссылок. Оптимизация под Intel.
Sep. 2nd, 2020 12:20 pmУволок из диалога с Алексеем Тутубалиным в Фейсбуке
На всякий случай: я не считаю, что сейчас надо заморачиваться именно на ассемблер, большинство C-шных компиляторов сейчас умеют так называемые compiler intrinsics, которые по сути обычные функции с C-шным интерфейсом, но компилируются в ассемблер и работают быстро.
Но, собственно, описание лучше всего на сайте Intel, и там именно ассемблерные команды.
Intel Intrinsics Guide. Очень удобно, можно фильтровать по наборам инструкций. Надо понимать, что часть наборов у AMD и у Intel отличаются. Заморачиваться ли в этом месте вообще на интринсики - дело вкуса.
Intel® 64 and IA-32 Architectures Software Developer Manuals
Как пофиксить торможение при переключении между использованием AVX и SSE
Optimizing subroutines in assembly language. An optimization guide for x86 platforms от Агнера Фога.
Его же сайт, кусок про оптимизацию.
На всякий случай: я не считаю, что сейчас надо заморачиваться именно на ассемблер, большинство C-шных компиляторов сейчас умеют так называемые compiler intrinsics, которые по сути обычные функции с C-шным интерфейсом, но компилируются в ассемблер и работают быстро.
Но, собственно, описание лучше всего на сайте Intel, и там именно ассемблерные команды.
Intel Intrinsics Guide. Очень удобно, можно фильтровать по наборам инструкций. Надо понимать, что часть наборов у AMD и у Intel отличаются. Заморачиваться ли в этом месте вообще на интринсики - дело вкуса.
Intel® 64 and IA-32 Architectures Software Developer Manuals
Как пофиксить торможение при переключении между использованием AVX и SSE
Optimizing subroutines in assembly language. An optimization guide for x86 platforms от Агнера Фога.
Его же сайт, кусок про оптимизацию.
Постреволюционная топонимика
Aug. 28th, 2020 12:11 pmОт застрявшего в голове мусора надо избавляться. Вот пригрезился в Кимрах каламбур "улица Упырицкого" и просится наружу. На вот, возьми её (наружу) скорей.
А вообще интересная тема постреволюционной романтической топонимики. Как в Рыбинске улицы Яна Гуса, Радищева, Герцена и Плеханова плюс-минус в самом центре. В Кимрах там Урицкий, Ленин, Киров, кажется, тот же Володарский. И внезапно на окраинах декабристы (Пестель и Муравьёв) и в центре Черниговский переулок, явно в честь полка.
Или, там, улица Красных Мадьяр в Иркутске.
А наверняка и диссер можно защитить...
Update: любопытный текст на эту тему — Очерки домашней топонимики
А вообще интересная тема постреволюционной романтической топонимики. Как в Рыбинске улицы Яна Гуса, Радищева, Герцена и Плеханова плюс-минус в самом центре. В Кимрах там Урицкий, Ленин, Киров, кажется, тот же Володарский. И внезапно на окраинах декабристы (Пестель и Муравьёв) и в центре Черниговский переулок, явно в честь полка.
Или, там, улица Красных Мадьяр в Иркутске.
А наверняка и диссер можно защитить...
Update: любопытный текст на эту тему — Очерки домашней топонимики
И ещё красивая атака
Aug. 19th, 2020 10:46 pmThe Sounds a Key Make Can Produce 3D-Printed Replica
Кажется, не для всех типов замков, не всегда точную копию, а не приближение, но всё равно нифига себе.
Красивая физическая модель хорошо известной в криптографии атаки по побочным каналам. Сигнал от шума не очень просто отделить, но при большом количестве попыток — запросто.
Кажется, не для всех типов замков, не всегда точную копию, а не приближение, но всё равно нифига себе.
Красивая физическая модель хорошо известной в криптографии атаки по побочным каналам. Сигнал от шума не очень просто отделить, но при большом количестве попыток — запросто.
Лингвоссылки
Aug. 19th, 2020 01:57 pmСо своим странным английским (проще обсудить протокол TLS, чем сказать продавцу, что хочу свёклу, морковку и йогурт) и необходимостью писать письма я давно пользуюсь костылём в виде Grammarly. Ловит лишние и пропущенные запятые, забытые артикли и множественное число (моё невнимание меня тут губит), и опечатки. Платную версию не покупал, ничего конфиденциального не пишу (во всяком случае Google большую часть того, что я пишу, видит и так). Рекомендую.
Помимо этого в коллекции ссылок (сам не пользовался):
LanguageTool — тоже пруфридер.
DeepL — какой-то автопереводчик, народ рекламировал как альтернативу Гуглю. С ним дружит Linguee для поиска фраз в контексте и перевода.
И сегодня в фейсбуке посоветовали для непонятных вопросов вот этот канадский сайт. Формальное описание:
TERMIUM Plus®, one of the largest terminology and linguistic data banks in the world, gives you access to millions of terms in English, French, Spanish and Portuguese. You can find terms, abbreviations, definitions and usage examples in a wide range of specialized fields. The data bank is an essential tool for understanding an acronym, checking an official title, finding an equivalent in another language, and much more.
Помимо этого в коллекции ссылок (сам не пользовался):
LanguageTool — тоже пруфридер.
DeepL — какой-то автопереводчик, народ рекламировал как альтернативу Гуглю. С ним дружит Linguee для поиска фраз в контексте и перевода.
И сегодня в фейсбуке посоветовали для непонятных вопросов вот этот канадский сайт. Формальное описание:
TERMIUM Plus®, one of the largest terminology and linguistic data banks in the world, gives you access to millions of terms in English, French, Spanish and Portuguese. You can find terms, abbreviations, definitions and usage examples in a wide range of specialized fields. The data bank is an essential tool for understanding an acronym, checking an official title, finding an equivalent in another language, and much more.
Очень красивая атака
Aug. 15th, 2020 11:25 amДля того, чтобы данные не утекали, в корпорациях внедряют всяко-разные системы. Сейчас на коне протокол TLS, поэтому часто эти системы работают в режиме атаки MITM и расшифровывают трафик. А в ипостаси firewall-а ещё и не пускают в странные места.
В протоколе TLS довольно давно сделали способ сказать, какой из хостов на одном IP-адресе нас интересует. Это называется SNI, передаётся открытым текстом. И поэтому троян идёт на управляющий домен, firewall глядит в SNI, блокирует, все довольны.
Делай раз: троян начинает слать в SNI левое имя. Командный центр умеет его преобразовывать в настоящее и шлёт сертификат.
Делай два: firewall начинает блокировать соединение при несовпадении имени в сертификате и в SNI. Но пакет до контрольного центра всё равно дойдёт.
Делай три: в SNI можно передать какую-то информацию. А так как firewall выдаст запрет, содержащий часть данных из сертификата, то таким образом можно управлять трояном снаружи.
Подробное описание атаки SNIcat
В протоколе TLS довольно давно сделали способ сказать, какой из хостов на одном IP-адресе нас интересует. Это называется SNI, передаётся открытым текстом. И поэтому троян идёт на управляющий домен, firewall глядит в SNI, блокирует, все довольны.
Делай раз: троян начинает слать в SNI левое имя. Командный центр умеет его преобразовывать в настоящее и шлёт сертификат.
Делай два: firewall начинает блокировать соединение при несовпадении имени в сертификате и в SNI. Но пакет до контрольного центра всё равно дойдёт.
Делай три: в SNI можно передать какую-то информацию. А так как firewall выдаст запрет, содержащий часть данных из сертификата, то таким образом можно управлять трояном снаружи.
Подробное описание атаки SNIcat
(no subject)
Aug. 7th, 2020 10:46 am— Куда же вы желаете выйти?
— В интернет! — ответил я.
— Это понятно. Но куда именно?
— Я еще не знаю, — сказал я. — Просто в интернет. В Глубокий интернет! В Свободный интернет!
Клерк устало вздохнул.
— Если вы хотите получить общий доступ, вам надо яснее выражать свои мысли. Вы собираетесь пользоваться сервисами в Американском интернете? А может быть, хотите эмигрировать в Китайский интернет? Или в Российский? Или в Индийский?
— Я не думал, что интернет может быть чьей-то юрисдикцией, ответил я.
(Оригинал, если что, Шекли «Я и мои шпики». Актуальный повод — решение Трампа о TikTok как угрозе национальной безопасности США)
— В интернет! — ответил я.
— Это понятно. Но куда именно?
— Я еще не знаю, — сказал я. — Просто в интернет. В Глубокий интернет! В Свободный интернет!
Клерк устало вздохнул.
— Если вы хотите получить общий доступ, вам надо яснее выражать свои мысли. Вы собираетесь пользоваться сервисами в Американском интернете? А может быть, хотите эмигрировать в Китайский интернет? Или в Российский? Или в Индийский?
— Я не думал, что интернет может быть чьей-то юрисдикцией, ответил я.
(Оригинал, если что, Шекли «Я и мои шпики». Актуальный повод — решение Трампа о TikTok как угрозе национальной безопасности США)
Code freeze
Aug. 7th, 2020 09:31 amС дачи хвастаться было не с руки. Если кто не в курсе, то часть репозиториев с GitHub архивированы и закопаны где-то в вечной мерзлоте. Нет, не вместе с авторами.
В список этих репозиториев вошли openssl (что естественно) и gost-engine (что приятно). А в GitHub коммитерам этого кода дали беджики "Arctic Code Vault Contributor"
Да, бесполезная медалька, но приятно.
В список этих репозиториев вошли openssl (что естественно) и gost-engine (что приятно). А в GitHub коммитерам этого кода дали беджики "Arctic Code Vault Contributor"
Да, бесполезная медалька, но приятно.
Про рекламу
Aug. 6th, 2020 06:53 pmЯ вернулся от очередной поездке к матушке в Рыбинск. Помимо быта, застывшего в 80-е (ну хорошо, автолавки у нас в 80-е не было, а водопровод для непитьевой воды - был), там есть телевизор.
В телевизоре 723 сериала про различные спецслужбы, медиков и прочую хрень. А в промежутках - реклама. А так как Рыбинск в Ярославской области, то реклама там бывает федеральная, а бывает местная.
Местная реклама в среднем выглядит как, грубо говоря, озвученное газетное объявление. Предлагаемая услуга, контакты. Очень кратко и по делу. Есть чуть более богатые рекламодатели — там начинаются претензии на художественность, ограниченные бюджетом. Но в общем, тоже терпимо.
А вот реклама федеральная — ужас, летящий куда-то. Рифмованные слоганы, какие-то мелодии, продажа счастья в полный рост. От некоторых шедевров хочется блевать резко и сразу.
Приятно разнообразят жизнь только реклама кошачьих кормов, но и то только потому, что я кошек люблю. Свои остались дома, матушкин кот умер в возрасте 16 лет и последние несколько лет его на дачу не брали, соседские пожрать не заходят.
Собственно про поездку, может быть, напишу позже, потому что ничего интересного.
В телевизоре 723 сериала про различные спецслужбы, медиков и прочую хрень. А в промежутках - реклама. А так как Рыбинск в Ярославской области, то реклама там бывает федеральная, а бывает местная.
Местная реклама в среднем выглядит как, грубо говоря, озвученное газетное объявление. Предлагаемая услуга, контакты. Очень кратко и по делу. Есть чуть более богатые рекламодатели — там начинаются претензии на художественность, ограниченные бюджетом. Но в общем, тоже терпимо.
А вот реклама федеральная — ужас, летящий куда-то. Рифмованные слоганы, какие-то мелодии, продажа счастья в полный рост. От некоторых шедевров хочется блевать резко и сразу.
Приятно разнообразят жизнь только реклама кошачьих кормов, но и то только потому, что я кошек люблю. Свои остались дома, матушкин кот умер в возрасте 16 лет и последние несколько лет его на дачу не брали, соседские пожрать не заходят.
Собственно про поездку, может быть, напишу позже, потому что ничего интересного.
Ещё один штрих к портрету эпохи
Aug. 1st, 2020 09:45 amПри затоплении Молого-Шекснинской низменности людей переселяли, произвольно оценивая сумму компенсации за обустройство на новом месте. Но песня не о том.
Жителей деревни Ягорба в 1940 году отправили в готовые дома на Карельском перешейке, отвоёванном у Финляндии. Они там поселились и обустроились, но в 1941 году им пришлось оттуда убегать. Многие погибли в блокаду, некоторые вернулись после войны и даже поменяли исходное финское название на Ягорбу (думаю, тоже угро-финнское). Потом переименовали обратно.
Жителей деревни Ягорба в 1940 году отправили в готовые дома на Карельском перешейке, отвоёванном у Финляндии. Они там поселились и обустроились, но в 1941 году им пришлось оттуда убегать. Многие погибли в блокаду, некоторые вернулись после войны и даже поменяли исходное финское название на Ягорбу (думаю, тоже угро-финнское). Потом переименовали обратно.
"Сарантийская мозаика" Гая Гейбриэла Кея
Jul. 27th, 2020 01:12 pmНе помню, кто рекомендовал мне эту книгу, но пока что мне очень зашло. Фентези-вариант Византии, с минимумом магии, но большим количеством интриг. Эпоха Юстиниана, легко узнать и Феодору, и наверняка знатоки эпохи опознают больше персонажей. Есть отсылки к хрестоматийному восстанию "Ника". Есть, разумеется, религиозные разногласия - иначе какая же это Византия?
Главный герой - изготовитель мозаик для тамошнего варианта храма Святой Софии. Туда я в свой единственный визит в Стамбул так и не попал, но надо сказать, что от мозаик Равенны я до сих пор под впечатлением.
Очень атмосферная книга, рекомендую.
Главный герой - изготовитель мозаик для тамошнего варианта храма Святой Софии. Туда я в свой единственный визит в Стамбул так и не попал, но надо сказать, что от мозаик Равенны я до сих пор под впечатлением.
Очень атмосферная книга, рекомендую.
И снова эллиптика
Jul. 24th, 2020 09:58 amВышел препринт статьи про оптимизацию эллиптики с участием
igus и моим.
Автор статьи Billy Brumley и его аспиранты, мы писали только ГОСТовые части текста, так что первым в списке я исключительно по алфавиту.
Автор статьи Billy Brumley и его аспиранты, мы писали только ГОСТовые части текста, так что первым в списке я исключительно по алфавиту.
Вот так живёшь и выясняешь, что в 7 километрах от дачи под Рыбинском открылся аэродром. Мелиорировали местность, построили взлётно-посадочную полосу и стартовали.
Понятно, что это ветка большого проекта "Ярославское взморье" и собственно до Рыбинска оттуда неудобно (50 км и пока нет дороги), но вообще интересно.
Понятно, что это ветка большого проекта "Ярославское взморье" и собственно до Рыбинска оттуда неудобно (50 км и пока нет дороги), но вообще интересно.
Менеджмент во время «Битвы за Британию»
Jul. 20th, 2020 10:42 amГде-то по сети ходил текст про то, как реорганизовали в первые дни Битвы за Британию менеджмент выпуска истребителей и всё вокруг, потому что пришёл новый начальник с гражданской службы и посмотрел свежим взглядом. Вчера я его сходу не нашёл.
Собственно, вопроса два:
- где этот текст
- насколько он соотносится с реальностью с поправкой штатные художественные преувеличения.
Update: https://george-rooke.livejournal.com/77450.html
Спасибо
maksa за поиск.
Собственно, вопроса два:
- где этот текст
- насколько он соотносится с реальностью с поправкой штатные художественные преувеличения.
Update: https://george-rooke.livejournal.com/77450.html
Спасибо
Вопрос к маководам
Jul. 11th, 2020 09:31 amЯ правильно понимаю, что на современных системах, если мне требуется сторонний ядерный модуль, то я должен через recovery mode сначала добавить производителя в разрешённые, а потом, отключив SIP, скопировать нужный драйвер к прочим драйверам и включать SIP обратно? Или вот этим включением и выключением SIP я что-то необратимо сломаю?
(После того, как я прописал производителя в доверенные, я могу дальше в принципе жить с kextload, но это вроде как тоже некошерно).
(После того, как я прописал производителя в доверенные, я могу дальше в принципе жить с kextload, но это вроде как тоже некошерно).
«Офицер и шпион»
Jul. 8th, 2020 10:15 pmКогда пару недель назад я прочитал «Офицера и шпиона» Харриса, мы договорились с Ниной посмотреть фильм. Потом выяснилось, что в подписку на ivi он попадёт после 1 июля, потом ещё потормозили.
В общем, посмотрели сегодня. Без всякой задней мысли и связи с политикой. Оно само, честное слово.
Последняя сцена (соответствующая книжной) — ярчайший пример того, как государство захавывает мозг даже честного человека.
В общем, посмотрели сегодня. Без всякой задней мысли и связи с политикой. Оно само, честное слово.
Последняя сцена (соответствующая книжной) — ярчайший пример того, как государство захавывает мозг даже честного человека.
Безопасное чтение файлов на C
Jul. 6th, 2020 08:19 pmСегодня я узнал про POSIX-функции getline и getdelim.
С обработкой строк на языке C геморроя очень много, но на сравнительно свежих системах проблему "прочитать строку из файла целиком аккуратно" наконец-то решили. Что характерно, в STL в 2004-м году, когда я последний раз в эту сторону смотрел, такая функция уже была.
С обработкой строк на языке C геморроя очень много, но на сравнительно свежих системах проблему "прочитать строку из файла целиком аккуратно" наконец-то решили. Что характерно, в STL в 2004-м году, когда я последний раз в эту сторону смотрел, такая функция уже была.