http://www.hardcoregaming101.net/downfall/downfall.htm
Вчера прошёл этот небольшой квест. Подобного опыта раньше никогда не
имел: побывать в шкуре психа, маньяка серийного убийцы. Причём... все
его действия и команды отдаются же человеком, все они разумны, логичны,
взвешены, само собой разумеющиеся. По началу графика тяготила, но потом,
по мере отождествляя себя с персонажем игры, она становится даже в тему,
другой и не стоило бы делать. В общем это мало похоже на классические
LucasArts квесты, но оно стоило того.
Сегодня решил добить и пройти классику квестов. Начал с Broken Sword,
потратил почте весь день, судя по Youtube прошёл при этом только около
четверти и желания продолжать нет. Очень затянутая, скучноватая,
медленная и нерасторопная игра. Да, хорошая графика, да отличная озвучка
всех диалогов, но за столько времени я не чувствую большого прогресса и
не втягиваюсь.
Зато Loom я прошёл за несколько часов (стандартный уровень сложности)! И
он очень понравился! Так как над ним работал бывший разработчик из
Infocom, то пришлось иметь под рукой ручку и бумажку, чтобы записывать
заклинания :-). Но оно стоило того! Игра совсем короткая, но не без
юмора и затягивает! Всё же лично для меня именно LucasArts-овские квесты
прям то что доктор прописал.
https://en.wikipedia.org/wiki/Beneath_A_Steel_Sky
Действительно очень достойный квест! Однозначно в списке лучших что я
играл! Хотя я и отвык от Lucas Arts-овского принципа того, что игрок
не может умереть.
http://www.opennet.ru/opennews/art.shtml?num=45160
Как же достали все эти феминистки, пидарасы и прочие уроды. Вот
обязательно им надо всё везде портить, гадить, поносить и провоцировать.
Относительно недавно поставил Abolish плагин от Tim Pope. И почти каждый
день, но что-то из его функционала да использую. Скоро я думаю дойду до
кондиции непонимания того как я жил без него раньше.
О своей текущей работе нигде не писал и не рассказывал публично. Пришло
время сообщить о важных недавно принятых бизнес решениях. Одна из самых
сложных задач при создании программного обеспечения, при организации
работ по нему -- это выбор имени библиотек, проектов, релизов. Это
тяжёлая часть планирования прошла успешно и вот какие названия релизов
были утверждены:
https://github.com/stargrave/balloon
За считанные дни она набрала like-ов больше чем тот же goircd. То ли
людям нравится когда кода мало и он умещается на один экран, то ли
нравится красота Balloon хэширования. Впрочем Balloon красив даже и
своей минималистичностью. Ну ни в какое сравнение с Argon2 не идёт:
последнего нельзя просто взять и запилить на коленке.
Для PyGOST и GoGOST библиотек создал выделенную почтовую рассылку
https://lists.cypherpunks.ru/mailman/listinfo/gost
Кроме того, tarball-ы обоих проектов распространяются на
http://www.cypherpunks.ru/ сайте. Для подписи tarball-ов используются
выделенные только для этой задачи ключи: pygost@cypherpunks.ru и
gogost@cypherpunks.ru.
Дистрибутив Debian с выпиленным systemd, судя по рассылке
debian-russian, народ вполне себе использует успешно. Это здорово. Сам
не пробовал, так как уже переехал на FreeBSD, а Devuan появился позже.
Но стоит иметь в виду если придётся где-то всё же установить GNU/Linux
(хотя потребности в этом нет уже годами).
https://habrahabr.ru/company/1cloud/blog/309696/
После того как первым пунктом идёт "Активировать режим SecureBoot" прям
хочется закрыть и заминусовать.
Постоянные обновления пакетов... на Ubuntu и Fedora bleeding edge всяких?
Ещё один плохой совет. Точнее если бы это были только обновления
безопасности. то тогда ещё всё ok.
Настройки ограничения доступа к Telnet и FTP... вот серьёзно, как много
и кто последний раз настраивал Telnet и FTP на только что установленных
GNU/Linux системах? Крайне мало современного софта и технологий
интегрировано (что конечно печально) с hosts.allow.
"Используйте только сильные пароли -- минимум из 8 букв" -- снова
хочется взять и закрыть статью. В каком веке мы живём чтобы не
рекомендовать парольные фразы? Всё-равно ведь всё хэшируется при
сохранении на диск.
А все остальные советы... мягко говоря банальны и я бы даже сказал что
не актуальны, так как подобным образом UNIX системы уже не используют.
Последнее время смотрел фильмы номинировавшиеся на премию Сезар плюс
"просто" французские. В основном драмы и мелодрамы. Но чуть-чуть
"перемешивая" с голливудщиной. И всё сильнее стал отмечать насколько же
безвкусны и пусты фильмы из США в массе своей. Безусловно, есть
достойные среди них, но крайне мало, скорее исключение из правил. Вот
красивую картинку делать они горазды, но не остаётся ничего после неё,
ничто не затрагивается, до вышибания слезы как до Луны. И даже забавно
как им не наскучивает сценарии делать настолько предсказуемыми и под
одну гребёнку.
Плюс если затрагивается тема любви, то в США в 100% случаев покажут
постельную сцену, без неё никак. Можно даже подобие Блум-фильтра
сделать: натравить алгоритм распознавания сосков (на Хабре были статьи
на эту тему -- он довольно хорошо работает) и если в фильме он не дал
положительного результата, то 100% он не из США, что резко сужает
множество возможных стран откуда он пришёл.
Argon2 библиотеки написанные на Go в не очень хорошем состоянии. У одних
старая (не Argon 1.3) реализация, у других только Argon2d режим, но не
Argon2i. GoVPN всё время использовал Argon2d, а должен был Argon2i.
Argon2i имеет потенциальные криптографические недостатки. И его
реализация с нуля не самое простое дело.
Решил поэтому реализовать Balloon хэширование и заменить им Argon2 в
GoVPN. Balloon нравится тем что очень простой: его можно взять и
реализовать, не шибко намного сложнее чем PBKDF2 какой-нибудь:
https://git.cypherpunks.ru/cgit.cgi/balloon.git/
Из-за Go в нём легко релизовать параллельную обработку чтобы можно было
усложнить задачу для многоядерных систем.
Соответственно GoVPN теперь переходит на эту библиотеку и выпущен major
(потому-что обратная несовместимость) релиз.
Вынужден признать, но в iPhone 7 есть интересный функционал
https://lenta.ru/news/2016/09/09/everything/
А именно из коробки встроенная фича "интим с москвичкой"! Если б не был
я ярым противником компаний распространяющих проприетарное ПО и DRM
технологии, то сдал бы отпечатки пальцев для получения визы, смотался бы
за коробкой iPhone-ов в Европу, забил на нравственность и есть надежда
что фича сработает независимо от внешнего вида пользователя.
Оказывается лицензии на ПО от Бернштейна, например qmail, были всегда
несвободными (хотя я никогда этим и не интересовался) и поэтому их
выпилили все разом из OpenBSD:
https://web.archive.org/web/20160419110701/http://archives.neohapsis.com/archives/openbsd/2001-08/2544.html
https://web.archive.org/web/20120204203539/http://archives.neohapsis.com/archives/openbsd/2001-08/2812.html
Посмотрел сабжевый фильм. И чем больше времени проходит, тем больше
понимаю насколько понравился -- постоянно в голове воспоминания о нём.
Вот же ж разница с Голливудщиной всякой -- о ней ни бита информации, ни
нейрона не затронется уже спустя полчаса после просмотра.
Всё не очень понятно в каком состоянии находятся стандарты по работе с
OpenPGP ключами размещаемыми в DNS. Например
http://gushi.org/make-dns-cert/HOWTO.html говорит о том что PKA запись
выглядит как TXT запись человекочитаемая. Прописал её, но
--auto-key-locate pka судя по tcpdump делает запрос не на TXT, а на CERT
запись и ничего не находит. Если "экспортировать" ключ с указанием pka
записи прямо из gpg, то он создаёт совершенно не похожую на
человекочитаемую pka запись, но оно зато работает с --auto-key-locate
(как минимум сообщает о том что узнала отпечаток). Экспорт DANE записи
создаёт полностью сертификат в DNS записи. --auto-key-locate
отрабатывает без проблем с ним. Добавил на домашней странице в разделе
контактов как можно получить запись через DANE.
Пока очень доволен им. Хотя ставить приходится сильно дальше обычного.
Впервые дома появилось что-то с разрешением выше 1280x1024 для компьютеров.
Причём с 1920x1080 есть мониторы в ~22", но они уж очень мелко всё показывают.
Мне показалось гораздо более удобным использовать GnuPG чем sha256(sum)
команду? Во-первых не требуется вырезать имя входного файла (если это
был даже stdin), во-вторых он разделяет выхлоп по восемь символов, что
сильно удобно если это надо сравнивать и читать человеком (а так зачастую).
https://gpo.zugaina.org/net-misc/govpn
Какого они качества не знаю и не могу оценить. Хотя немного напрягает
что там в скрипте (?) сборки указаны зависимости от Go-библиотек. Если
это чисто ради информации, то ничего страшного, но если они стягиваются,
то так быть не должно, потому-что все зависимости присутствуют внутри
tarball.
I've never understood why women love cats. Cats are independent, they
don't listen, they don't come in when you call, they like to stay out
all night, come home and expect to be fed and stroked, then want to be
left alone and sleep. In other words, every quality that women hate in
a man, they love in a cat.
https://www.youtube.com/watch?v=TxT0Ed0BKSI
Очень здоровская интересная лекция! Так и хочется её посоветовать тем
кто считает что раз Илон Маск что-то сумел сделать вышедшее в космос, то
типа мол всё -- он всех сделал. Ещё долгие долгие годы нужны чтобы хотя
бы сравниться по уровню с тем что есть сейчас.
Выложил всё что касается своего Vim в виде git-репозитория
http://git.stargrave.org/cgit.cgi/vim-dotfiles.git/
При этом ещё и разбил всякие сторонние плагины в виде пакетов
(эта фича появилась в Vim 8.0). Тут конечно нет внешних пакетов.
Плюс вынес из vimrc множество фунок и перенёс в plugin/ftplugin.
Sergey Matveev [Wed, 31 Aug 2016 19:33:39 +0000 (22:33 +0300)]
Асинхронный pylint в Vim
За эти несколько дней вылизал работу асинхронной реализации pylint
проверки в Vim (для 8.0). Мне кажется получилось очень круто. У коллеги
на работе видел как подобное делается в Emacs (не сам код, а как это
выглядело на практике) -- мне кажется добился такого же результата
(только небольшим количеством vimscript).
Всё это находится в http://www.stargrave.org/vimrc.txt (поиск по
PylintStart например).
* есть переменная g:lint_disable которая позволяет отключить работу
pylint автоматическую
* есть PylintStatus который можно засунуть в statusline и он будет
показывать запущен ли процесс проверки кода, Определяет он состояние
по b:lint_job -- замечу, который локален для буфера (то есть можно
иметь параллельно работающие pylint для каждого буфера)
* по нажатию <F6> запускается PylintStart. Он проверит что если
b:lint_job уже запущен, то он ничего не будет делать. Сам по себе он
запустит с кучей аргументов командной строки pylint натравленный на
текущий файл
* При этом во время его работы в statusline будет показано красным ярким
цветом что LN (lint) в процессе работы. Так можно понять что процесс
запущен
* Когда процесс завершится, то он вызовет PylintFinish. Эта функция
засунет весь pylint вывод в quickfix и расставит напротив каждой
строчки quickfix-а метку (sign) LN. По появлению полосы с метками
можно будет понять что имеются ошибки и pylint завершился (хотя в
statusline всё-равно пропадёт красный LN значок)
* Если при этом ошибок не было, то будет выведено зелёное сообщение что
pylint is clean. Плюс не будет видно полосы с метками об ошибках. Если
было открыто quickfix окно, то оно закроется, так как всё-равно при
отсутствии ошибок будет пустым
* Чтобы открыть quickfix окно, можно нажать <S-F6>. Лично я просто
годами запускал синхронно pylint нажимая <F6> и при этом мне всегда
показывалось quickfix окно
* При сохранении файла .py PylintStart запускается автоматически
Нечто подобное (только с гораздо большим количеством кода) умеет делать
flake8 плагин. Но в нём я у других видел большое недостаток когда он
автоматически запускается при сохранении файла -- он перезатирает
quickfix. В итоге использовать quickfix окно с результатом какого-нибудь
grep и при этом править Python файлы и сохранять их -- становится
невозможным. Разве что только открывать (:colder) предыдущие quickfix
результаты.
* Вместо vimgrep или :Ggrep я использую собственные чуть изменённые по
поведению функи :Vim и :Vmg. В них я просто добавил включение
g:lint_disable. Теперь вместо перезатирания quickfix окна при
сохранении .py я ничего не теряю. Обычно если .py редактируется вместе
с открытым quickfix, то наверняка это рефакторинг, для которого не
нужен моментальный pylint
* А вот нажатие <F6> форсированно выключает g:lint_disable. Теперь одним
нажатием можно включить автоматическую проверку pylint при сохранении
файла (ну и просто вызвать проверку)
В Emacs я видел поведение где, при неактивности в окне, он запускает
pylint -- при этом создавая временный файл на который будет натравлен
pylint. Думал об этом, но уверен что это вряд ли много пользы принесёт.
Если файл не сохранён, то (лично у меня) это почти наверняка совсем
синтаксически не валидный. :w я ещё и явно могу вызвать pylint,
независимо от таймеров. Плюс не париться об управлении временными
файлами.
Жизни без fugitive и surround не представляю. tbone использую очень
часто. mark и file:line тоже must-have. Tim Pope ещё известен как
создатель pathogen, но я менеджеры плагинов не использую.
Про abolish я всерьёз задумался и поставил его только сегодня. В кой да
веки возникла досада от того что в Vim нельзя родным :s сделать замену с
сохранением регистра букв. С игнорированием можно, но с потерей регистра.
Я сразу подумал что наверняка Tim Pope обязательно да написал на этот
случай что-нибудь -- оказался прав. Abolish позволяет сделать :Subvert
который как-раз делает что и хочется.
Временами удручало что повтор команды (.) не срабатывает с surround.
Пока рассматривал abolish, то увидел что у него есть repeat плагин
который для всех его поделий из коробки как-раз и добавляет возможность
повтора.
Вот удивляет что буквально один человек делает НАСТОЛЬКО крутые вещи с
которыми должен сталкиваться любой разработчик использующий Vim. Многие
плагины регулярно которые попадаются на глаза: как правило, огромны,
громоздки, тысячи тысяч строк кода. У Tim Pope код можно читать, он
небольшого размера.
Такие вещи как PEP8, Pylint для Python я когда-то использовал через
flakes или нечто подобное. Потом сообразил что родных встроенных средств
вполне себе хватает и достаточно небольшого размера обёртку над запуском
этих утилит. Полностью избавился от плагинов сторонних для этих задач и
даже асинхронный запуск pylint я успел сделать за одну поездку в
электричке.
Sergey Matveev [Wed, 31 Aug 2016 19:12:05 +0000 (22:12 +0300)]
:cdo команда и подчистка Python импортов неиспользуемых
Не редко в Python возникает необходимость перенести какие-то
функции/определения в другой файл/модуль. Кроме переноса самих функций
нужно ещё и их зависимости прописать. Сегодня обнаружил, как мне
кажется, очень простой способ:
* просто переносим *все* импорты из исходного как есть
* натравливаем pylint, вывод которого должен попасть в quickfix
* в quickfix при этом должны быть только сплошные сообщения unused-import
* делаем :cdo d
Само собой подразумевается что имеется работающий и настроенный на
quickfix pylint, подразумевается что используется "каноничный" формат
импортов (по импорту на строку, http://git.stargrave.org/cgit.cgi/pyimportcan.git/tree/pyimportcan.pl).
Вся "фишка" в :cdo d. Эта команда для каждой строчки quickfix-а
выполняет заданную команду. Для unused-import нужно просто удалить
строку. Благодаря quickfix -- все смещённые строки будут им учтены и
поэтому переход на следующие элементы quickfix проходит как ожидается.
Sergey Matveev [Wed, 31 Aug 2016 08:11:39 +0000 (11:11 +0300)]
Обратились с предложением сделать curl | sudo bash
Впервые по почте мне послали предложение сделать... curl | sudo bash.
Тактичности конечно не занимать автору письма :-). Прям хоть добавляй
в https://curlpipesh.tumblr.com/
Sergey Matveev [Mon, 29 Aug 2016 13:18:17 +0000 (16:18 +0300)]
Грайндкор и психи созданы друг для друга
http://www.hitkiller.com/exegutor-dali-koncert-v-psixlechebnice-nastoyashhie-psixi-i-nastoyashhij-grajndkor-sozdany-drug-dlya-druga.html
А то говорят что на концерты которые я посещаю ходит мало народу. Вон
тут целая такая нехилая толпа (если больше чем участников в группе, то
толпа)!
Sergey Matveev [Mon, 29 Aug 2016 08:33:33 +0000 (11:33 +0300)]
Попробовал асинхронность в Vim 8-beta
Вчера Брэм Муленаар выпустил бета версию Vim 8. Из сильных изменений:
появились фоновые работы, каналы, таймеры и тому подобная асинхронщина.
Попробовал, переделал pylint на фоновую работу. Всё отлично, понравилось.
Проблем нигде не заметил.
Sergey Matveev [Sun, 28 Aug 2016 15:44:43 +0000 (18:44 +0300)]
Nero Di Marte -- 2014 -- Derivae
Почему-то не обратил внимание что у Nero Di Marte группы есть альбом
2014-го года. Приобрёл его -- как и ожидал, он оказался офигенным! И
похоже что он даже больше нравится чем предыдущий.
Sergey Matveev [Sun, 28 Aug 2016 09:01:24 +0000 (12:01 +0300)]
Торвальдс о важности GPL
http://www.opennet.ru/opennews/art.shtml?num=45038
Очень очень рад сказанному Линусом! Не в бровь, а в глаз, как говорят.
Copyleft очень важная штука благодаря которой мы имеем такой богатый СПО
разработками мир. Однако последние годы корпорации устроили прям
крестовый поход против copyleft-а -- ну не нравится им прогресс
человечества и то что все получают пользу (все -- а не только корпорации).
Sergey Matveev [Sat, 27 Aug 2016 13:37:14 +0000 (16:37 +0300)]
Петиция за включение ZFS в OS X
http://www.cnet.com/news/new-petition-calls-for-opengl-4-3-and-zfs-in-os-x/
Конечно ZFS все хотят, даже, как оказалось, яблочники. Но новость была
три года назад, а ZFS всё так и нет -- вместо неё Apple сунула APFS,
которая разве что с btrfs может конкурировать, но с ZFS даже нет в планах.
Sergey Matveev [Sat, 27 Aug 2016 13:31:32 +0000 (16:31 +0300)]
Торвальдс признаёт что Linux становится bloated (2009)
http://www.cnet.com/news/linus-torvalds-linux-is-bloated/
и становится всё больше похожим по монструозности на Windows.
Удивляет что есть люди считающие это ядро красивым, каким-то
там особенным (в техническом плане) и чем-то особо выдающимся.
Да, оно работает, более менее, огромная помойка чего бы то ни
было, но никакой хакерской красоты (если она и была) нет.
Sergey Matveev [Sat, 27 Aug 2016 06:54:10 +0000 (09:54 +0300)]
Очередная атака на Telegram SMS-ки
https://habrahabr.ru/post/308640/
Именно поэтому я просто шокирован тем что люди охотно ведутся на сервисы
в которых аутентификация и авторизация производятся только по сообщению
от отслеживающего их устройства (сотового). Как вообще система с SMS
"входом" вообще может считаться хоть сколько-то безопасной? Корпорации
НЕ заинтересованы в безопасности -- только в низком пороге входе
пользователей для profit от них. Пользователь не имеет ни знаний
(пароль), ни чего-то что может иметь только он (ключей). То есть это
нулево-факторная авторизация.
Sergey Matveev [Fri, 26 Aug 2016 10:45:22 +0000 (13:45 +0300)]
С очередным обновлением freetype выглядет всё стало сильно хуже
Говорят что это типа какие-то патенты Apple истекли и по-умолчанию
что-то касающееся сглаживания включилось. Стало всё отвратительно
разбираться -- сейчас полностью выключил сглаживание.
Sergey Matveev [Fri, 26 Aug 2016 08:04:36 +0000 (11:04 +0300)]
ГОСТ 28147-89 и Sweet32
Наш стандарт шифрования имеет такую штуку (прописано правда не в ГОСТ
самом, а в RFC от КриптоПро) как key meshing. Каждый килобайт он неким
образом ротирует/меняет ключ. Недавно опубликованная атака на 64-битные
шифры становится неприменима.
Sergey Matveev [Thu, 25 Aug 2016 13:39:39 +0000 (16:39 +0300)]
Читаю "Человек-невидимка" Герберта Уэлса
До этого прочёл "Первые люди на Луне", "Война миров", "Машина времени",
"Когда спящий проснётся" -- ВСЁ из этого очень понравилось! Достойнейший
фантаст!
Sergey Matveev [Thu, 25 Aug 2016 13:22:25 +0000 (16:22 +0300)]
Разработчик ПО для немых на Хабре
https://habrahabr.ru/post/308514/
Очень здорово что подобный софт пишется бескорыстно! Большинство
разработчиков даже не подозревают что их поделия даже простым то людям
становится всё сложнее использовать, сайты становятся менее юзабельными,
информация всё труднодоступнее и трудноперевариваеме, а о людях с
ограниченными возможностями и вообще мыслей нет. Если и есть, то
зачастую у корпораций, который не будут это делать в открытом виде,
свободном или бесплатном (что автор верно замечает -- гуманно бы было).
Sergey Matveev [Thu, 25 Aug 2016 13:19:19 +0000 (16:19 +0300)]
Распознавание нажатий на клавиатуре по WiFi сигналу
https://www.sigmobile.org/mobicom/2015/papers/p90-aliA.pdf
Даже комментировать страшно. То новости о том что через стенку используя
SDR от сотового телефона достают ключи шифрования, то теперь вот это.
Благо я WiFi вообще не использую нигде.
Sergey Matveev [Wed, 24 Aug 2016 16:14:54 +0000 (19:14 +0300)]
Почему GNU grep быстрый
https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html
Хороший комментарий в FreeBSD о скорости GNU grep. Он действительно на
ПОРЯДКИ быстрее BSD варианта и сейчас он даже быстрее ag уже стал. Чего
чего, а вот GNU grep я просто даже вынужден на свою FreeBSD ставить
из-за скорости.
Sergey Matveev [Wed, 24 Aug 2016 08:11:07 +0000 (11:11 +0300)]
Блокировка моего IPv4 адреса для SMTP у netcologne.de
При попытке доставить письмо на этот домен сказали что 5xx ка я отсюда,
потому-что было много спама и/или вирусов. Написал postmaster@ и
блокировку сняли. Оказалось что добавили не только мой адрес, а вообще
сразу просто всю сеть /24. И операторы сети (NetByNet) никак не
реагировали на abuse-сообщения. Но приятно что с netcologne не вышло
тёрок и всё разрешилось.
Sergey Matveev [Mon, 22 Aug 2016 08:07:17 +0000 (11:07 +0300)]
Debian выгоняет Апльбаума
http://www.itwire.com/business-it-news/open-source/73441-appelbaum-banned-from-debian-events-after-sexual-misconduct-charges.html
Ещё одна причина держаться подальше от женщин в Западных (в том числе
нашей) странах -- одно клевечущее и порочящее честь человека слово и
всей его жизни конец.
Sergey Matveev [Sat, 20 Aug 2016 22:20:01 +0000 (01:20 +0300)]
Тем временем Леннарт впиливает systemd-mount
https://github.com/systemd/systemd/commit/29272c04a73b00b5420ee686d73c3bc74d29d169
Пока из DragonFly BSD выпиливают PulseAudio (поделие Леннарта
Поттеринга), он в это время впиливает очередной ад в systemd. Теперь его
ОС (я по другому это уже не могу воспринимать) занимается отложенным
монтированием самостоятельно. В мире соблюдается превосходный баланс:
пока в одном месте стало лучше, то в другом ощутимо хуже.
Sergey Matveev [Sat, 20 Aug 2016 22:03:09 +0000 (01:03 +0300)]
Долой PulseAudio из DragonFly BSD!
http://www.opennet.ru/opennews/art.shtml?num=45009
Очень рад новости! Вот уже которых год отмечаю что в GNU/Linux мире
творится Содом полнейший, падение качества на порядки, превращение в
macOS/Windows. А вот на *BSD есть и ZFS и DTrace (ладно, ладно, всё это
изначально под Solaris было) и высочайшее качество и вот выпиливание
нерабочего хлама.
Sergey Matveev [Sat, 20 Aug 2016 19:44:53 +0000 (22:44 +0300)]
Посетил CIF3
Состоял из четырёх частей:
* Политика. Тут особо комментировать ничего не хочу. Я других взглядов.
Не считаю что политике там место, итд, итп. Но если без неё просто не
было бы мероприятия, то почему бы и нет.
* KSP. Было более дюжины людей участвовавших в подписании ключей. Вот
недавно выслал все ключи участникам. Сам начал получать подписи. Это
всё здорово.
* Техническая часть. Про использование ГОСТ мне понравилось. Хорошо было
сказано что в нашей стране сильно профакапали момент когда надо было
выпускать стандарты и пиарить "нашу" криптографию. В 2000-х КриптоПро
начали навёрстывать упущенное. Верно было замечено что, особенно
2012-го года, криптография наша ничуть не хуже, а то и лучше местами.
Не понравилось что где-то услышал комментарии про мол нафиг это надо
если сильно оно не лучше. Я бы наоборот таких спросил: если оно не
хуже, то почему бы не поддерживать своё, почему обязательно США? Ведь
по факту в мире снова, как во времена Холодной войны, двухполярный
мир: страны используют либо крипту США, либо РФ (национальные,
особенно после AES-ов всяких, исчезли толком).
* Cryptoparty. Отличная презентация и ввод в дело! Очень рад что это
было записано на камеру. Но, как всегда, врагом стало время и на
практическую часть его не осталось совсем.
Было в первой части ещё выступление по поводу темы криптовалют. Задали
вопрос по поводу того что оно всё ведь работает когда атаку в 51% не
совершить. Хорошо ответили, честно: эта атака касается всех технологий
основанных на PoW и это является проблемой. А то мне тут как-то видео
показали где мужик вообще не считает что эта атака приведёт к чему-либо
плохому -- то есть он даже забил на оригинальный whitepaper где Сатоши
Накамото с самого начала выставил это необходимое условие. Надо
оценивать риски. Лично для меня неприемлемо использование технологий
касающихся денег и на которые можно совершить эту атаку. А на практике
её не сложно осуществить. Более того: бОльшая часть mining ресурсов УЖЕ
в руках нескольких участников.
Sergey Matveev [Fri, 19 Aug 2016 09:44:54 +0000 (12:44 +0300)]
Релиз pygost 2.0
Вчера выпустил pygost 2.0. Версия так прыгнула потому-что внесены
обратно-несовместимые изменения и надо бы major часть поднимать при
этом. Теперь все хэши и MAC-и совместимы с PEP-247: теперь их можно
использовать напрямую в hmac библиотеке.
Sergey Matveev [Wed, 17 Aug 2016 06:56:18 +0000 (09:56 +0300)]
Превосходная статья с Дэном Бонеом о криптографии в контексте BitCoin
http://diyhpl.us/wiki/transcripts/2016-july-bitcoin-developers-miners-meeting/dan-boneh/
Подписи Шнорра, BLS подписи, password hashing схемы, устойчивость к
квантовым атакам и их реалистичность.
Sergey Matveev [Tue, 16 Aug 2016 20:54:08 +0000 (23:54 +0300)]
Пробую использовать Vi-режим в zsh
По-умолчанию в zsh используется Emacs bindkey -e режим. Но ведь давно
знал про существование bindkey -v. Пока им поигрался минут пять и всё в
целом очень не плохо. Пока не пойму удобнее ли, но как-то ощущается что
правильнее. Некоторые команды для которых я запускал редактирование
командной строки в Vi -- больше не требуют его запуска, так как в
bindkey -v режиме делается всё что нужно.
Sergey Matveev [Mon, 15 Aug 2016 11:06:09 +0000 (14:06 +0300)]
Удручён тем каким стал ipfs.io
Попробовал собрать IPFS снова. Раньше оно работало через go get. Сейчас
требуется "make install". Тут-то ничего плохого. Но вот make install без
спросу сразу же полез выкачивать бинарник go-gx который попытался
применить. Сборка из сорцов скачивающая исполняемый бинарник. Ну нельзя
же так.
Sergey Matveev [Mon, 15 Aug 2016 08:40:52 +0000 (11:40 +0300)]
Мой Tor hidden service BitTorrent tracker рекламируют
https://lists.torproject.org/pipermail/tor-talk/2016-August/041985.html
Хотя это скорее грустно: то что любой может сделать за минуту (apt-get
install tor, opentracker и пара строчек в конфигах) является новостью
если кто-то всё же это сделал. Зависимость людей от третьих лиц поражает.
Sergey Matveev [Mon, 15 Aug 2016 08:20:24 +0000 (11:20 +0300)]
ipfw vs iptables
http://eax.me/freebsd-ipfw/ -- статья о том как взять и настроить ipfw
firewall. Полностью солидарен с автором: ipfw очень приятно читается и с
ним можно работать без man-ов под рукой, он интуитивно понятен в
большинстве случаев. iptables... ненавижу! ipf и pf firewall-ы (которые
из коробки есть в FreeBSD) тоже хороши. Точнее так: всё лучше чем iptables.
Sergey Matveev [Sun, 14 Aug 2016 13:15:59 +0000 (16:15 +0300)]
file:line
http://www.vim.org/scripts/script.php?script_id=2184
Очень удобный небольшой vimscript позволяющий открывать
path/to/file:line:column пути. Жалею что раньше не задумался
над оптимизацией открытия таких путей.
Sergey Matveev [Fri, 12 Aug 2016 20:13:03 +0000 (23:13 +0300)]
Помощник в вставке import-ов в Python коде
Написал небольшого помощника для вставки import-ов в Python коде.
Например из pyasn1 библиотеки приходится часто импортировать
encode/decode функции, ObjectIdentifier объекты. Запоминать, тем более
набирать, длинные "from pyasn1.codec.der.encoder import encode # type:
ignore" не хочется в принципе. Часто делается grep/git grep с поиском
используемого import и его copy-paste в код. Теперь можно просто набрать
encode, нажать <F3> и в виде меню completion он покажет все найденные
"from .* encode" строчки.
Выбор git grep вместо grep из-за скорости работы (не хочется чтобы было
100мс или больше времени ожидания результата поиска). Выхлоп git grep
можно обработать и внутри vimscript, но это сильно больше кода, хотя и
экономия целого процесса. Perl вместо sed+uniq+sort+whatever из-за
скорости и экономии процессов.
Sergey Matveev [Sun, 7 Aug 2016 11:17:10 +0000 (14:17 +0300)]
Хроники systemd: We do not support display managers whose primary VT is not VT1
https://bugzilla.redhat.com/show_bug.cgi?id=817186
Ответ Леннарта Поттеринга (соответственно WONTFIX): по определению
systemd не собирается поддерживать display manager использующий не VT1.
В очередной раз поражает что это дерьмище кому-то даже нравится, не
говоря о том что его используют. Впрочем... OS X и Windows ещё более
популярны.
Sergey Matveev [Sun, 7 Aug 2016 10:37:34 +0000 (13:37 +0300)]
"Перезапуск" Coyote Brutal Fest 10!
http://darkside.ru/show/8611/
Снова CBF, снова 10, так как в прошлый раз headliner-ы не смогли
выступить. Октябрь и ноябрь будет насыщен отличными концертами!
https://cpunks.org/pipermail/cypherpunks/2016-July/014728.html
Конкретное сборище криптоанархистов для которых лишь бы "долой
государство!" поорать, вместо реальных хороших предложений когда
ВСЕМ (ну кроме анархистов этих) было бы лучше. Портят подобные
люди образ шифропанков, отвратительно очерняют своей узколобостью
и сплошным бунтарством.
Сегодня узнал что оказывается все в округе на работе иначе держат мышку.
Точнее нажимают на правую кнопку средним пальцем, тогда как я, всю жизнь
без раздумий всегда безымянным и держал саму мышку большим пальцем и
мизинцем. Сейчас у меня trackball, довольно больших размеров, поэтому
нажатие на правую кнопку происходит или мизинцем или безымянным.
Это было очень удивительно узнать и понять что никогда не задумывался а
можно ли как-то ещё держать мышку.
Выяснилось ещё что Ctrl на клавиатуре тоже все коллеги нажимают другими
пальцами и с другой стороны клавиатуры.
Вот поэтому я так люблю Vim: в нём я могу работать эффективно, а вот в
Emacs бы чисто анатомически мне бы не позволили.
GoVPN Web-сайт официально теперь находится на www.govpn.info
https://git.cypherpunks.ru/cgit.cgi/govpn.git/commit/?id=7570dae5ba36a2d8a184aef892eb46b253c7ed3a
А также для него отдельный Tor .onion адрес выделен: http://2wir2p7ibeu72jk3.onion/
Когда-то завёл govpn.info чисто для удобства, как алиас, но сейчас вот
решил под проект полностью этот домен официально выделить. Рассылки и
репозитории остаются на прежних местах.
https://pkgs.org/download/govpn
Случайно сегодня обнаружил что в openSUSE появился пакет GoVPN. Не
проверял, не знаю, но добавил ссылку на домашней странице проекта. Даже
всё обмазано systemd-specific файлами. Здорово что его туда портировали!
Ну на самом деле вопрос: ближе ли иранцы к православным или католикам?
Судя по http://sajjadi.livejournal.com/444613.html
они поминают на 40-ой день, как и мы, в отличии от католиков.
Пока я переносил домены с регистратора умеющего DNSSEC на регистратор
без онного, то понял что не знаю как это надо было делать правильно и
штатно, чтобы DNSSEC при этом оставался рабочим. При переносе на REG.RU
DS запись в RU. остаётся живой и в интерфейсе её не увидеть, не удалить.
Поддержка по запросу удалила.
Пока со всем этим разбирался, то оказалось что подписи для моих основных
доменов (STARGRAVE.ORG и другие) протухли аж с конца апреля. У меня был
настроен cron, приходили уведомления, но что-то где-то шло не так. Так и
не выяснил почему, да и чёрт с ним.
В общем в DNSSEC я допустил наверное все возможные ошибки и у меня
сильное ощущение что я кучу всего так и не понял. В итоге я удалил
DNSSEC со всех доменов. Всё же DNSSEC НЕ защищает от правительств и
силовых структур. А криптография, как известно, или защищает от детей
или от правительств. Мне интересна только последняя: или защищает или
будем считать что нет. Трудозатраты на поддержку DNSSEC достаточно
велики чтобы защищаться от не сильных мира сего.
Кстати когда DNSSEC исчез, то поток спама ощутимо увеличился. Получается
что спаммеры используют DNSSEC-aware серверы :-)
http://archiveteam.org/images/5/59/Wikipedia%2C_the_free_encyclopedia_april_fools_day_2010.png
Была бы она всегда такая: я бы заходил каждый день без исключений.
https://www.dnscrypt.org/
Очень интересный и явно нужный проект. Запросы DNS это компактная, но
*очень* ценная метаинформация. DNS запросы могут очень и очень многое
рассказать о человеке и что у него творится. DNSSEC не обеспечивает
никакой приватности запросов-ответов. DNSCrypt как-раз закрывает этот
существенный недостаток.
Суть его работы крайне проста. Со стороны клиента тривиальный прокси и
со стороны сервера. Они берут запрос/ответ как есть, не изменяя ни
одного байта, и просто аутентифицированно шифруют, используя стандартные
Бернштейновские алгоритмы типа X25519, XSalsa20-Poly1305. Всё сделано
грамотно и без лишних сложностей. Для усиления приватности дополняют
запросы/ответы padding-ом. Работать может как по UDP, так и по TCP,
по-умолчанию используя 443-ий порт.
Надо прощупать получше, но наверное абсолютно всё везде у себя переведу
на его использование и использование не родных внешних resolver-ов. TLS,
HTTPS обеспечивают какую-то защиту, но вот DNS всё никак, ибо его
ценность так велика, что в ОС ничего не встраивают для защиты
приватности. Не важно что именно запрашивал и получал пользователь в
ответе сервера alquadea.net, главное что у него, как минимум, был DNS
запрос с этим доменом.
Впервые эту музыкальную группу услышал сегодня. Собираюсь пойти на их
концерт: http://darkside.ru/show/8587/
Конкретный такой IDM, правильный вокалист, opera-like вокалистка,
главный музыкант регулярно в Cannibal Corpse футболочке, на видео видно
металлюг. darkside.ru сравнивает их с Сальвадором Дали, а это мой
любимый художник. Ну и музыка редко настолько пробирает что через пять
минут уже иду искать и скачивать её для большего ознакомления.
И ещё при этом на следующий день после этого концерта будет выступление
Ihsahn: http://darkside.ru/show/8551/ что тоже нельзя пропустить.
DNSSEC непротухающий на cypherpunks.ry/cryptoanarchy.ru/cryptoparty.ru
Из-за смены регистратора обнаружилась проблема в том что до сих пор не
очень всё резольвится для cypherpunks.ru доменов. Во-первых secondary
DNS на HurricaneElectric не удаляет DNSSEC записи. Пришлось удалить
домены и создать их снова там. Сейчас похоже что надо ждать когда это
всё прососётся из-за кэшей. Не очень я силён и смутно понимаю как надо
было сделать такую прозрачную смену.
nic.ru с мая месяца так и не дали ни одного ответа почему я перестал
мочь ходить на сайт nic.ru. После посылки HTTP заголовка, даже внутри
TLS сессии -- они просто обрывают TCP. Эти два месяца они только кормят
завтраками и ничего не сообщают и не чешут. Пошли они, раз их не парит
то, что клиент не может войти ни на сайт, ни в личный кабинет.
reg.ru работает. Но, к сожалению, не вижу на нём поддержки DNSSEC, что
печалит. Но либо DNSSEC и невозможность управлять доменом из дома, либо
без DNSSEC но с управлением. Выбор очевиден.
* Gorguts, альбом Colored Sands четвёртый трэк Colored Sands. Особенно
переход в нём на две гитары. Не везде он чувствуется
* Gorguts, альбом Colored Sands шестой трэк Enemies Of Compassion. Он
должен рубить басами от бас-гитары и бас-бочек, при этом не заглушать
гитары
* Meshuggah, альбом Chaosphere, первый трэк. Хороший пример того как
должны резать ухо гитары, при этом тарелки должны оставаться слышны
(аналогичная проверка и на St.Anger у Metallica)
* Meshuggah, альбом obZen, трэки Combustion, obZen, Pravus: из-за
инструментов играющих в разных тактах отлично можно оценить как и
барабаны пробивают и гитары режут
И расценивают это давние знакомые и друзья. Всё-таки СМИ очень мощная
штука: даже такой антитеррористический бред как придумали в "пакете
Яровой" заставляет сомневаться людей в целесообразности и пользе
шифрования. А такие как я, автоматом всё сильнее становятся весомее на
стороне преступников.
Того и гляди что напишут мои же друзья на меня в МВД что мол я стопудово
чем-то нехорошим заниматься должен, ведь Tor-нода есть? Есть. А для чего
она? Ясно же что для наркоторговли и распространении педофильской
порнографии. Почему донесут? Яровая сказала что накажет за
недоносительство.
Фейнман заставил посмотреть на взаимоотношения с женщинами с другого ракурса
В книге "Вы, конечно, шутите, мистер Фейнман" описана пара сцен с тем
как он пытался расположить к себе девушек. И похоже что моя самая
фатальная ошибка при попытке наладить отношения с девушками как-раз
заключалась в том, что я пытался быть джентльменом, ухаживать, проявить
заботу, подчеркнуть что я не скряга, заинтересовать их своей надёжностью
и тому прочим. Судя по его книге, именно всё это и должно привести к
тому что все 100% девушек с которыми я пытался строить отношения:
изменяли и не стеснялись признаваться в том что наставили мне рога,
насколько сильно они меня презирали.
Вспоминается Стивен Хокинг и его мнение что женщины -- та ещё загадка.
Просто до сих пор не понятно к чему всё это воспитание, не имеющее к
реальной жизни никакого отношения и только ставящего преграды и
строящего иллюзии об отношениях.
Прочёл половину этой книги. Настолько интересна и втягивает, что на этой
неделе специально сажусь на медленные электрички лишь бы побыстрее её
прочесть!
... в США.
https://www.schneier.com/blog/archives/2016/07/password_sharin_1.html
То есть не только у нас есть пакеты Яровой, но и в Великобритании за шум
вас посадят и, в очередной раз, в США бредовейшие решения.
Хотел я было сделать подобную штуку, но всё же не тривиальная задача и
уже в общем-то неплохо реализованная в https://github.com/ikreymer/pywb/
И индексы умеет делать и просматривать всё получившееся.
https://archive.org/details/archiveteam_coursera
Огромнейшая благодарность этой команде за подобные вещи. В Интернете
очень и очень серьёзная проблема того что данные хранятся ненадёжно. То
есть есть только у одного владельца (сайта, компании) и он может
пропасть или удалить их в любой момент. У меня уже давно привычка важные
вещи явно сохранять себе, делать их копию, чтобы не зависеть от прихоти
сторонних людей. К сожалению не могу себе позволить хранить всю
Wikipedia (хотя по деньгам вообще такое можно потянуть, всего 24+ TiB
данных) например и это удручает.
Есть надежда что с "законами Яровой" люди начнут ценить трафик, данные и
их копии, распространять их. К сожалению сейчас люди поступают полностью
наоборот: удаляют у себя все данные и заливают к сторонним людям,
почему-то надеясь что им есть дело до ответственного сохранения. Ну пока
не потеряют что-то важное, то не поймут его ценность.
У нас вот хотят хранить трафик (а это петабайты шифрованных данных) за
полгода по всей стране. Это дьявольски много дискового пространства...
которое ведь можно бы было потратить с пользой.
Собираюсь написать на Go прокси для просмотра WARC файлов. Так как с
Интернетом будут большие пребольшие проблемы (хотя они уже имеются с
постоянным блокированием CDN-ов, Github-ов и прочим), то актуальность
air-gaped режима передачи данных всё более актуальна.
С сохранением/передачей/просмотром одного HTML/JPEG/PDF/whatever файла
проблем не возникает. А вот как быть с кучей связанных между собой
документов? То есть например зеркалом сайта? Archive Team используют ISO
стандарт де-факто для архивирования Web-а: WARC (Web ARChive) формат. Он
очень простой и даже читается глазами: HTTP-like WARC заголовок, а
дальше сконкатенированные последовательности HTTP запроса/ответа. С
некоторой версии даже GNU Wget стал в состоянии делать подобные файлы.
То есть стандарт, вполне себе неплохой, уже даже де-факто для
петабайтных объёмов (archive.org), имеется. Обычные GNU Wget-ы отлично
умеют делать зеркала сайтов в подобном выводе.
А вот для просмотра я откопал пока только warc-proxy: https://github.com/alard/warc-proxy
Это Python HTTP-proxy написанный на Tornado с интерфейсом требующим
JavaScript. Всё перечисленное мне в нём и не нравится, хотя в целом оно
работает. Возьмусь переписать это как-нибудь покрасивше на Go.
WARC куда удобнее чем непонятно как созданные/сохранённые директории с
HTML/whatever документами в архиве. А тут один файлик внутри которого
прям фактически сохранённые HTTP-сессии.
Если хочется сделать tmux сессию к которой удалённо могли бы по SSH
подключаться люди и смотреть её в read-only режиме, то достаточно (не
самый минималистичный вариант):
* завести отдельного пользователя для этого дела, например guest
* в ~guest/.ssh/authorized_keys добавить ключи людей которым можно
подключаться, и прописать ограничения и форсированный запуск tmux:
restrict,pty,command="/usr/local/bin/tmux -S /tmp/guest-tmux-shared.sock attach -r -t shared" ssh-ed25519 ... whatever@domain.com
* не забыть про переменные окружения, в которых в ряде систем будут
отсутствовать UTF-8 локали и tmux не будет показывать удалённым
пользователям Unicode. Например в FreeBSD достаточно в
~gust/.login_conf прописать:
me:\
:charset=UTF-8:\
:lang=en_EN.UTF-8:
* запускаем tmux с /tmp/guest-tmux-shared.sock сокетом, не забывая про
права доступа