uk
Feedback
STACK MORE LAYERS

STACK MORE LAYERS

Відкрити в Telegram

Еще один канал в твоем списке, который ты не будешь читать Author: @alxmamaev

Показати більше
2 316
Підписники
Немає даних24 години
+197 днів
+730 днів
Архів дописів

🪄 ЗАГАДКА ДЫРЫ 🧙 Не знаю, может я навожу конспирологию, но этой информации я не нашел ни на реддите, ни где-то еще, как будто никто не задавался этим вопросом. Сразу скажу, я проверял это на разных устройствах, в разных сетях и в течение полугода. Но кажется google намеренно тормозит свои сервисы в safari. Как это проявляется? Зачастую веб приложение просто зависает, посреди ничего, невозможно кликнуть на текстовые боксы, приблизить, отдалить, проскроллить, вообще ничего. Ни о какой реактивности интерфейса в эти моменты можно и не говорить. Пример зависания в видосе. При этом, если вы откроете тот же сайт в этом же месте в google chrome вы не пойматете ни единого бажка, комар носа не подточит, ведь этот сервис писали лучшие олимпиадники мира. Где это проявляется? Практически во всех сервисах гугла: * Поиск * Переводчик * Карты Это то чем я пользуюсь. Где никогда не проявлялось: * YouTube * Colab * Google Docs Почему я уверен, что это не баги сафари? Гугл достаточно крупная компания, чтобы проводить тестирования веб интерфейсов в разных системах, ну уж на чем, так на сафари они тестировать должны. Ведь они сами деливярят кучу всего в веб и наверняка есть свои разухабистые тестовые фреймворки. Но еще больше эту позицию оправдывает другой аргмент - Яндекс. Его сервисы работают идеально, никогда не зависают, Переводчик, Карты, Поиск, все отзывается нормально и без фризов. Неужели всех лучших олимпиадников забирает яндекс и не оставляет ничего гуглу? Это мы уже не узнаем. Кто ловило такое же или это я навожу конспирологию?

test.wav1.87 KB

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

🐳 Аркестрация Докеров 🐋 Расскажу небольшую историю из личного опыта, наверняка кому-то это будет полезно. В последнее время моя работа была все больше связана не сколько с привычным ML ресерчем, сколько с написанием бекенда для быстрого инференса моделек синтеза речи, с возможностью ее дообучения на юзерских данных + скейлинг. Помимо написание самого бекенда, который представляет из себя набор различных докер контенеров, нужен некоторы аркестратор, который будет поднимать контенейнеры, если они упали, менеджить секреты (пароли и ключи), обеспечивать связность контенеров по сети и много другое. Если вы пойдете гуглить, то у вас по сути останутся два варианта: * Kubernetes - популярное решение разработанное гуглом, крутое, много чего умеет, но сложное в освоении, запуск минимального кластера требует вложения времени * Docker swarm - вариант по проще, умеет сильно меньше, не open source, но уже встроен в докер, запускается парой команд и работает из коробки. Для своих задач, я выбрал swarm, поскольку не планировал строить каких-то развесистых сетей. За это решение я позднее поплатился. Хотя кубер и является более сложной технологией, но сочетание опенсорса и развесистого комьюнити позволяет вам решать практически любую проблему, пусть на это и может потребоваться много времени. В случае если у вас возникает проблема со swarm, то без платного саппорта от докера, вы остаетесь со своей проблемой один на один. В прочем так и случилось. Docker swarm имеет абсолютно отвратительную документацию по работе с GPU кластерами, она местами существует, местами ее нет совсем, а зачастую она попросту устарела, даже если вы найдете статью за прошлый год, вероятно API уже поменялся, а документации для нового API нет 🙂 Переодически выручали обсуждения на гитхабе, где люди по крупицам находили инфу как таки заставить эту штуку работать нормально, но по скольку нет исходников, вы даже не можете просто посмотреть в них, чтобы понять а какой формат конфига от вас ожидает аркестратор. Но в конечном итоге я уткнулся в проблему, с которой встречались и другие пользовали, писали соответсвующие вопросы на SO, и Github Issues и не получали никакого ответа... Мой совет: Если уж и запланировали делать аркестрацию, используйте кубернетис, так будет проще

