DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
976 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Набор принципов разработки от одного достаточно известного дядьки. Как мне кажется, многие принципы весьма актуальны https://www.epicweb.dev/principles
❤‍🔥6
Weekly AI shitposting. ИИ мотивирующий.

P.S. Не знаю, будут ли у нас бдения на этой неделе, пока обсуждаем, у Ромы, к сожалению, много дел :(
😁81👍1
Очередной coming out: я вообще-то сильно увлекаюсь историей конца XIX - начала XX века. Когда-то в другой жизни я даже хотел стать историком. Но, в общем-то, не случаен мой интерес к поэтам Серебряного века, и у меня немало записанных рассказов на канале (кстати, того же Кузмина я оценил только в зрелом возрасте).

И вот такая странная, казалось бы совсем маленькая деталь, на которую и внимание-то никто не обратит. В воспоминаниях Надежды Тэффи об Алексее Толстом рассказан эпизод, из которого явно свидетельствует - данный джентльмен играл на грани фола и весьма странно, что ему не надавали по мордасам 😂 Но суть не в этом. Толстой на какой-то очередной тусовке прокрался в кабинет Тэффи и облил себя её духами. Зачем? А он буквально за несколько минут до этого поинтересовался, что, дескать, у тебя за аромат такой необычный?

"А это Герлен, "Мицуко" - отвечает Тэффи. "Ничего себе, Герлен же страшно дорогой" - удивляется Толстой. "Ну, такие подарили!".

В общем, Толстому показалось, что вылить на себя сразу целый флакон дорогих духов - это высший шик. Казалось бы, на дуэль тогда уже не вызывали, но это не совсем так, ибо Волошин стрелялся с Гумилёвым не так, что бы сильно задолго до этих событий (хотя там был happy end). Так или иначе, Толстой остался в дураках, потому что в темноте облился чернилами и был страшно разозлён, почему-то считая, что виновата в этом хозяйка... В общем, полную историю можно послушать у меня на канале. https://www.youtube.com/watch?v=FU8_ITCrml0

Но речь тут не об этом. Я, как последний нерд, пошёл искать информацию об этих духах. И - что бы вы думали - находится она легко. Духи Мицуко были выпущены в 1919 году, из чего можно сделать простой вывод - сцена эта произошла уже в Париже, куда эмигрировала Тэффи. Честно говоря, до изучения таких подробностей, я был уверен, что этот рассказ относится к середине 10-х.

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

В общем, что уж - заказал. Ну, не себе конечно, это женский аромат 😂 Скажу честно: ничего подобного я не нюхал даже близко. Передать сложно, но это нечто сложное, напоминающее о прелой листве, о земле, об осени, о долгих вечерах. Это не на каждый день. Но просто даже ощутить нечто подобное, узнать историю - это очень интересно. Вообще говоря, это неплохой подарок для женщины (не реклама) 😜

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

Знаете, читая подобное, кажется, что 100 лет назад - это не так давно. Практически вчера. Да-да, почти сто лет одиночества

P.S. Отдельное спасибо ИИ, который называет себя "Куно" - он помог установить некоторые даты которые мне было лень гуглить. Куно утверждает, что "духи — это не просто запах, это маленькая история на коже"
👍149❤‍🔥5🤔1🤯1🤣1
Сегодня котики в ленте 😺 Ну, точнее моя кошка Сиф, которая показывает новые и старые трюки. https://www.youtube.com/watch?v=GYBB-innIMg

Отмечу, что в целом я не сторонник использования животных для долгих и постоянных выступлений на сцене (да-да, волк в цирке не выступает). Честно говоря, даже для съёмки небольшого видео кошку надо заинтересовать и постоянно угощать, иначе ей просто неинтересно делать несколько дублей (в некоторые же дни она просто не в настроении). Что уж говорить о ситуации, когда нужно безукоризненно выполнить все трюки перед скоплением народа
15🥰3😁3
Ну, а в пятницу вечером будет стрим заключительный. Мы по традиции подведём итоги и поговорим о том, что нас ждёт дальше. Здесь, как обычно, anything goes - любые вопросы, можно присылать заранее. Скоро увидимся https://youtube.com/live/7-OhoDMxYO4?feature=share
👍123
Что ж, друзья, спасибо за участие в сегодняшнем заключительном стриме, было интересно 😁 Конечно, нашему ИИ по имени Куно тоже есть, что сказать под конец этого года. И он это скажет сам 😄 Я лишь его немного разговорил
👍25102😁1
Кстати, хотел рассказать об интересном подходе в GH actions. Можно создать цепочку из шагов, которые будут сами открывать PR (ну, к примеру обновлять какие-то файлы из другого источника) и сами делать merge. То есть всё работает само - просто мечта 😄

Предположим, в одном из шагов у нас уже загрузились файлы и создалась ветвь, теперь нужно открыть PR. Это можно легко сделать вот так:

    - name: Create or Update Pull Request
uses: actions/github-noscript@v7
with:
github-token: ${{ github.token }}
noscript: |
const path = require('path');
const createOrUpdatePR = require(path.join(process.env.GITHUB_ACTION_PATH, 'js/create-update-pr.js'));
await createOrUpdatePR({ github, context });


В файле js код для создания pr:

module.exports = async ({ github, context }) => {
const { repo } = context;

const { data: newPr } = await github.rest.pulls.create({
owner: repo.owner,
repo: repo.repo,
noscript: "some noscript",
head: branchName,
base: baseRef,
body: "",
});
}


baseRef - это переменная среды, которую можно в самом действии задать как ${{ github.ref_name }} (github - это встроенная штука)

А теперь этому pr можно назначить тег, чтобы потом сделать automerge:

      await github.rest.issues.addLabels({
owner: repo.owner,
repo: repo.repo,
issue_number: newPr.number,
labels: prLabels,
});


А вот следующим шагом мы запускаем программным способом другой workflow, которые сделает merge:

      - name: Trigger Automerge Workflow
uses: actions/github-noscript@v7
with:
github-token: ${{ secrets.PAT_TOKEN }}
noscript: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: "automerge.yml",
ref: source_branch,
});


