DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
976 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Ещё раз к вопросу о zero knowledge, который мы немного (хотя весьма поверхностно) рассматривали в одном из уроков https://www.youtube.com/watch?v=n-AoDMc5rc8. Как объяснить идею ZK для тех, кто только входит в эту область?

Есть два хороших примера, которые мы сегодня рассмотрим. Но в первую очередь важно понять основную суть ZK. Мы (prover) доказываем некому наблюдателю (verifier), что обладаем некой секретной информацией, но при этом данную информацию не разглашаем. Казалось бы, разве это возможно?

Первый пример связан с так называемой пещерой Али Бабы (только самого героя там нет - видимо, ушёл по делам). Эта пещера круговая, в неё есть всего один незапертый вход, однако в диаметрально противоположной точке пещеры (то есть с другой стороны, которую от входа невозможно увидеть) находится волшебная дверь, перегораживающая путь. Вот тут можно посмотреть простую схему https://upload.wikimedia.org/wikipedia/commons/d/dd/Zkip_alibaba1.png

Очевидно, что если пещера круговая, то войдя в неё можно пойти либо по часовой стрелке (путь А), либо против часовой (путь Б). Однако если вы не знаете <del>стоп-слова</del> секретного слова, которое открывает волшебную дверь, то вы не сможете совершить полный круг. То есть пойдя по пути А вы не сможете в итоге выйти со стороны пути Б и наоборот. Теперь вопрос: как Элис может доказать Бобу, что она знает секретное слово для открытия двери, при этом не разглашая само слово?

Можно сделать следующее. Боб остаётся недалеко от входа в пещеру, но отворачивается и действий Элис пока не видит. Элис же заходит в пещеру и произвольно выбирает либо путь А, либо путь Б. Когда она доходит до волшебной двери, Боб идёт к выходу и останавливается. Он не знает, как пошла Элис и не видит с какой стороны от двери она стоит. Далее он просто даёт команду либо "выходи со стороны А", либо "выходи со стороны Б".

Ясное дело, что если Элис зашла со стороны А и её просят оттуда же выйти, то открывать ей дверь не нужно вовсе: она просто вернётся обратно той же дорогой. Но вот чтобы выйти со стороны Б, ей по-любому придётся открыть дверь. Ну, а если она не знает секретного слова, то эксперимент окажется провален. Если же мы проделаем этот эксперимент раз 30, и если Элис слова не знает, то вероятность провала будет чрезвычайно большой (увеличивается с каждым новым повторением), ведь она каждый раз идёт по случайному пути, а Боб каждый раз называет случайный выход. Если же после 20-30 раза провала не последовало, то почти наверняка слово Элис известно, хотя она всё так же его не раскрыла.

Рассмотрим и другой пример, на этот раз с двумя шариками: красным и синим. Предположим, что Боб не умеет различать красный и синий цвета, а Элис умеет. Таким образом, для Боба эти шарики кажутся абсолютно одинаковыми, а для Элис - нет. Она хочет доказать Бобу, что умеет различать цвета и что эти два шарика разные, но при этом не сообщая, какой из них синий, а какой - красный.

Чтобы это проверить, Боб берёт в каждую руку по шарику и прячет их за спиной. Он имеет право поменять шарики местами (то есть переложить из левой руки в правую и наоборот), но Элис стоит прямо перед Бобом и этих манипуляций не видит. Затем Боб показывает шарик в правой руке, а Элис подмечает про себя его цвет. Боб снова прячет шарик за спину, после чего может вновь поменять их местами по желанию, либо не менять вовсе. Он вновь показывает шарик в правой руке и спрашивает Элис: "Я показываю тот же шарик или другой?". Боб не знает цвета шарика, но он ведь знает, менял ли он их за спиной. Следовательно, он понимает тот же это шарик или нет.
👍14
Элис же не сможет с уверенностью сказать тот же ли это шарик или другой, если не умеет различать цвета или если оба шарика серые. В этом случае она будет вынуждена отвечать наобум. Как только она ошибётся, эксперимент будет провален. Таким образом, если мы проведём этот эксперимент 20-30 раз, и Боб будет каждый раз показывать случайный шарик, то давая случайные ответы Элис почти наверняка ошибётся. Если же все 30 раз ей удалось правильно идентифицировать шарик (тот же или другой), то она наверняка может отличить один от другого, но опять же она не сообщает, где какой.

Этот пост также доступен на сайте https://bodrovis.tech/posts/zero-knowledge-prostymi-slovami/
👍14🤯2
Есть предложение в ближайшие дни провести стрим по GitHub Actions, посмотреть примеры, обсудить интересные моменты. Ну, и просто пообщаться. 👨‍💻

