местный датасасер ☮️
1.92K subscribers
1.01K photos
61 videos
7 files
659 links
Пишу всякое о технологиях и моих проектах, @egorvoron
Download Telegram
Forwarded from Loskir's
🆎 О переводе @RoundDFBot на другие языки.

Последняя неделя выдалась жаркой. Стоило только добавить в бота просьбу откликнуться тем, кто готов перевести бота на свой язык, как почти тут же мне написало с десяток неравнодушных господ, говорящих на всевозможных языках. Я просто не мог не ответить на их предложения взаимностью, поэтому каждый получил по yaml-файлу с английским шаблоном и приступил к работе. После того, как переводы были завершены и проверены (и завершены ещё раз), мне надо было пофиксить стилистические ошибки (двойные пробелы, лишние отступы, заглавные буквы), включить авто-детект для этого языка, подключить соответствующую локаль для date-fns и, конечно, добавить имена переводчиков на доску почёта. Задачи не сколько сложные, сколько утомительные🥱

Но это стоило того! Сейчас в бота уже добавлено 9 языков: 🇸🇦🇩🇪🇬🇧🇪🇸🇮🇹🇧🇷🇷🇺🇹🇷🇻🇳 и ещё несколько на подходе. Надеюсь, пользоваться ботом стало удобнее🤗

Но как аккуратно намекнуть старым пользователям, что в боте появился их язык? Просто сделать рассылку — не самый хороший способ, лучше отправить сообщение тогда, когда пользователь сам решит воспользоваться ботом. Именно так я и сделал (правда, пришлось переворотить при этом почти весь код, хотя бы косвенно связанный с локализацией) (пришлось — это такая отмазка, оно как-то само так вышло за несколько часов тыканья по кнопкам). Выкатил обнову и сижу довольный, хоть и уставший😌
2 часа ночи, с нк (площадь перед Физтех.Квантом) доносятся крики и раммштайн, а я доделываю английский после многочасовой долбежки с матаном. Романтика!
Вчера рассказывали с ребятами как мы делали ASR ВКонтакте. Я всегда жутко волнуюсь, когда выхожу в публичное пространство. Я начала с того, что перепутала акустическую модель с языковой, но раскачалась, поймала вайб и дальше уже было нестрашно. Были трудности, но я рада, что мы организовали этот ивент — сейчас мы работаем над другими интересными проектами, о которых вы скоро тоже услышите 😏

https://vk.com/tech?z=video-147415323_456239362%2F7618ef4a64069b66a0%2Fpl_wall_-147415323
Forwarded from Loskir's
🆎 POEditor

Как результат моих мучений с переводом @RoundDFBot на другие языки я таки решил воспользоваться каким-нибудь сервисом для crowd-translation. После обращения всё к тому же списку GitHub Student Developer Pack я остановился на POEditor.

За несколько минут импортнул туда все существующие локализации, за полчаса написал скрипт, который по API достаёт их оттуда и записывает в файлы, быстренько раздал переводчикам join-ссылки. И вот у нас уже есть страничка, где все желающие могут внести свой вклад в общее дело.

Насчёт тарифов: бесплатный ограничивается 1000 строками, в рамках GitHub Student Developer Pack дают 10000. В принципе, для простенького бота с тремя-четырьмя языками хватит и бесплатного тарифа, у нас, если доперевести все языки, получится около 1100 строк.

Интерфейс достаточно удобный, неудобств я не заметил. Пока что всё нравится
Ребята, теория множеств это страшно...
🎉 У нас отличные новости: число пользователей @RoundDFBot перевалило за миллион!

📈 Примерно за шесть месяцев существования (7 октября боту будет полгода🍾) наш бот пережил несколько взрывных ростов популярности, самый большой из которых пришелся на август-сентябрь, когда дипфейки, сделанные с его помощью, стали вирусными в TikTok. В начале августа у нас было менее 20 тысяч пользователей, к концу же мы пересекли отметку в 360 тысяч, а за сентябрь количество пользователей практически утроилось.

