DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
978 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Памятка по некоторыми функциям JS
😁31🌭6👍4🐳1
К вопросу об искусственном интеллекте. Попробовал на днях пару сервисов по созданию озвучки для видео на основе имеющегося сценария. 🎙 Дело в том, что по работе мне частенько приходится создавать разные видео, причём в ряде случаев необходимо, чтобы актёр был англичанин или американец (ну, или американка).

Так вот, заказывать озвучку у профессиональных актёров, особенно опытных - это удовольствие недешёвое. 💸 Грубо говоря, за 2000+ слов можно выложить 400-600 баксов (но это с коммерческими правами и всеми делами). Для компании не сильно дорого, но всё-таки.

И вот появилась мысль решить этот вопрос с помощью AI. Надо сказать, что я был впечатлён - грубо говоря, ещё 5-10 лет назад ничего подобного от электронных "озвучивальщиков" добиться было нельзя. Причём цены смешные, в духе 30 долларов в месяц, включено 10 часов генерации аудио. Загрузил сценарий - нажал экспорт - получил файл. Причём можно выбрать один из понравившихся голосов из библиотеки, поддержка имеется для десятка языков. Удобно!

Но, конечно, без нюансов никуда. ✍️

1. Произношение специальных терминов. Время от времени его приходится править руками, вводя правильные фонемы. Это дело не слишком сложное, но надо привыкнуть.

2. Логические паузы и акценты. Генератор не всегда правильно расставляет паузы и акценты, приходится химичить со всем этим самостоятельно.

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

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

5. Из четвёртого вытекает и пятое - звучать всё это может скучновато. То есть это подходит для небольших обучающих видео, для каких-то инструкций, даже выпусков новостей, но никак не для озвучки фильмов, игр, каких-то больших подкастов и стримов. 🎥

Но вообще должен сказать, что в целом результат мне очень понравился и для моей задачи подобные сервисы подошли как нельзя кстати. Потом, когда доделаю видео (там ещё визуал остался), скину результат. Догадаться, что это озвучивает машина, действительно не так просто.
👍25🔥41😁1🌚1
Очередная часть сериала про нейросеть. В этот раз обсуждаем быдлокод и узнаём, что некоторые шутки могут быть неправильно восприняты в рабочей среде. На всякий случай, уточню, что всё это просто шутка, я не коммитил сегодня в мастер 😄
👍9😁51
Друзья, напоминаю, что сегодня у нас стрим. Поговорим о написании рабочих (официальных) писем/сообщений на английском и в принципе о взаимодействии с коллегами. Это довольно важная тема, особенно в свете того, что многие теперь работают удалённо, хотя частенько внимания ей не уделяют. https://www.youtube.com/watch?v=3uBERHmqZOU
12👍3👏2
👆залетайте через 5 минут
👍3
Итак, вы просили - мы организовали. В эту среду в 19:00 UTC+2 состоится стрим, в рамках которого мы пообщаемся с бывшими студентами нашей школы и поговорим о поиске работы и прохождении собеседований в крипте. Что обычно спрашивают? Какие знания требуются? Какие есть подводные камни? И другие важные моменты. Так что welcome, будет интересно https://www.youtube.com/watch?v=-C-oUNhNrhg
20🔥5👍1
Как и обещал, тут можно найти видео, которое полностью озвучено с помощью AI. Звучит, в общем, неплохо. Визуал и сценарий, само собой, приходится делать самостоятельно https://developers.lokalise.com/reference/working-with-the-ota-api
👍6👏1
Друзья, сегодня просто для развлечения начитал рассказ Джека Лондона "На сороковой миле". ✍️

Результат опубликовал на YT, но видео пока unlisted (то есть видно только по ссылке). Не знаю, стоит ли продолжать и будет ли это кому-то интересно, но, наверное, что-то подобное можно послушать в дороге или в спортзале. 🤾‍♀️

Конечно, я не профессиональный актёр, но малоизвестных рассказов Лондона особо никто не начитывает, так что почему бы и не заняться этим. Ну, а так как со смерти автора прошло более 100 лет, то тексты находятся в public domain и по ним можно делать аудиокниги. Как-то так, если будет какое-то мнение на этот счёт - буду рад его услышать. https://youtu.be/TlRFdDM1UG0
👍27❤‍🔥5👌2🤔1
Пожалуй, так и сделаю. Но новое видео про Hotwire всё-таки закончу, тем более, что там только мотнаж остался. Пока сырого времени на час с небольшим, но, вероятно, после усушки будет около 45 минут
👍22🔥5💯2
В этом уроке мы обсудим несколько более продвинутых вещей, связанных с Hotwire: как отлавливать момент подписки на канал и запрещать подписку тем, у кого на это нет прав; как использовать "ленивые" фреймы для условного рендеринга (например, когда нужно показать кнопку "редактировать" или "лайкнуть" только определённым людям) и как решить подобную задачу средствами Stimulus. Всё это мы будем рассматривать на реальном примере: приложение-чат, в котором есть разные комнаты, возможность редактировать и лайкать сообщения. Также поговорим про новую фичу Stimulus, которая называется outlets. https://www.youtube.com/watch?v=sZRcSIho5Uo
🔥19👍6🆒2
Что ж, сегодня выходные, значит, можно немножко отдохнуть от кода 🤓 Наша изба-читальня представляет первый рассказ из цикла "Смок Беллью", написанный Джеком Лондоном в далёком 1912 году. Это увлекательная, но, в общем, ненапряжная серия рассказов о приключениях на Аляске и о золотой лихорадке https://www.youtube.com/watch?v=f442d241II4
🔥7
В дополнение к прошлому уроку по Rails. 🚨Мы тут ещё поговорили в комментариях на YT и родилась идея в хуке subscribed сравнивать room_id из params с ID комнаты, зашитой в названии канала (stream_name). Ну, либо сразу брать ID оттуда. Просто иначе юзер может попытаться подделать название канала (это реально) и слушать обновления из нужной комнаты, не имея туда доступа.

