STACK MORE LAYERS
رفتن به کانال در Telegram
Еще один канал в твоем списке, который ты не будешь читать Author: @alxmamaev
نمایش بیشتر2 316
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+197 روز
+730 روز
آرشیو پست ها
2 316
🪄 ЗАГАДКА ДЫРЫ 🧙
Не знаю, может я навожу конспирологию, но этой информации я не нашел ни на реддите, ни где-то еще, как будто никто не задавался этим вопросом. Сразу скажу, я проверял это на разных устройствах, в разных сетях и в течение полугода.
Но кажется google намеренно тормозит свои сервисы в safari.
Как это проявляется?
Зачастую веб приложение просто зависает, посреди ничего, невозможно кликнуть на текстовые боксы, приблизить, отдалить, проскроллить, вообще ничего. Ни о какой реактивности интерфейса в эти моменты можно и не говорить.
Пример зависания в видосе.
При этом, если вы откроете тот же сайт в этом же месте в google chrome вы не пойматете ни единого бажка, комар носа не подточит, ведь этот сервис писали лучшие олимпиадники мира.
Где это проявляется?
Практически во всех сервисах гугла:
* Поиск
* Переводчик
* Карты
Это то чем я пользуюсь.
Где никогда не проявлялось:
* YouTube
* Colab
* Google Docs
Почему я уверен, что это не баги сафари?
Гугл достаточно крупная компания, чтобы проводить тестирования веб интерфейсов в разных системах, ну уж на чем, так на сафари они тестировать должны. Ведь они сами деливярят кучу всего в веб и наверняка есть свои разухабистые тестовые фреймворки.
Но еще больше эту позицию оправдывает другой аргмент - Яндекс. Его сервисы работают идеально, никогда не зависают, Переводчик, Карты, Поиск, все отзывается нормально и без фризов. Неужели всех лучших олимпиадников забирает яндекс и не оставляет ничего гуглу? Это мы уже не узнаем.
Кто ловило такое же или это я навожу конспирологию?
2 316
А все это для того, чтобы юзеры могли обучить свой TTS на паре минут аудио.
Вот это я нашептал немного в микрофон и получил свой сгенерированный голос.
2 316
🐳 Аркестрация Докеров 🐋
Расскажу небольшую историю из личного опыта, наверняка кому-то это будет полезно.
В последнее время моя работа была все больше связана не сколько с привычным ML ресерчем, сколько с написанием бекенда для быстрого инференса моделек синтеза речи, с возможностью ее дообучения на юзерских данных + скейлинг.
Помимо написание самого бекенда, который представляет из себя набор различных докер контенеров, нужен некоторы аркестратор, который будет поднимать контенейнеры, если они упали, менеджить секреты (пароли и ключи), обеспечивать связность контенеров по сети и много другое.
Если вы пойдете гуглить, то у вас по сути останутся два варианта:
* Kubernetes - популярное решение разработанное гуглом, крутое, много чего умеет, но сложное в освоении, запуск минимального кластера требует вложения времени
* Docker swarm - вариант по проще, умеет сильно меньше, не open source, но уже встроен в докер, запускается парой команд и работает из коробки.
Для своих задач, я выбрал swarm, поскольку не планировал строить каких-то развесистых сетей. За это решение я позднее поплатился.
Хотя кубер и является более сложной технологией, но сочетание опенсорса и развесистого комьюнити позволяет вам решать практически любую проблему, пусть на это и может потребоваться много времени.
В случае если у вас возникает проблема со swarm, то без платного саппорта от докера, вы остаетесь со своей проблемой один на один.
В прочем так и случилось. Docker swarm имеет абсолютно отвратительную документацию по работе с GPU кластерами, она местами существует, местами ее нет совсем, а зачастую она попросту устарела, даже если вы найдете статью за прошлый год, вероятно API уже поменялся, а документации для нового API нет 🙂
Переодически выручали обсуждения на гитхабе, где люди по крупицам находили инфу как таки заставить эту штуку работать нормально, но по скольку нет исходников, вы даже не можете просто посмотреть в них, чтобы понять а какой формат конфига от вас ожидает аркестратор.
Но в конечном итоге я уткнулся в проблему, с которой встречались и другие пользовали, писали соответсвующие вопросы на SO, и Github Issues и не получали никакого ответа...
Мой совет: Если уж и запланировали делать аркестрацию, используйте кубернетис, так будет проще
2 316
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
Потом напишу вам наши впечатления и выводы о запуске 😌
2 316
Бывший коллега запустил проект на product hunt - эксеншн для хрома, который отвечает на ваши гугл запросы но с помощью GPT-3
Если хотите поддержать Юру, то зайдите на сайт и сделайте upvote 🔼
Следующий уровень - заснуть LM прямо в браузер, чтобы совсем без интернета работало
2 316
В комментарии принесли, что в VSCode появилась такая же встроенная фича - sticky scroll.
По сути пинит в шапке редактора ваш текущий контекст.
Выглядит по мне даже круче
2 316
🕸Online IDE🌐
Нашел интересный сервис - http://replit.com
Это онлайн IDE, где можно писать и запускать код, но в отличие от других подобных проектов которые я видел, он позволяет запускать программы в интерактивном режиме (а не задавать инпут заранее, как это делается на контест площадках), шерить этот код и вставлять демки к себе на блог!
Посмотрите, как я добавил самописную консольную змейку к себе на сайт:
https://alxmamaev.me/posts/replit/
Мне кажется, что это супер решени для обучающих курсов, например для преподавания школьникам или начинающим студентам, где не хочется возится с проблемами окружения какого-то очередного windows-ноутбука.
К примеру мы в школе сдавали разные домашки по написанию структур данных и такая штука была бы полезна.
Плюс к этому, есть режим коллаборации, когда можно подключаться к одному проекту редактировать и запускать его как гугл док, так что если вы кого-то менторите, это тоже супер-решение.
Кстати проекты можно собирать любые, хоть плюсы, хоть node js, собирая из нескольких файлов любимой систомой сборки, а не вставлять все в один файл.
2 316
🔍 Current scope 🔎
В последнее время активно читаю и дописываю код на плюсах для одного OpenSource проекта. И часто у меня возникала проблема:
Я через поиск нашел использование нужного мне объекта, но теперь мне надо понять а где я вообще нахожусь? Что это за метод и какого объекта?
Листать код вверх как-то глупо, нужно искать нужное сочетание отступов и скобочек, что долго и мучительно, пару раз в таких поисках я вообще забывал, а что я искал…
Решение нашлось элегантное, плагин для VSCode, который работает с питоном и плюсами
https://marketplace.visualstudio.com/items?itemName=amos402.scope-bar
2 316
💻 HACKERMAN 🤙
Знаете тот момент, когда ты учишься в школе и неожиданно узнаешь про функцию изменения кода элемента в браузере, сразу чувствуешь себя хакером, когда меняешь фамилию одноклассника в ВКонтакте на ЛОХ.
Вот сейчас был
same vibe, покупал билет на БЕЛАВИА и на финале вылетело поле с 3d secure, который сделан обычным инжектом HTML.
Но мой 🇬🇪 Банк не очень умеет в адаптивную верстку, поэтому кнока “ОК” не влезало в окошечко, а на Enter поле не отликалось, пришлось лезть в код страницы чтобы поменять max-width:350px на 600px.
😎2 316
Repost from Rebryk Blog
📚 Хотели считать градиенты, но никогда не было времени?
Андрей Карпатый ушел из Тесла и решил немного заняться блоггингом. И этим надо пользоваться!
Недавно у него вышла классная лекция, где он рассказывает про основы нейронных сеток и реализует forward/backward pass на питончике с нуля.
ML ребята ничего нового оттуда не узнают. Но вот тем, кто давно хотел копнуть в тему, но не было времени, может быть интересно послушать.
Имхо самое ценное все равно в том, чтобы посмотреть, как рассуждают такие рарные чуваки.
Для тех, кто не в теме, Андрей лидил команду компьютерного зрения в Tesla Autopilot. Ну и в целом живая легенда.
https://www.youtube.com/watch?v=VMj-3S1tku0
2 316
Всм привет. Не буду вдаваться в детали, просто попробуйте.
curl wttr.in/tbilisi2 316
🔍 Детектив🕵️♀️
Сегодня я потратил несколько часов своей жизни на поиск очень странного бага, решение которого оказалось элементарным.
И так, вводные:
Есть питон скрипт, который генерирует 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 к каждому знаку переноса и в конечном итоге ломает вавку.2 316
Вот так это выглядит.
Кстати, если вы хотите делать такие же красивые скриншоты терминала, вам нужен
termshot
https://github.com/homeport/termshot2 316
📊 Code Stat 📈
Помните я показывал вам
bat, как cat но лучше?
Ловите новую штуку `tokei` - подсчитывает статистику по коду в вашем проекте, умеет делать это кастомизированно и писать в JSON
https://github.com/XAMPPRocky/tokei