🙏 Огромное спасибо всем, кто поддержал бота материально — благодаря Вам мы смогли арендовать большие вычислительные мощности, без которых бот бы не справился.
Forwarded from Loskir's
🙄 Как уже написали @localhost_ru и @bpblog, сегодня начался Hacktoberfest. Это цифровой ивент, проводимый компанией DigitalOcean.

В чём суть? Цель ивента — поддержка OpenSource комьюнити. Если сделать 4 пулл-реквеста в любые публичные репозитории в течение октября, можно получить бесплатную футболку (или попросить посадить дерево вместо неё).

И несмотря на то, что в правилах явно сказано "если мейнтейнер пожалуется на спам или нарушение code of conduct, тебя отстранят от участия", начался сущий кошмар.

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

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

В общем, участвуйте на здоровье, но не позорьтесь, пожалуйста🥺
Forwarded from Loskir's
🚙 Сегодня спонтанно оптимизировал генерацию видео в @RoundDFBot, а точнее сохранение результата в файл.

Для работы с видео мы используем moviepy. По сути это обёртка над ffmpeg, хоть и с большим количеством своих API. Её достаточно просто использовать для поверхностной работы, а вот для каких-то особых задач она может показаться громоздкой и ограниченной.

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

По историческим причинам до сегодняшнего дня мы использовали API с самого последнего слоя: семейство Clip'ов, а именно VideoClip и ImageSequenceClip. Пользоваться ими было очень просто:
ImageSequenceClip(frames_with_watermark).write_videofile(output_path)
Но их главная проблема в том, что сначала все кадры загружаются в оперативную память, а только потом скармливаются ffmpeg'у.

"Но ведь ffmpeg умеет принимать кадры через stdin! Почему бы не скармливать их сразу по мере готовности? Ведь тогда потребуется меньше оперативной памяти, а, может быть, и уменьшится время работы. Я же даже реализовывал это в @ArcDrawerBot, хоть и на JS", — подумал я и принялся за дело.

Решив не переписывать всё с нуля, я спустился всего на две ступеньки по лестнице абстракций и использовал FFMPEG_VideoWriter. В нём реализовано самое низкоуровневое взаимодействие с ffmpeg: создание субпроцесса, скармливание ему кадров через stdin, закрытие субпроцесса. Работа с ним выглядит примерно так:
with FFMPEG_VideoWriter(output_path, size, fps) as writer:
for frame in frames:
frame_with_watermark = add_watermark(frame)
writer.write_frame(frame_with_watermark)

Теперь кадры видео не складываются в массив лишний раз, а сразу записываются в файл. А ещё это изменение позволило реализовать нормальный прогресс-бар. И даже если реальная скорость записи не выросла, следить за прогрессом явно стало приятнее🌚
Нашел классного бота, который с помощью нейронки меняет расу...
Forwarded from Deleted Account
Forwarded from Not Boring Tech
This media is not supported in your browser
VIEW IN TELEGRAM
🌊 Незамысловатую нейронку «Sea-thru» недавно показали интернету. Она учитывает и анализирует глубину, диапазон, расстояние до объекта и источники света — всё для идеального удаления воды на фото и видео. В некоторых случаях получается очень даже прикольно.

🐡 Такая нейросетка может пригодится не только нам на «позабавиться и поиграться», но и исследователям для новых подводных изучений водоёмов, морей и океанов.

💾 Кода я не нашёл на их сайте (зато нашёл пейпер — 14,86 мб): https://csms.haifa.ac.il/profiles/tTreibitz/datasets/sea_thru/index.html
Вчера вышел Python 3.9! 🥳
Лично я по питону сильно соскучился, ибо уже второй месяц пишу только на C и плюсах, а тут еще и обнова подъехала 😎