Repost from Rebryk Blog
🚀 Запуск на Product Hunt Доброе утро, дамы и господа! Погода в Тбилиси сегодня солнечная, без осадков, ожидается запуск на Product Hunt уже через 2 минуты! Мы с @serjobas подготовили для вас фановый пет-проектик -- Suggesty. Это Google Chrome Extension, который отвечает на гугловские запросы при помощи GPT-3. Буду признателен, если вы наведете шороху на нашей странице - лайкните и оставите коммент. Вот ссылочка ⬇️ https://www.producthunt.com/posts/suggesty-ai-search-tool Потом напишу вам наши впечатления и выводы о запуске 😌

Бывший коллега запустил проект на product hunt - эксеншн для хрома, который отвечает на ваши гугл запросы но с помощью GPT-3 Если хотите поддержать Юру, то зайдите на сайт и сделайте upvote 🔼 Следующий уровень - заснуть LM прямо в браузер, чтобы совсем без интернета работало

В комментарии принесли, что в VSCode появилась такая же встроенная фича - sticky scroll. По сути пинит в шапке редактора ваш
В комментарии принесли, что в VSCode появилась такая же встроенная фича - sticky scroll. По сути пинит в шапке редактора ваш текущий контекст. Выглядит по мне даже круче

🕸Online IDE🌐 Нашел интересный сервис - http://replit.com Это онлайн IDE, где можно писать и запускать код, но в отличие от других подобных проектов которые я видел, он позволяет запускать программы в интерактивном режиме (а не задавать инпут заранее, как это делается на контест площадках), шерить этот код и вставлять демки к себе на блог! Посмотрите, как я добавил самописную консольную змейку к себе на сайт: https://alxmamaev.me/posts/replit/ Мне кажется, что это супер решени для обучающих курсов, например для преподавания школьникам или начинающим студентам, где не хочется возится с проблемами окружения какого-то очередного windows-ноутбука. К примеру мы в школе сдавали разные домашки по написанию структур данных и такая штука была бы полезна. Плюс к этому, есть режим коллаборации, когда можно подключаться к одному проекту редактировать и запускать его как гугл док, так что если вы кого-то менторите, это тоже супер-решение. Кстати проекты можно собирать любые, хоть плюсы, хоть node js, собирая из нескольких файлов любимой систомой сборки, а не вставлять все в один файл.

🔍 Current scope 🔎 В последнее время активно читаю и дописываю код на плюсах для одного OpenSource проекта. И часто у меня в
🔍 Current scope 🔎 В последнее время активно читаю и дописываю код на плюсах для одного OpenSource проекта. И часто у меня возникала проблема: Я через поиск нашел использование нужного мне объекта, но теперь мне надо понять а где я вообще нахожусь? Что это за метод и какого объекта? Листать код вверх как-то глупо, нужно искать нужное сочетание отступов и скобочек, что долго и мучительно, пару раз в таких поисках я вообще забывал, а что я искал… Решение нашлось элегантное, плагин для VSCode, который работает с питоном и плюсами https://marketplace.visualstudio.com/items?itemName=amos402.scope-bar

photo content

💻 HACKERMAN 🤙 Знаете тот момент, когда ты учишься в школе и неожиданно узнаешь про функцию изменения кода элемента в браузере, сразу чувствуешь себя хакером, когда меняешь фамилию одноклассника в ВКонтакте на ЛОХ. Вот сейчас был same vibe, покупал билет на БЕЛАВИА и на финале вылетело поле с 3d secure, который сделан обычным инжектом HTML. Но мой 🇬🇪 Банк не очень умеет в адаптивную верстку, поэтому кнока “ОК” не влезало в окошечко, а на Enter поле не отликалось, пришлось лезть в код страницы чтобы поменять max-width:350px на 600px. 😎