В качестве source_branch задаётся ветвь, которая создалась для pr.

Здесь также потребуется токен с правами на управление workflow, но его можно легко создать в профиле.

И затем в automerge.yml:


steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Automerge PRs
uses: pascalgn/automerge-action@v0.16.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MERGE_LABELS: "automerge"
MERGE_METHOD: "squash"
MERGE_RETRIES: 6
MERGE_RETRY_SLEEP: 10000
MERGE_DELETE_BRANCH: "true"


Он просто найдёт pr с нужным тегом и сделает merge, если нет конфликтов и проверки прошли. Теперь для всего этого можно задать условие запуска (к примеру, по расписанию) и наблюдать за результатом 🤓
🔥10👍32
Знаете, меня иногда почему-то странно затягивают необычные случаи, которые случались в разное время. Затягивают настолько, что я готов изучать литературу на английском языке и затем публиковать статьи по теме. Так, анонимно я выпустил статьи о якобы "кровавой графине" Батори (спойлер - нет, она не купалась в крови своих жертв), об Элизе Лэм, человеке из Сомертона и некоторых других личностях.

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

В деле вновь Cat&Mouse team, состоящая из полутора землекопов, приданной кошки и поддерживаемая крепким сидром Henry Westons. Надеюсь, публикация не заставит себя ждать. В конце концов, я думаю, что даже спустя десять лет это дело вполне реально раскрыть. Некоторые дела ждали своего часа куда дольше, а девушки заслуживают того, чтобы эта история получила достойный финал.
🔥32👍12❤‍🔥11🆒1
Weekly AI shitposting, первый в этом году. В этот раз летим к далёким звёздам 💫

P.S. Перевод книги потихоньку двигается, новые уроки скоро будут делаться
❤‍🔥10👍52
uh-oh. Статья о том, как подобрали приватный ключ для имеющегося публичного https://dmarcchecker.app/articles/crack-512-bit-dkim-rsa-key
🤯7🔥5
Привет друзья! Что ж, вот и настал 2025. 🎉 Как уже рассказывал на последнем стриме, у меня довольно много планов на ближайшие месяцы; вижу, что и вы не отстаёте. Новый год — отличный повод сделать очередной шаг в своём обучении, и школа GuideDAO предоставляет всем этот шанс 😄 В ближайшее время мы предлагаем скидку 25% на любой буткемп, а я лично от себя накидываю ещё 10% по промо-коду KRUK. Неплохо, правда? Присоединяйтесь, пока есть такая отличная возможность, поработаем вместе. 🤓 https://www.guidedao.xyz/
16🔥9❤‍🔥32👍1👀1🫡1
Сегодня наш постоянный зритель задал правильный вопрос - а зачем (с точки зрения школьника 10-12 лет) вообще учить всякие нудные математики, химии и иностранные языки, если под рукой ИИ, а через 5-10 лет он будет вообще в каждом утюге? Это правильный и непростой вопрос, друзья. Периодически я задумываюсь и сам о вопросе мотивации, о том, зачем вообще делать нечто, если, в общем-то, этого можно и не делать. Ну, из последнего (в рамках перевода книги) - подсчёт костей в оторванной ноге и перевод всех протоколов вскрытия посередь ночи. Случай, конечно, редкий, но всё же. Можно же и не заниматься этим? Можно

В общем, всё-таки хочется поговорить об этом как-нибудь. Может, устроим беседу по тему на неделе, если буду себя более-менее нормально чувствовать https://www.youtube.com/watch?v=TlETg5LrAec&list=PLEpfc0uyT8lDDUfjSLRjpQKFScNzEW1PD&index=7
19👍8🔥7
Ночь. Город спит
25👍13
Завтра вечером спецвыпуск 🤓 https://www.youtube.com/live/pFoVimn3AoQ
12🔥1
Я тут нашёл новое интересное решение для перевода приложений NextJS, описал в небольшой статейке. Подкупает простота и удобство, хотя местами может быть сыроватое ещё https://lokalise.com/blog/nextjs-localization/
👍112
Как говорится, надо уметь говорить "нет". Этот шуточный сайт предлагает разные вежливые отказы менеджеру, объясняющие, что пока эту фичу реализовывать никто не будет 😂 https://letsnotdothat.com/
😁5👍3