Итак, что нового и действительно интересного:
1. Новые операторы для словарей: finally можно нормально их мержить:
dict1 = {'x': 1, 'y': 2}
dict2 = {'x': 4, 'z': 5}
print(dict1 | dict2) # выведет {'x': 4, 'y': 2, 'z': 5}
2. Методы строк, позволяющие получить строку без указанного префикса/суффикса:
"abcdef".removeprefix("abc")  # выведет def
"abcdef".removesuffix("def") # выведет abc
3. Более удобные декораторы, теперь там можно делать что-то такое:
@buttons[0].clicked.connect
def spam():
...

📗 Также добавили плюшек в аннотации, обновили поддержку Юникода и много других мелочей, о которых можно почитать на официальном сайте.
Отдельный респект за очередную отсылку к Монти Пайтону на странице обновы
Forwarded from котострофа складка та дужки пуассона
Forwarded from Neural Shit
УХ БЛЯ, там Nvidia выкатила обнову для StyleGAN2.
Из примечательного:
1)значительно лучшие результаты для датасетов с менее чем ~ 30к изображений
2)Поддержка смешанной точности: ~ в 1,6 раза быстрее обучение, ~ в 1,3 раза быстрее вывод, ~ в 1,5 раза ниже потребление памяти графического процессора.
3)Автоматический выбор гиперпараметров: разумные готовые результаты для любого разрешения, набора данных и количества графических процессоров.
4)Отрефакторили код, теперь будет проще перепиливать для своих велосипедов.
5)Ещё какая-то хуйня.

Скорее бы вечер, чтоб прийти с работы и потестить.

Ссылка на репозиторий
Обычно я не очень интересуюсь чем-то связанным с автоиндустрией, но концепция электрокара от Мерседеса VISION AVTR, вдохновленного Аватаром, меня сильно впечатлила.
Что в ней особенного?
Во-первых, прекрасный дизайн, напоминающий параметризм Захи Хадид (стиль архитектуры и дизайна, делающий акцент на плавных линиях).
Во-вторых ux, основанный на идее того, что машина — живой организм, и поэтому позволяющий по-новому взаимодействовать с ним. Замена привычного руля специальным устройством для контроля автомобиля, использование проекций вместо дисплея (конкретна эта часть мне не зашла, не думаю, что она достаточно удобна), отказ от голосового взаимодействия, которое разработчики посчитали слишком похожим на систему команд, чем на диалог с собеседником.
В-третьих, колеса особой формы, позволяющие передвигаться в стороны (Брюс Уэйн, запиши это!).
В общем, это попытка сделать автомобиль продолжением человека, гармонически сочетающимся с окружающей средой, в чем-то являющийся антиподом Кибертрака Теслы.
Советую чекнуть классный видос, в котором этот электрокар показывают в действии.
Forwarded from Loskir's
JetBrains запустила открытое тестирование Code With Me — нового расширения для совместной работы с кодом.

Заценить его можно в EAP-версии 2020.2 почти всех IDE от JetBrains.

В процессе тестирования расширение доступно бесплатно, потом его обещают сделать платным, но больше никакой информации нет.

blog.jetbrains.com/ru/blog/2020/09/28/code-with-me-eap/
Forwarded from Loskir's
🎁 7 октября @RoundDFBot исполнилось полгода!
В честь этого мы приготовили для вас мини-статистику.

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

Ну и, конечно, выражаем огромную благодарность тем, кто поддержал нас материально, ведь без их помощи мы не смогли бы вытянуть и дня при такой нагрузке. Ура!
Классная идея кстати
Forwarded from Not Boring Tech
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍🎨 Российские художники выпустили приложение с дополненной реальностью «AR Hunter» для Петербурга, которое позволяет увидеть закрашенный стрит-арт в городе.

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

📣 Если вы не заметили, за последние месяцы закрашивание граффити в Петербурге неоднократно попадало в повести СМИ и соцсетей — видимо так художники хотели напомнить о проблеме.
Доступно в App Store и Google Play.