Сейчас лето, отпуска, да и в некоторых странах YouTube так себе работает, так что активность стала поменьше, но мы продолжаем работать. Ну, а что ещё остаётся?
49👍31🔥3🤝21💯1
Weekly shitposting от нашего ИИ. Продолжение читайте в источнике [...]
😁13👍1
О писателе Кузмине почти никто не помнит, да и в школах пост-советского пространства его, кажется, не проходят. Но конкретно эта история (воспоминания) мне как-то запала в душу, в целом было приятно начитывать. Последнее же стихотворение особенно актуально спустя много десятилетий: "Но только в ссылке, только в ссылке мы [...] но холоден минутный дом. И мы, как Меншиков в Берёзове, читаем Библию и ждём".

Берегите себя. https://www.youtube.com/watch?v=gh1HKMx9fv8
3👍1🙏1
⚠️ Друзья, как обычно, скамеры не дремлют. Хуже того, они теперь завелись в комментариях YT под маской "новичков, которые задают глупые вопросы", причём играют по схеме а-ля "damsel in distress". Вот буквально сейчас обнаружил весьма странный комментарий, написанный из-под "женского" аккаунта, созданного неделю назад.

В комментарии сначала некие общие слова "спасибо" и тому подобное. Следующим же предложением сообщается "у меня есть токены на одной бирже, как мне их перевести на другую?" Вот моя секретная фраза". Чувствуете, да? Владелец кошелька добровольно называет собственную секретную фразу!

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

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

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

Поэтому будьте чрезвычайно осторожны!

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

Есть такой приём: чем больше человеку показывают всяких бумажек и документов, тем больше он(а) расслабляется и доверяет неизвестному собеседнику. Спросите себя: зачем неизвестный это делает? В чём смысл делиться ключевой фразой? Даже если это новичок, то а) Про секретность этой фразы в том же metamask написано много раз б) Эту фразу у "новичка" никто и не спрашивал. Нормальные люди напишут просто "как мне правильно перевести токены?".

