Распечатай Линейку
Сегодня придя в офис обнаружил в принтере забавный листок. Кто-то распечатал себе линейку и забыл забрать.
Сколько раз мне нужна была линейка и приходилось изощряться используя спичечные коробки, клечатую бумагу и тому подобное. Здорово, что кто-то догадался, что можно просто распечатать себе линейку! Просто распечатываешь на листе А4, складываешь и измеряй, что хочешь, гениально! Шаблоны линеек в PDF ребята выложили на сайте printaruler.com.
Цифровая гигиена
Все мы используем пароли, без паролей в наше время не обойтись.
Как проверить ваш пароль на безопасность? Можно воспользоваться каким нибудь сервисом для проверки паролей например haveibeenpwned.com он подскажет где, когда и куда ваши пароли утекли. Но что-то мне страшновато передавать мой пароль на какие-то непонятные сайты, которые их собирают с непронятными целями. Где гарантия что при проверке паролей создатели сервиса не проверят ваши пароли еще на каких нибудь сайтах, чтобы так сказать, проверить, нет ли у вас так чего интересного?
Есть ли способ проверить был ли пароль скомпрометирован и при этом не передавать сам пароль третим лицам? Такой способ существует.
Для этого можно проверять не сам пароль, а его цифровую подпись. Алгоритм получается следующий.
1. Создаем sha1 подпись интересуемого пароля, например qwerty123: echo -n "qwerty123" | openssl sha1
2. От полученного хеша SHA1(stdin)= 5cec175b165e3d5e62c9e13ce848ef6feac81bff берем первые пять цифр подписи 5cec1
3. Полученные символы подставляем в конец API вызова https://api.pwnedpasswords.com/range/ получим https://api.pwnedpasswords.com/range/5cec1
Сайт выводит нам все оставшиеся части хешей которые начинаются с данной комбинациии символов. Если мы находим среди этих комбинаций нашу 75b165e3d5e62c9e13ce848ef6feac81bff, значит наш пароль скомпрометирован!
Для пароля qwerty123 мы видим значение 75B165E3D5E62C9E13CE848EF6FEAC81BFF:4880569 - это значит что в базах данных со скомпрометированными паролями на данном сервисе он встречается почти пять миллионов раз!
Дисклеймер: данный метод не гарантирует, что факт проверки вами вашего пароля никто не отследит. Делая это, вы оставляете кучу цифровых следов, например, в терминале остается история команд, которые вы выполняли, передачу пяти символов хеша по незащищенным каналам тоже можно отследить. Но все же, вероятность взлома в этом случае будет гораздо ниже, чем если вы просто понадеетесь на то, что ваши пароли никому не будут интересны.
PS. если вы хотите, чтобы команда не оставалась в истории командной строки в linux достаточно начать ее с пробела " echo -n "qwerty123" | openssl sha1".
Видео-лекции по математике
Обнаружил удивительно качественные лекции по математике на русском языке от математического института имени Стеклова. Мой внутренний хомяк радуется такому замечательному количеству интересной информации, он буквально пляшет от радости! Тут есть много вариантов лекций по основам квантовой механики, криптографии, машинному обучению и теории игр.
Будет чем заняться в новом году, долгими зимними вечерами!
Делание заметок
Очень многие известные люди вели картотеку куда складывали свои заметки. До нас дошли архивы Набокова, Черчилля, Николаса Луммана, Эндрю Оффута и многих других. Существует большое количество систем ведения заметок. Пожалуй, одной из самых известных является Zettelkasten Лумана, но есть множество других не менее интересных.
Поскольку эти архивы этих людей до нас дошли в неплохом состоянии, то сегодня мы можем их изучать чтобы попытаться понять, в чем был секрет продуктивности этих людей. Можно заметить, что многие успешные люди вели заметки. Возникает, однако, резонный вопрос, что тут является причиной а что следствием? Что сделало людей, которые вели заметки успешными? Пришли ли они к успеху потому что вели заметки или ведение замето было лишь побочным эффектом их успешности? Привело ли ведение заметок этих людей к успеху или всего лишь тот факт, что их заметки до нас дошли в сочетании с их успешностью заставили нас повнимательнее отнестись к их архивам? Что если предположить, что само по себе ведение заметок делает людей более успешными?
Максим Дорофеев в одном из своих видео показал интересный эксперимент. Он показывал зрительному залу карточки с цифрами и просил зрителей повторить, что они видели. Когда он просил просто повторить увиденное у зрителей не возникала с этим проблем. Когда же он просил прибавлять к каждой цифре показанного номера единицу зрители стали справляться с заданием с гораздо большей с задержкой. Когда же нужно было прибавлять большее число задержки стали значительными и многие из зрителей вообще не могли справиться с заданием. Вывод который можно сделать из этого опыта - человеческий мозг не очень хорошо может думать и помнить одновременно. Если бы у зрителей в этот момент были в руках ручка и блокнот то, я уверен, все бы легко справились с заданием.
Исследования показывают что ведение заметок позволяет не только снижать когнитивную нагрузку но и улучшать усвоение информации. Например, при помощи интервального повторения можно повысить качество усвоения материала просматривая свои заметки через некоторые временные интервалы в соответствии с кривой забывания Эббингауза.
В другом исследовании было показано, что в группе студентов которые прошли специальный курс по деланию заметок было выявлено статистически значимое улучшение качества усвоения материала и усиление мотивации к обучению.
Существуют решения для ведения заметок в компьютере или на мобильных устройствах. На сегодня самые известные из них - это Notion и Obsidian. Оба этих сервиса представляют собой продвинутые текстовые редакторы с возможностью синхронизации заметок на разных устройствах, они поддерживают продвинутые функции форматирования и интеграции со сторонними сервисами. При помощи этих систем можно не только вести персональные заметки но и работать над документами совместно и даже публиковать персональные сайты и блоги онлайн, возможностей применения таким сервисам можно придумать огромное множество.
Я уже много лет веду заметки и это здорово мне помогает в многих повседневных задачах. Свои заметки я веду в обычных текстовых файлах на языке markdown. Мне кажется, что использовать проприетарные системы типа Notion или Obsidian это добровольно подсаживать себя на определенную технологию, своеобразный vendor locking. Если в один момент, например, окажется что Оbsidian решит закрыть свой продукт или решит сделать его платным, то переехать на другой сервис будет довольно сложно. На самом деле для делания заметок достаточно любого текстового редактора и какого нибудь простейшего языка разметки. Я использую markdown - это обычные текстовые файлы с возможностью вставки ссылок и некоторыми функциями форматирования текста. Луману такое и не снилось, он ввел свою систему на бумажных карточках.
Еще одно свойство системы заметок которое для меня важно - их неуничтожимость. Они должны быть многократно продублированы на всех устройствах которыми я пользуюсь. При этом каждое изменение в заметках должно записываться. Всем айтишникам уже знаком софт который такое позволяет - это система контроля версий, например Git. Добавляя в любую папку с файлами git репозиторий вы получаете возможность сохранять все изменении в нашей папке а значит, наши заметки становятся антихрупкими - любые изменения можно в дальнейшем отследить и при необходимости откатить. Git репозитории можно синхронизировать между устройствами и дублировать столько раз сколько это необходимо.
Я выложил шаблон своих заметок на GitHub. Не думаю, что кому-нибудь моя поделка может оказаться полезной, но она точно никому не поможет если я ее не выложу. В ближайшее время хочу написать побольше о том как я ее использую, возможно это позволит ее улучшить и добавить в нее новые интересные фичи.