⚠️Вообще про подделку названия канала надо помнить - это вовсе не теоретическая, а вполне реальная возможность. Поэтому если какой-то канал содержит "секретные" данные, то делать проверку на сервере в хуке subscribed надо обязательно!
👍6
Иногда мне снится, что я просыпаюсь и опять иду в школу, а последних... страшно посчитать, скольких, лет не было (двадцати, больше?.. смотря, как считать). Но потом я понимаю, что не хотел бы прожить эти годы ещё раз. Это было весьма неприятное время, когда приходилось зависеть от других - больше подобный эксперимент повторять не хотелось бы. Нет, нас формирует среда, и мы формируем среду вокруг себя. И сделанные ошибки, оставаясь с нами, являются важным опытом. https://www.youtube.com/watch?v=hbbbark8k7w
👍13🔥2😱1
😁24🥴31🔥1😢1
Рубрика "заметки на полях". Видео с теорией про ZK почти готово, думаю, что завтра выйдет. Хотелось за сравнительно небольшое время рассказать теорию и описать основную суть, надеюсь, что получится, как задумано. Возможно, в следующем уроке посмотрим реализацию всего этого дела на реальном примере.

Было желание закончить к этой неделе один трек, но, увы, вокал так и не записали пока... Во всяком случае, не до конца. Ждём-с.

Сегодня нейросеть сгенерировала новость: Жители Латвии и Литвы едят друг друга. Ну, может так и есть? Кстати, отвечая на часто задаваемый вопрос, сообщаю: национальности "прибалт" не существует. Да, в общем литовский и латышский языки похожи, хотя со многими оговорками (какие-то слова я даже могу понять), но уж эстонский - это совсем другая степь. Грубо говоря, если латышский имеет кое-что общее даже с русским, то эстонский близок финскому, чем-то венгерскому и, вы не поверите, языкам, на котором говорят манси. А причина простая - это всё уральская группа языков. Так что приезжайте как-нибудь в гости, у нас вполне приличные курорты, мало народу на пляжах (хотя на выходных днём хватает) и вообще полно пьяных британцев и финнов на улицах (тут напиваться куда дешевле, чем в той же Финляндии). 😂 Только один момент - майку с серпом и молотом лучше оставить дома.

Ну, и последнее. Дай, думаю, попробую новый TS у себя в проекте, но, увы и ах, ts-node пока ещё пятую версию не поддерживает, так что впечатлениями поделиться не могу 🤓
👍20🔥2❤‍🔥1👏1
В этом уроке мы поговорим о масштабировании Ethereum с помощью внедрения так называемого layer 2. Мы узнаем, что такое Zero knowledge rollups, чем они отличаются от optimistic rollups, что такое zk proofs, как это работает, какие есть особенности и нюансы. https://www.youtube.com/watch?v=n-AoDMc5rc8
26🔥8👍4❤‍🔥2👏1🤣1
Я на занятиях говорю студентам: "не надо есть в аудитории и громко разговаривать"

Студенты на задних партах: https://www.youtube.com/watch?v=Um5R_PH7Jek (особенно со 2й минуты)
❤‍🔥4😁3
Прислал Лео (наш гость на последнем семинаре про работу). Имеется функция external, в которой есть буквально вот такая проверка:

require(msg.sender == address(this), "...")


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

В частности, можно сделать call и просто обратится к самому контракту, в духе

address(this).call()


И тогда даже функция external вполне себе вызывается. 😄 Ну, в Ruby мы бы использовали send, чтобы вызвать закрытый метод - аналогичная история.

Впрочем, таким "хаком" пользоваться постоянно не стоит, так как раз уж вы пометили функцию как external, то, видимо, имели какие-то намерения. Если уж она нужна внутри контракта, то проще написать public
👍13🙏1
2023-02-03 01_52_07-Who is Ilya Bodrov_ — Mozilla Firefox.png
39 KB
Ну, в общем новый заход с нейросетью, поспрашивал про себя. Как выяснилось, я уже давно в Канаде. 😂😂
🤣9🤩2👍1😱1