В общем, как обычно, бесплатные токены бывают только в мышеловке.
👍2581
Друзья, хотел посоветовать решение Biome (https://biomejs.dev/) для форматирования и проверки кода. С проектами ESM+TS работает значительно лучше (и быстрее), чем многострадальный eslint/prettier, в котором приходится 38 плагинов ещё добавлять, половина из которых сто лет не обновлялась. В общем, хорошая штука, попробуйте если ещё не
👍7🆒4🔥31
Никогда такого не было - и вот опять (в тот раз забыл скриншот снять)
😁202🗿1
У меня тут dzimšanas diena, и мы продолжим нашу традицию отмечать в стиле хоббитов: не получать подарки, а дарить самому. Мне кажется, это хороший обычай 😄 Так что новый трек, который писался последние пару дней. Ну, а тем, кто вновь идёт в школы-институты (учиться или преподавать) от меня лучи поддержки 🤟 Скоро увидимся. https://soundcloud.com/ravens-die-laughing/into-the-endless-space
🔥11👍4
Вообще-то, я ни до, ни после обеда LinkedIn не читаю. По правде говоря, я не очень понимаю, зачем он нужен в 2024, но я всё-таки лицо относительно публичное, было бы странно удалиться вообще из всех соцсетей.

Но дело не в этом. Просто случайно увидел запись с прикреплённым скриншотом. Ради интереса полистал комментарии: понятное дело, мнения разделились примерно 50/50. Моего мнения никто особо не спрашивал, но я его выскажу просто в порядке дискуссии в нашем междусобойчике.
😁17👍5
Так вот, задавать настолько базовые вопросы потенциальному кандидату, если имеется доступ к его/её резюме - это невежливо и показывает лишь то, что менеджер его не читал в принципе. Ну, это не говоря о какой-то странной манере общения: куча сообщений-коротышей (есть такое слово runt, оно на слэнге сетевиков значит "слишком короткий пакет с данными, явно неправильный"), отдельно отправленные знаки препинания, и, уж простите, детские ошибки.

Возможно, я всё ещё живу в прошлом, но всё-таки хочется думать, что сотрудник, будучи "при исполнении", является лицом компании, особенно если это hr, csm, cs, и тому подобное. Да, нужно учиться взаимодействовать с людьми (пусть и с теми, которые не принесут вам очевидной выгоды), но это важно. Это к вопросу о soft skills, про которые мы говорили на нескольких стримах. Пусть даже я эти должности не занимаю, но всё-таки когда мне пишут с вопросами о продукте или о решениях open source, которые мне нужно поддерживать, я стараюсь отвечать как можно более вежливо и профессионально. Это с дружбанами или с ИИ я могу писать всякую чушь. 😄

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

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

Короче: стоит относиться хотя бы с минимальным уважением друг к другу. Да, детей вместе не крестить, но не хочется жить в мире, где человек человеку - волк.
👍26🤔2🙏1
Ну, и минутка культуры.

Из других "воспоминаний" уже давно ушедшей эпохи, которые стоит послушать (совершенно необязательно в моём исполнении, наверняка можно найти другие версии) - это о Мережковском и Гиппиус. Это тоже то, что западает в душу надолго.

"Никто никого не любит. Никто и никого" - как утверждал Мережковский во время Второй мировой. С одной стороны, хочется повторить эти слова (и страшно подумать, насколько часто они всплывают в голове в последние годы). Но, с другой стороны, совершенно не хочется. https://www.youtube.com/watch?v=qDzz15E1IQo
11🙏2
Mate gimme a break for god's sake...

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

Выглядит это всё так, как будто чекист ведёт твоё досье 😂 Впрочем, это можно удалить (неясно, удаляется ли это "на самом деле")
4😁3😱1
Ещё раз о GH Actions и о цене опечатки. Здесь подробно описано, что нужно быть очень аккуратным при подключении каких-либо действий. Злоумышленник может создать действие с названием, очень похожим на "настоящий" action (к примеру, action/checkout вместо actions/checkout), которое делает нечто очень неприятное. Ну, к примеру, каким-то образом меняет код. Поэтому будьте осторожны https://orca.security/resources/blog/typosquatting-in-github-actions/
3👍3
Давно вас не радовал умными и не очень мыслями, хотя их есть у меня. А поговорить хотелось бы о том, о чём не все и не всегда задумываются, особенно в ранней молодости: о некоторых здоровых и не очень привычках. А ведь уже сформировавшие дурные привычки потом сложно изменить...

Честно говоря, обычно думать об этом не очень хочется, мне в том числе. Какая разница - все и так планируют жить лет до ста, а уж раньше-то жили по 150 лет минимум (и ростом были по 5 метров).

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

Задумался я об этом всём тогда, когда как-то набрал вес и сильно увлёкся горячительным. С Джоном Ячменное зерно связь всё равно периодически приходится поддерживать - она сформировалась много лет назад, когда я чуть не заехал на психушку, а затем буквально заново учился есть. Такие штуки проходят долго и не слишком легко, однако и с этим кое-что получилось сделать.

Но во многом упор был сделан на пищевые привычки, которые за последние лет 10 удалось несколько перестроить. Теперь, спустя все эти годы, я могу сказать честно - это того стоит. Не сказать, что раньше я каждый день питался, как герой фильма Super size me, но бывало всякое. Теперь "всякого" не бывает почти никогда и это несколько помогает жить.

Делюсь я этим потому, что мой девиз остаётся прежним - "я просто хотел помочь". Слушать данные советы или нет - дело хозяйское, мы тут все относительно большие мальчики-девочки. Итак, основные моменты.

Vispirmais, забудьте слово "фаст-фуд". Да, фаст-фуда больше не существует от слова "совсем". Вы туда не ходите и ничего оттуда не заказываете, даже если никто-никто про это никогда не узнает. Скажу, честно последний раз что-либо я ел в фаст-фуде полгода назад (жена очень захотела жареных крыльев, я попробовал парочку), а до этого - три года назад. Самый максимум - диетическая шаурма с нежирным соусом, но в этом случае это единственное блюдо на ужин.

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

Далее, количество разнообразных снеков мы снижаем практически до нуля. Как можно меньше чипсов и сухарей. Если неймётся - можно какие-нибудь хлебцы или мелкие "хрустелки" с отрубями. Хорошая штука. Хотя в идеале лучше заменить мини-морковью или чем-то таким. Особенно не советую хрумкать чипсы перед сном, чтобы не было ощущения, что во рту ночевал табор цыган.

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

Вообще, присмотритесь к азиатской кухне, если ещё не. У этих ребят много вполне полезных и очень вкусных блюд. К сожалению, мои любимые китайцы, о которых я как-то рассказывал, съехали, а корейцы перебрались на другой конец города, но эти кухни занимают особое место в сердце.

Прекратите налегать на сладкое. Серьёзно, количество шоколада лучше снизить до минимума. Не помню, когда я последний раз брал шоколад, но это всегда что-то с содержанием какао 70%+ или поделка без сахара и из каких-то водорослей (не знаю, не спрашивайте, но вкусно).

Вероятно, латте с солёной карамелью - это очень круто, а burbļu tēja - так вообще (это такой чай с шарами), но всё это сильно калорийно. Шары делаются из тапиоки, которую котируют бедняки, так как дешёво и нажористо. Лучше чёрный кофе со свежим соком или просто сок какой-нибудь свеклы без сахара. Бонусом можно почувствовать себя вампиром.
24👍7🔥2😱1
Конечно, алкоголь лучше минимизировать, если есть возможность. Ну, по крайней мере контролировать это дело, чтобы не стать рабом того самого супер-героя Ячменное зерно. Об этом интересно пишет Джек Лондон, почитайте на досуге. Кстати, любителям этого дела советую принимать магний. Таблетки такие, обычно продаются без рецепта. Про курение даже не говорю.

И да - давайте начинать двигаться. Не стоит везде ездить на машине или электросамокате. Купите велосипед. Ходите пешком. Я понимаю, что это не всегда и не всем доступно, но стоит стремиться. А делать простые упражнения можно и квартире - для этого не нужно платить сотни евро за абонемент в зале.

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

https://music.youtube.com/watch?v=i2i_jtU8IgM&feature=shared
❤‍🔥29👍228💯3🤔1