🤔 Задачка на собеседование 💻
Недавно посмотрел ролик про парадокс порталов в Portal и что должно произойти, если засунуть портал в портал.
Пришла в голову подобная задачка про питончик, которую интересно просто спросить на собеседовнии на разработчика python, чтобы понять как глубоко человек разбирается в устройстве языка.
Вот задачка:
Кто догадается без подглядываний?
Недавно посмотрел ролик про парадокс порталов в Portal и что должно произойти, если засунуть портал в портал.
Пришла в голову подобная задачка про питончик, которую интересно просто спросить на собеседовнии на разработчика python, чтобы понять как глубоко человек разбирается в устройстве языка.
Вот задачка:
a = []
a.append(a)
del a[0][0][0][0][0][0]
#?? print(a)
Кто догадается без подглядываний?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Бывший коллега запустил проект на product hunt - эксеншн для хрома, который отвечает на ваши гугл запросы но с помощью GPT-3
Если хотите поддержать Юру, то зайдите на сайт и сделайте upvote 🔼
Следующий уровень - заснуть LM прямо в браузер, чтобы совсем без интернета работало
Если хотите поддержать Юру, то зайдите на сайт и сделайте upvote 🔼
Следующий уровень - заснуть LM прямо в браузер, чтобы совсем без интернета работало
Forwarded 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 уже через 2 минуты!
Мы с @serjobas подготовили для вас фановый пет-проектик -- Suggesty. Это Google Chrome Extension, который отвечает на гугловские запросы при помощи GPT-3.
Буду признателен, если вы наведете шороху на нашей странице - лайкните и оставите коммент.
Вот ссылочка ⬇️
https://www.producthunt.com/posts/suggesty-ai-search-tool
Потом напишу вам наши впечатления и выводы о запуске 😌
Product Hunt
Suggesty: AI Search Tool: Get human-like answers to your Google searches with GPT-3 | Product Hunt
With our extension, there is no need to scroll through all Google results pages - you can get the answer straight away!
🐳 Оркестрация Докеров 🐋
Расскажу небольшую историю из личного опыта, наверняка кому-то это будет полезно.
В последнее время моя работа была все больше связана не сколько с привычным ML ресерчем, сколько с написанием бекенда для быстрого инференса моделек синтеза речи, с возможностью ее дообучения на юзерских данных + скейлинг.
Помимо написание самого бекенда, который представляет из себя набор различных докер контенеров, нужен некоторый оркестратор, который будет поднимать контенейнеры, если они упали, менеджить секреты (пароли и ключи), обеспечивать связность контенеров по сети и много другое.
Если вы пойдете гуглить, то у вас по сути останутся два варианта:
* Kubernetes - популярное решение разработанное гуглом, крутое, много чего умеет, но сложное в освоении, запуск минимального кластера требует вложения времени
* Docker swarm - вариант по проще, умеет сильно меньше, не open source, но уже встроен в докер, запускается парой команд и работает из коробки.
Для своих задач, я выбрал swarm, поскольку не планировал строить каких-то развесистых сетей. За это решение я позднее поплатился.
Хотя кубер и является более сложной технологией, но сочетание опенсорса и развесистого комьюнити позволяет вам решать практически любую проблему, пусть на это и может потребоваться много времени.
В случае если у вас возникает проблема со swarm, то без платного саппорта от докера, вы остаетесь со своей проблемой один на один.
В прочем так и случилось. Docker swarm имеет абсолютно отвратительную документацию по работе с GPU кластерами, она местами существует, местами ее нет совсем, а зачастую она попросту устарела, даже если вы найдете статью за прошлый год, вероятно API уже поменялся, а документации для нового API нет 🙂
Переодически выручали обсуждения на гитхабе, где люди по крупицам находили инфу как таки заставить эту штуку работать нормально, но по скольку нет исходников, вы даже не можете просто посмотреть в них, чтобы понять а какой формат конфига от вас ожидает аркестратор.
Но в конечном итоге я уткнулся в проблему, с которой встречались и другие пользовали, писали соответсвующие вопросы на SO, и Github Issues и не получали никакого ответа...
Мой совет: Если уж и запланировали делать оркестрацию, используйте кубернетис, так будет проще
Расскажу небольшую историю из личного опыта, наверняка кому-то это будет полезно.
В последнее время моя работа была все больше связана не сколько с привычным ML ресерчем, сколько с написанием бекенда для быстрого инференса моделек синтеза речи, с возможностью ее дообучения на юзерских данных + скейлинг.
Помимо написание самого бекенда, который представляет из себя набор различных докер контенеров, нужен некоторый оркестратор, который будет поднимать контенейнеры, если они упали, менеджить секреты (пароли и ключи), обеспечивать связность контенеров по сети и много другое.
Если вы пойдете гуглить, то у вас по сути останутся два варианта:
* Kubernetes - популярное решение разработанное гуглом, крутое, много чего умеет, но сложное в освоении, запуск минимального кластера требует вложения времени
* Docker swarm - вариант по проще, умеет сильно меньше, не open source, но уже встроен в докер, запускается парой команд и работает из коробки.
Для своих задач, я выбрал swarm, поскольку не планировал строить каких-то развесистых сетей. За это решение я позднее поплатился.
Хотя кубер и является более сложной технологией, но сочетание опенсорса и развесистого комьюнити позволяет вам решать практически любую проблему, пусть на это и может потребоваться много времени.
В случае если у вас возникает проблема со swarm, то без платного саппорта от докера, вы остаетесь со своей проблемой один на один.
В прочем так и случилось. Docker swarm имеет абсолютно отвратительную документацию по работе с GPU кластерами, она местами существует, местами ее нет совсем, а зачастую она попросту устарела, даже если вы найдете статью за прошлый год, вероятно API уже поменялся, а документации для нового API нет 🙂
Переодически выручали обсуждения на гитхабе, где люди по крупицам находили инфу как таки заставить эту штуку работать нормально, но по скольку нет исходников, вы даже не можете просто посмотреть в них, чтобы понять а какой формат конфига от вас ожидает аркестратор.
Но в конечном итоге я уткнулся в проблему, с которой встречались и другие пользовали, писали соответсвующие вопросы на SO, и Github Issues и не получали никакого ответа...
Мой совет: Если уж и запланировали делать оркестрацию, используйте кубернетис, так будет проще
👍10❤3
А все это для того, чтобы юзеры могли обучить свой TTS на паре минут аудио.
Вот это я нашептал немного в микрофон и получил свой сгенерированный голос.
Вот это я нашептал немного в микрофон и получил свой сгенерированный голос.
🎮 Minecraft in Minecraft ⛏
https://youtu.be/-BP7DhHTU-I
Недавно я увидел в твиттере такой ролик, где автор собрал полноценный компьютер с видеоускорителем в Minecraft и запустил Minecraft на этом компьютере 🤯
Но больше всего я удивился тому как это у него получилось, ведь у redstone в игре чудовищные задержки и даже какие-то простые вычислительные устройства в нем работают безумно медленно.
Оказывается для этого он использовал High Performance Minecraft Redstone Server
https://github.com/MCHPR/MCHPRS
Что позволило ускорить работу компьютера в 10к раз!
Сам этот сервер, штука весьма интересная, помимо того, что он обрабатывает чанки с редстоуном в нескольких тредах (что само по себе не тривиальная задача, учитывая не очевидную синхронизацию), так они ещё и написали компилятор для redstone!
В буквальном смысле, ваша схема в редстоуне интерпретируется в инструкции LLVM ( можно сказать универсальный ассемблер), который в свою очередь можно собрать под любую платформу в виде нативного кода🤯
Наверняка кто-то сделал компилятор для программирования FPGA в Minecraft, чтобы можно было собирать процессоры прямо вов время игры
https://youtu.be/-BP7DhHTU-I
Недавно я увидел в твиттере такой ролик, где автор собрал полноценный компьютер с видеоускорителем в Minecraft и запустил Minecraft на этом компьютере 🤯
Но больше всего я удивился тому как это у него получилось, ведь у redstone в игре чудовищные задержки и даже какие-то простые вычислительные устройства в нем работают безумно медленно.
Оказывается для этого он использовал High Performance Minecraft Redstone Server
https://github.com/MCHPR/MCHPRS
Что позволило ускорить работу компьютера в 10к раз!
Сам этот сервер, штука весьма интересная, помимо того, что он обрабатывает чанки с редстоуном в нескольких тредах (что само по себе не тривиальная задача, учитывая не очевидную синхронизацию), так они ещё и написали компилятор для redstone!
В буквальном смысле, ваша схема в редстоуне интерпретируется в инструкции LLVM ( можно сказать универсальный ассемблер), который в свою очередь можно собрать под любую платформу в виде нативного кода
Наверняка кто-то сделал компилятор для программирования FPGA в Minecraft, чтобы можно было собирать процессоры прямо вов время игры
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
I made Minecraft in Minecraft with redstone!
3D Minecraft in Minecraft with no command blocks, no datapacks and no mods.
Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting, building, chests…
Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting, building, chests…
🤯2🤩2⚡1👎1
🪄 ЗАГАДКА ДЫРЫ 🧙
Не знаю, может я навожу конспирологию, но этой информации я не нашел ни на реддите, ни где-то еще, как будто никто не задавался этим вопросом. Сразу скажу, я проверял это на разных устройствах, в разных сетях и в течение полугода.
Но кажется google намеренно тормозит свои сервисы в safari.
Как это проявляется?
Зачастую веб приложение просто зависает, посреди ничего, невозможно кликнуть на текстовые боксы, приблизить, отдалить, проскроллить, вообще ничего. Ни о какой реактивности интерфейса в эти моменты можно и не говорить.
Пример зависания в видосе.
При этом, если вы откроете тот же сайт в этом же месте в google chrome вы не пойматете ни единого бажка, комар носа не подточит, ведь этот сервис писали лучшие олимпиадники мира.
Где это проявляется?
Практически во всех сервисах гугла:
* Поиск
* Переводчик
* Карты
Это то чем я пользуюсь.
Где никогда не проявлялось:
* YouTube
* Colab
* Google Docs
Почему я уверен, что это не баги сафари?
Гугл достаточно крупная компания, чтобы проводить тестирования веб интерфейсов в разных системах, ну уж на чем, так на сафари они тестировать должны. Ведь они сами деливярят кучу всего в веб и наверняка есть свои разухабистые тестовые фреймворки.
Но еще больше эту позицию оправдывает другой аргмент - Яндекс. Его сервисы работают идеально, никогда не зависают, Переводчик, Карты, Поиск, все отзывается нормально и без фризов. Неужели всех лучших олимпиадников забирает яндекс и не оставляет ничего гуглу? Это мы уже не узнаем.
Кто ловил такое же или это я навожу конспирологию?
Не знаю, может я навожу конспирологию, но этой информации я не нашел ни на реддите, ни где-то еще, как будто никто не задавался этим вопросом. Сразу скажу, я проверял это на разных устройствах, в разных сетях и в течение полугода.
Но кажется google намеренно тормозит свои сервисы в safari.
Как это проявляется?
Зачастую веб приложение просто зависает, посреди ничего, невозможно кликнуть на текстовые боксы, приблизить, отдалить, проскроллить, вообще ничего. Ни о какой реактивности интерфейса в эти моменты можно и не говорить.
Пример зависания в видосе.
При этом, если вы откроете тот же сайт в этом же месте в google chrome вы не пойматете ни единого бажка, комар носа не подточит, ведь этот сервис писали лучшие олимпиадники мира.
Где это проявляется?
Практически во всех сервисах гугла:
* Поиск
* Переводчик
* Карты
Это то чем я пользуюсь.
Где никогда не проявлялось:
* YouTube
* Colab
* Google Docs
Почему я уверен, что это не баги сафари?
Гугл достаточно крупная компания, чтобы проводить тестирования веб интерфейсов в разных системах, ну уж на чем, так на сафари они тестировать должны. Ведь они сами деливярят кучу всего в веб и наверняка есть свои разухабистые тестовые фреймворки.
Но еще больше эту позицию оправдывает другой аргмент - Яндекс. Его сервисы работают идеально, никогда не зависают, Переводчик, Карты, Поиск, все отзывается нормально и без фризов. Неужели всех лучших олимпиадников забирает яндекс и не оставляет ничего гуглу? Это мы уже не узнаем.
Кто ловил такое же или это я навожу конспирологию?
👍3🤯3
VScode пожалуй реальный game-changer в области IDE. Казалось бы что может сделать бесплатный рекдактор на электроне? А может он больше чем многие развесистые IDE
Пожалуй не было еще ни одного такого инструмента, который позволяет так легко подключиться к докер контейнеру на удаленном сервере и при этом дебажить код состоящий из связки плюсов и питона.
Ave Microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
🍓16🤡2👍1
📈 VScode Matplolib 📉
Решил посмотреть как так с Jupyter в VSCode, потому что раньше когда я его тыкал все было не очень, переодически лагал, ячейки не выполнялись, но кажется это починили.
А еще появилась прикольная настройка
Вообще заглядывайте в настройки, там много интересного спрятано.
Из интересных фич юпитера:
* Можно подключаться к удаленному юпитеру, даже если для него не открыт порт.
* Есть просмотр переменных.
* Есть дебаггер!
* Поправили баги с IPython.display и теперь можно вставлять аудио в ноутбуки.
Кра-со-та
Решил посмотреть как так с Jupyter в VSCode, потому что раньше когда я его тыкал все было не очень, переодически лагал, ячейки не выполнялись, но кажется это починили.
А еще появилась прикольная настройка
Jupyter: Theme Matplotlib Plots, с помощью которой вы получите темные графики на вашей темной теме!Вообще заглядывайте в настройки, там много интересного спрятано.
Из интересных фич юпитера:
* Можно подключаться к удаленному юпитеру, даже если для него не открыт порт.
* Есть просмотр переменных.
* Есть дебаггер!
* Поправили баги с IPython.display и теперь можно вставлять аудио в ноутбуки.
Кра-со-та
❤9👍1
Астрологи объявили неделю восхваления VSCode (но оно и понятно, ведь я перешел из вима).
Удивительно наблюдать какое количество реально рабочих плагинов существуют и совершенно бесплатно!
Если вам приходится писать (или исправлять) cuda kernels, вам захочется их отдебажить, и в VScode есть для этого инструмент от самих Nvidia. Штука супер крутая и позволяет дебажить код не только на хосте, но и на гпушке, прыгать между параллельными тредами, ну в общем реально красота, работает в том числе через ssh.
Очень круто, что есть такие свободные и бесплатные инструменты, которые при этом делают свою работу хорошо!
p.s.
Если кто вас попытается убедить, что в виме много плагинов — он прав, но все плагины работают через жопу, так у меня криво работал даже автокомплит.
https://www.youtube.com/watch?v=gN3XeFwZ4ng
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👏1
🛠 Python C++ debug 🔨
В последнее время чаще занимаюсь отладкой C++ кода совместно с Python.
Написал небольшую статью для себя (чтобы помнить) и для других (чтоы знали)
Как подружить дебаггер VSCode с Python и C++, чтобы он мог дебажить их одновременно
https://alxmamaev.me/posts/vscode-py-cpp-debug/
В последнее время чаще занимаюсь отладкой C++ кода совместно с Python.
Написал небольшую статью для себя (чтобы помнить) и для других (чтоы знали)
Как подружить дебаггер VSCode с Python и C++, чтобы он мог дебажить их одновременно
https://alxmamaev.me/posts/vscode-py-cpp-debug/
alxmamaev.me
🛠 Debugging Python/C++ using VSCode
If you working on a Python project, which required high performance you probably will use C++ code embedded into your python application. And you may have a question, how do debug this mixed code? That is easy using VSCode!
Note: before starting be sure…
Note: before starting be sure…
🐋 Docker underhood 🐳
Очень полезны знания того инструмента, которым вы пользуетесь, потому что многие вещи которые казались магическими перестают таковыми быть. Может это не так захватывающе, но куда более продуктивно.
Один из инструментов, которые стоит освоить не только на уровне использования из командной строки, но и заглянуть "под капот" -- это докер. Для многих людей докер выступает своего рода виртаульной магической машиной, которая делает какие-то классные штуки с изоляцей, а мы радуемся.
Но все куда интереснее! Начать свое ознокомление я рекомендую с видосов LiveOverflow: видос 1, видос 2
Дальше ютуб сам подскажет, что вам смотреть.
------------------------------------
Но сделаю небольшую затравочку.
Сам docker на самом деле состоит из двух программ: dockerd - демон, который крутится в фоне, и docker - cli тулза, которую мы используем в консоли для общения с демоном. Клиент общается с демоном при помощи неименового сокета, что нам позволяет сделать много интересных вещей!
Мы можем создать новый докер контекст, где укажем клиенту, что искать сокет для взаимодействия надо на этом сервере.
Заодно подключимся к этому контексту
Теперь мы можем обращаться с удаленным докером так, будто он локальный, например мы можем запустить контейнер на удаленном сервере.
Также мы можем пробросить докер сокет внутрь контейнера, тогда мы получим возможгность запускать новые контейнеры из контенера. (Но тут важно понимать, что это не будет докер внутри докера, если вы хотите именно такой функциональности, лучше воспользоваться Podman)
Очень полезны знания того инструмента, которым вы пользуетесь, потому что многие вещи которые казались магическими перестают таковыми быть. Может это не так захватывающе, но куда более продуктивно.
Один из инструментов, которые стоит освоить не только на уровне использования из командной строки, но и заглянуть "под капот" -- это докер. Для многих людей докер выступает своего рода виртаульной магической машиной, которая делает какие-то классные штуки с изоляцей, а мы радуемся.
Но все куда интереснее! Начать свое ознокомление я рекомендую с видосов LiveOverflow: видос 1, видос 2
Дальше ютуб сам подскажет, что вам смотреть.
------------------------------------
Но сделаю небольшую затравочку.
Сам docker на самом деле состоит из двух программ: dockerd - демон, который крутится в фоне, и docker - cli тулза, которую мы используем в консоли для общения с демоном. Клиент общается с демоном при помощи неименового сокета, что нам позволяет сделать много интересных вещей!
Мы можем создать новый докер контекст, где укажем клиенту, что искать сокет для взаимодействия надо на этом сервере.
Заодно подключимся к этому контексту
docker context create --docker host=ssh://ubuntu@my_remote_server --description="My server" my_remote_server
docker context use my_remote_server
Теперь мы можем обращаться с удаленным докером так, будто он локальный, например мы можем запустить контейнер на удаленном сервере.
docker run -it pytohn:lastest
Также мы можем пробросить докер сокет внутрь контейнера, тогда мы получим возможгность запускать новые контейнеры из контенера. (Но тут важно понимать, что это не будет докер внутри докера, если вы хотите именно такой функциональности, лучше воспользоваться Podman)
YouTube
How Docker Works - Intro to Namespaces
Let's figure out how Docker works! We will investigate docker by tracing the syscalls to find the Linux Kernel feature called Namespaces. We also learn about the different ones like process id, network or mount namespaces.
docker → dockerd → containerd →…
docker → dockerd → containerd →…
👍8🐳4❤1
Вермя просить рекомендации.
Расскажите в комментах про интересные материалы про компьютерные сети, например про iptables, DHCP и прочее, и желательно чтобы это рассматривалось как-то поглубже, для разработчиков, нежели просто пояснялось для рядового пользователя.
Расскажите в комментах про интересные материалы про компьютерные сети, например про iptables, DHCP и прочее, и желательно чтобы это рассматривалось как-то поглубже, для разработчиков, нежели просто пояснялось для рядового пользователя.
🇰🇬 Кыргызстан, Бишкек, Стартапы 🇰🇬
Прошедший год научил ничему особо не доверять и дополнительно перестраховываться. Поэтому на всякий случай, помимо Грузии, захотелось как-то легализоваться в Кыргызстане, поскольку они с этого года начали выдавать визы цифрового кочевника.
В целом звучит как классный запасной финансовый аэродром, который позволит получать и легализовать деньги. И виза по их словам простая: подается онлайн, с минимумом документов.
Все так да не совсем.
Я получил уже два реджекта, по следующей причине: от меня просят нотариально заверенный трудовой договор на русском языке.
В моем случае, прямо скажем, это квест не из простых, поскольку мой работодатель находится в США и никаких представительств в Грузии не имеет. Поэтому, как заключить нотариально заверенный договор никто не знает, так еще чтобы это было на русском языке.
Я попытался спросить это у них по почте, но никаких ответов ни приветов, только визовый центр ответил, что это не их ума дело, пишите в министерство, а министерство молчит.
Выглядит так будто программа рассчитана на то, что люди будут продолжать работать в Сбербанке, а жить в Бишкеке, план, прямо так скажем так себе.
Короче на картинке хорошо, а вот в жизни уже не так все гладко.
Прошедший год научил ничему особо не доверять и дополнительно перестраховываться. Поэтому на всякий случай, помимо Грузии, захотелось как-то легализоваться в Кыргызстане, поскольку они с этого года начали выдавать визы цифрового кочевника.
В целом звучит как классный запасной финансовый аэродром, который позволит получать и легализовать деньги. И виза по их словам простая: подается онлайн, с минимумом документов.
Все так да не совсем.
Я получил уже два реджекта, по следующей причине: от меня просят нотариально заверенный трудовой договор на русском языке.
В моем случае, прямо скажем, это квест не из простых, поскольку мой работодатель находится в США и никаких представительств в Грузии не имеет. Поэтому, как заключить нотариально заверенный договор никто не знает, так еще чтобы это было на русском языке.
Я попытался спросить это у них по почте, но никаких ответов ни приветов, только визовый центр ответил, что это не их ума дело, пишите в министерство, а министерство молчит.
Выглядит так будто программа рассчитана на то, что люди будут продолжать работать в Сбербанке, а жить в Бишкеке, план, прямо так скажем так себе.
Короче на картинке хорошо, а вот в жизни уже не так все гладко.
❤1
Как такое только возможно.
Снял квартиру на недельку, чтобы посидеть в Батуми, тем временем проводной домашний интернет невероятно медленный (первая картика).
В тоже время раздача мобильного интернета с айфона лучше многих домашних провайдеров. В чем секрет плохого интернета.... Я подозреваю роутер
Снял квартиру на недельку, чтобы посидеть в Батуми, тем временем проводной домашний интернет невероятно медленный (первая картика).
В тоже время раздача мобильного интернета с айфона лучше многих домашних провайдеров. В чем секрет плохого интернета.... Я подозреваю роутер