DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
976 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Немного новостей.

У меня новая статья о Python и Playwright, с помощью которого можно взаимодействовать с веб-страницами и собирать данные https://www.scrapingbee.com/blog/playwright-for-python-web-scraping/

Понемногу экспериментирую со всякими GitHub Actions, возможно, это в какой-то момент превратиться в обучающий материал https://github.com/bodrovis/Lok-Actions

Вышел новый трек по мотивам "Часа быка" https://soundcloud.com/ravens-die-laughing/ship-take-off

Так что по желанию можно ознакомиться с чем-то из этого или со всем сразу 😄
👍137🤝1
⚠️ Друзья, в очередной раз напоминаю всем: будьте предельно осторожны, покупая неизвестные токены. Вот буквально только что разбиралась история в чате, когда купленные токены оказалось невозможно продать - классический honeypot, как разбиралось в уроках.

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

Поэтому будьте предельно осторожны! И ещё раз напоминаю, что ни здесь, ни на YT, и в рамках школы GuideDAO мы не предлагаем купить никаких токенов или NFT и не даём советов по инвестициями. Если вы увидели где-то что-то подобное от моего имени, это мошенники
👍274
Продолжаем регулярную рубрику "интервью с ИИ". В этот раз по мотивам нашей дискуссии, состоявшейся полгода назад во время стрима, когда я предложил термин "дети, воспитанные ИИ" (скорее, в шутку). На этот раз по-русски, так как, судя по всему, там модерации сильно меньше в отличие от английского
😁15😱1
Ещё раз к вопросу о 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