Repost from Rebryk Blog
📚 Хотели считать градиенты, но никогда не было времени? Андрей Карпатый ушел из Тесла и решил немного заняться блоггингом. И этим надо пользоваться! Недавно у него вышла классная лекция, где он рассказывает про основы нейронных сеток и реализует forward/backward pass на питончике с нуля. ML ребята ничего нового оттуда не узнают. Но вот тем, кто давно хотел копнуть в тему, но не было времени, может быть интересно послушать. Имхо самое ценное все равно в том, чтобы посмотреть, как рассуждают такие рарные чуваки. Для тех, кто не в теме, Андрей лидил команду компьютерного зрения в Tesla Autopilot. Ну и в целом живая легенда. https://www.youtube.com/watch?v=VMj-3S1tku0

Всм привет. Не буду вдаваться в детали, просто попробуйте. curl wttr.in/tbilisi

🔍 Детектив🕵️‍♀️ Сегодня я потратил несколько часов своей жизни на поиск очень странного бага, решение которого оказалось элементарным. И так, вводные: Есть питон скрипт, который генерирует WAV аудио. Этот скрипт упакован в докер контейнер. У скрипта есть два метода возвращения вавки. 1 - сохранить вавку в файл 2 - выплюнуть сырые байты в stdout Вы спросите, а зачем второй вариант? А на самом деле это очень удобно. К примеру вы без шеринга вольюмов можете записать ваш файл сразу куда надо docker run generate:latest > audio.wav и все. Ну или же сразу прослушать выход вавки без сохранения docker run generate:latest > ffplay.wav. Вроде все хорошо и удобно, но в какой-то момент вместо нормального аудио на выходе я начал получать какой-то рандомный звук, будто в вавку записали случайные данные (вавку приложу в комментарии, но предупреждаю, сбавьте звук на максимум). До этого все мои взаимодействия с этим скриптом были успешными и все работало, казалось бы ничего не изменилось, так в чем дело? Ход действий: В процессе поиска, я грешил на генератор, что в какой-то момент я не правильно кастую типы данных, или читаю little endian бинарник как big endian. Но после кропотливого сравнения всех данных с помощью дебаггера и хешей, я пришел к выводу, что внутри скрипта все в порядке, скорее всего дело в сохранении. Проведя следующий эксперимент — записав вавку первым и вторым способом — я получил рабочую вавку при сохранении 1 и сломанную при сохранении 2, при том вторая вавка была на 721 байт длинее первой. Проведя серию неудачных экспериментов я сел за побайтовое сравнение файлов, и таки нашел разницу. В файле сохранненым через stdout ко всем байтам которые могут быть интерпретированы как \n были добавлены \r, соответсвенно мы получали замену \n на \r\n, что и ломало нашу вавку! И подсчитав количество \n я в этом убедился, ведь их было ровно 721, столько же сколько и лишних байт!. Осталось понять кто все это делает… Кульминация: Я грешил и на Linux и на Max OS, проводил разные эксперименты, все тщено, байты сохранялись как надо, но мой скрипт по прежнему не работал. В итоге составив нужный запрос в гугл, я наткнулся на такой ответ. ДА!! Дело оказалось в докере, а точнее в флаге -it, который принудительно добавляет \r к каждому знаку переноса и в конечном итоге ломает вавку.

Вот так это выглядит. Кстати, если вы хотите делать такие же красивые скриншоты терминала, вам нужен termshot https://github.
Вот так это выглядит. Кстати, если вы хотите делать такие же красивые скриншоты терминала, вам нужен termshot https://github.com/homeport/termshot

📊 Code Stat 📈 Помните я показывал вам bat, как cat но лучше? Ловите новую штуку `tokei` - подсчитывает статистику по коду в вашем проекте, умеет делать это кастомизированно и писать в JSON https://github.com/XAMPPRocky/tokei