Как-то в далёком 2022 я вёл серию сеансов по написанию на Haskell учебного проекта на стыке тематик и сюда про это писал. Проект LHX представляет собой построчный процессор текста на манер awk: вы пишете шаблон, который из набора полей на входе делает какой-то выходной текст.
В рамках серии было написано само ядро и несколько интерфейсов для него: CLI, TUI и аж три штуки на Web-технологиях — синхронная классика, полу-реактивщина на HTMX и реактивщина с FRP 🤓 Ни один из вариантов, кроме CLI, не ушёл дальше демонстрации подхода, но такова была цель всего проекта — посмотреть на Haskell в разных прикладных областях.
Буквально сегодня я обновил зависимости, обрадовался, что за четыре года ничего не сломалось и всё сходу скомпилировалось 😎 Потом немного погрустил по поводу того, что TUI всё ещё не доделан. Зато вспомнил, сколько телодвижений нужно делать при написании TUI на библиотечке brick — да, не катастрофически много, но всё ещё многовато для комфортного написания чего-то "наколеночного" 🙃
Недавно я вещал про всякие движки для TUI, захотелось сегодня повещать про Textual — это библиотечка для Python, позволяющая достаточно богатые визуально штуки делать с известным комфортом, не притаскивая при этом React в терминал (да, я про тебя, Ink, говорю!).
Итак, примерно через час, там же в Twitch, буду смотреть, действительно ли в Textual легко всякие многопанельные и многоэкранные "full-screen" интерфейсы делать. По документации судя, всё должно быть достаточно прямолинейно, но грабли всё равно ожидаются 😉
UPDATE
Думаю, получилось вполне неплохо! Разобрался с системой событий, лайаутами, работой с состоянием — всё очень даже удобно!
- Запись
- Код
В рамках серии было написано само ядро и несколько интерфейсов для него: CLI, TUI и аж три штуки на Web-технологиях — синхронная классика, полу-реактивщина на HTMX и реактивщина с FRP 🤓 Ни один из вариантов, кроме CLI, не ушёл дальше демонстрации подхода, но такова была цель всего проекта — посмотреть на Haskell в разных прикладных областях.
Буквально сегодня я обновил зависимости, обрадовался, что за четыре года ничего не сломалось и всё сходу скомпилировалось 😎 Потом немного погрустил по поводу того, что TUI всё ещё не доделан. Зато вспомнил, сколько телодвижений нужно делать при написании TUI на библиотечке brick — да, не катастрофически много, но всё ещё многовато для комфортного написания чего-то "наколеночного" 🙃
Недавно я вещал про всякие движки для TUI, захотелось сегодня повещать про Textual — это библиотечка для Python, позволяющая достаточно богатые визуально штуки делать с известным комфортом, не притаскивая при этом React в терминал (да, я про тебя, Ink, говорю!).
Итак, примерно через час, там же в Twitch, буду смотреть, действительно ли в Textual легко всякие многопанельные и многоэкранные "full-screen" интерфейсы делать. По документации судя, всё должно быть достаточно прямолинейно, но грабли всё равно ожидаются 😉
UPDATE
Думаю, получилось вполне неплохо! Разобрался с системой событий, лайаутами, работой с состоянием — всё очень даже удобно!
- Запись
- Код
Telegram
brain_dump_etc
Вот уже некоторое время я занят тем, что провожу сеансы live coding с параллельным общением. Собираемся раз в неделю и потихоньку реализуем на #haskell проект LHX (Line Hyper-eXpander) — эдакий упрощённый awk(1) "для людей", перегоняющий один текст в другой…
1
Извините за перепост, случайно удалил тут, хотя собирался удалить из "сохранённых сообщений" — я там сначала пишу, потому что есть время на правки перед публикацией. А то в Telegram всё меньше Markdown-разметки работает, из Org просто так не экспортируешь уже, вот и приходится такие финты делать...
Но зато у меня всегда под рукой копия есть, могу восстановить контент, если понадобится! Вот бы ещё тут Undo был нормальный для таких деструктивных действий, как удаление публикации в канале...
Но зато у меня всегда под рукой копия есть, могу восстановить контент, если понадобится! Вот бы ещё тут Undo был нормальный для таких деструктивных действий, как удаление публикации в канале...
👍8
Гулял вчера по всяким нишевым сайтам от ссылки к ссылке. Маршрут был примерно такой:
Mastodon имени Devine Lu Linvega (одна из дуэта 100rabbits, про проекты которых я тут писал пару раз — смотри Orca, например — и за кем давно наблюдаю)
→ Hometown — форк Mastodon с интересными добавками, которые никогда не попадут в upstream
→ Список инстансов Hometown — тут уже чудесатее
→ Lurk.org — микро-тусовочка "around net- and computational culture and politics, proto- and post-free culture practices", прямо таки очень местечковое!
→ Их страничка со списками рассылок, раздел Eightycolumn про "People teaching/using/writing free software in art/sound/design context". Списки рассылок — это ретро, а тут ещё и FOSS + Art!
→ Подкаст "Safety Nets: Let Me Zine", "Episode 3: Interface, Relation, Connection, and Cloud Workout Done with dianaband". Тут пара междисциплинарных творцов из Кореи рассказывает про всякий self-hosting для новичков как повод собраться и пообщаться — я бы в такое вписался! Да и вообще, подкаст про zines, а я всё ещё лелею надежду сделать своих парочку!
---
Так вот, вот в подкасте прозвучало упоминание Wi-Fi Zine Throwies — и это такая милота! Представьте себе открытую точку доступа в WiFi, которая имеет какое-то нескучное название, а при подключении показывает вместо HTML-страницы для аутентификации маленький Zine!
Да, не каждый станет подключаться к неизвестным сетям, но кто-то таки поинтересуется, пусть и надев "печатки". Но ведь и sneakernet тоже предполагает некоторое доверие хотя бы своим навыкам по обеспечению цифровой гигиены 😜
И коробочки PirateBox, пусть и не просто выставляющие наружу zines, а поднимающие полноценный маленький стихийный Intranet, тоже обычно являются открытыми точками доступа. Экземпляры LibraryBox, как дружественный проект, то же таковы. Вот и выходит, что умение правильно и безопасно использовать открытые точки доступа в WiFi — полезный навык!
--
Без ворчания не получится в этот раз, увы 🙈 Постарался оставить оное напоследок, за сим начинаю.
Меня радует то, что такие "throwies" не настолько дешёвые, чтобы "выбросить и забыть", то есть хозяева их когда-то да подберут. Чего не стоило ожидать, когда народ закидывал LED throwies на всякие общественные металлоконструкции. И вот эти throwies я как электронщик отдельно не люблю уже за то, что светодиоды подключаются без ограничения тока, то есть либо перегреются, либо просто будут гореть совсем недолго. А потом на опоре ЛЭП — или куда вы там закинули своего светлячка — останется висеть редкоземельный магнит, который сам по себе достаточно опасен в плане проглатывания, так ещё рядом с ним останется литиевая батарейка, которую тоже глотать не стоит. Кусочек e-waste в виде светодиода смотрится не так плохо на фоне магнита и батарейки.
Кроме того, если вернуться к теме WiFi-whatever, меня лично печалит невозможность удобно подключаться к неизвестным сетям в режиме "пока только посмотреть", не рискуя тем, что какие-то программы, работающие в фоне, сразу станут стучаться в Интернет через эту саму сеть. Да, VPN частично решает эту проблему, но я бы хотел иметь возможность подключаться ко всяким "WiFi-интерфейсам" не как к источникам Internet, а как провайдерам какого-то локального сервиса. Более того, хотелось бы подключаться к нескольким таким "недосетям" одновременно, не отключаясь от основной сети, доставляющей до меня большой Интернет.
Mastodon имени Devine Lu Linvega (одна из дуэта 100rabbits, про проекты которых я тут писал пару раз — смотри Orca, например — и за кем давно наблюдаю)
→ Hometown — форк Mastodon с интересными добавками, которые никогда не попадут в upstream
→ Список инстансов Hometown — тут уже чудесатее
→ Lurk.org — микро-тусовочка "around net- and computational culture and politics, proto- and post-free culture practices", прямо таки очень местечковое!
→ Их страничка со списками рассылок, раздел Eightycolumn про "People teaching/using/writing free software in art/sound/design context". Списки рассылок — это ретро, а тут ещё и FOSS + Art!
→ Подкаст "Safety Nets: Let Me Zine", "Episode 3: Interface, Relation, Connection, and Cloud Workout Done with dianaband". Тут пара междисциплинарных творцов из Кореи рассказывает про всякий self-hosting для новичков как повод собраться и пообщаться — я бы в такое вписался! Да и вообще, подкаст про zines, а я всё ещё лелею надежду сделать своих парочку!
---
Так вот, вот в подкасте прозвучало упоминание Wi-Fi Zine Throwies — и это такая милота! Представьте себе открытую точку доступа в WiFi, которая имеет какое-то нескучное название, а при подключении показывает вместо HTML-страницы для аутентификации маленький Zine!
Да, не каждый станет подключаться к неизвестным сетям, но кто-то таки поинтересуется, пусть и надев "печатки". Но ведь и sneakernet тоже предполагает некоторое доверие хотя бы своим навыкам по обеспечению цифровой гигиены 😜
И коробочки PirateBox, пусть и не просто выставляющие наружу zines, а поднимающие полноценный маленький стихийный Intranet, тоже обычно являются открытыми точками доступа. Экземпляры LibraryBox, как дружественный проект, то же таковы. Вот и выходит, что умение правильно и безопасно использовать открытые точки доступа в WiFi — полезный навык!
--
Без ворчания не получится в этот раз, увы 🙈 Постарался оставить оное напоследок, за сим начинаю.
Меня радует то, что такие "throwies" не настолько дешёвые, чтобы "выбросить и забыть", то есть хозяева их когда-то да подберут. Чего не стоило ожидать, когда народ закидывал LED throwies на всякие общественные металлоконструкции. И вот эти throwies я как электронщик отдельно не люблю уже за то, что светодиоды подключаются без ограничения тока, то есть либо перегреются, либо просто будут гореть совсем недолго. А потом на опоре ЛЭП — или куда вы там закинули своего светлячка — останется висеть редкоземельный магнит, который сам по себе достаточно опасен в плане проглатывания, так ещё рядом с ним останется литиевая батарейка, которую тоже глотать не стоит. Кусочек e-waste в виде светодиода смотрится не так плохо на фоне магнита и батарейки.
Кроме того, если вернуться к теме WiFi-whatever, меня лично печалит невозможность удобно подключаться к неизвестным сетям в режиме "пока только посмотреть", не рискуя тем, что какие-то программы, работающие в фоне, сразу станут стучаться в Интернет через эту саму сеть. Да, VPN частично решает эту проблему, но я бы хотел иметь возможность подключаться ко всяким "WiFi-интерфейсам" не как к источникам Internet, а как провайдерам какого-то локального сервиса. Более того, хотелось бы подключаться к нескольким таким "недосетям" одновременно, не отключаясь от основной сети, доставляющей до меня большой Интернет.
Merveilles
Devine Lu Linvega (@neauoire@merveilles.town)
78.9K Posts, 1.2K Following, 14.4K Followers · It’s always night under the ultraviolet sun.
👍5🤔5
Завтра под запись буду изучать PyView — это LiveView как в Phoenix для Elixir, или, если вам вдруг такая аналогия больше подойдёт, korolev для Scala (ну и древность я вспомнил, скажут некоторые).
Кратко: это такой способ делать интерактивные Web-приложения с обработкой событий на стороне сервера, тогда как клиент остаётся простым исполнителем задач вида "вставь эту div на место той". При этом, в отличие от использования HTMX, тут не нужно думать о жизненном цикле элементов, поскольку "virtual DOM" (UPD: не прямо vdom, идейный аналог) и вычисление минимальных дельт для отправки в браузер происходят под капотом, в прикладном коде же всё декларативно остаётся.
Я уверен, что в мире JS/TS такое давно носят, но в других экосистемах этот подход встречается довольно редко, вот мне и интересно посмотреть, как Python тут себя покажет. Проект очень молодой, но уже выглядит солидно, как мне показалось. Если вдруг заинтересуетесь, сходите послушать/посмотреть этот подкаст с автором — мне понравилось, например.
---
UPDATE
Вот запись. Пробовал стационарный микрофон, хороший, Blue Snowball (откопал в закромах). Но этот "снежок" умудрился подхватить с фона гул 🙈 Увы, пока что петличка и микрофон проводной гарнитуры выигрывают по качеству. Когда shock mount у меня появится, попробую повещать на снежок ещё раз 😎
Кратко: это такой способ делать интерактивные Web-приложения с обработкой событий на стороне сервера, тогда как клиент остаётся простым исполнителем задач вида "вставь эту div на место той". При этом, в отличие от использования HTMX, тут не нужно думать о жизненном цикле элементов, поскольку "virtual DOM" (UPD: не прямо vdom, идейный аналог) и вычисление минимальных дельт для отправки в браузер происходят под капотом, в прикладном коде же всё декларативно остаётся.
Я уверен, что в мире JS/TS такое давно носят, но в других экосистемах этот подход встречается довольно редко, вот мне и интересно посмотреть, как Python тут себя покажет. Проект очень молодой, но уже выглядит солидно, как мне показалось. Если вдруг заинтересуетесь, сходите послушать/посмотреть этот подкаст с автором — мне понравилось, например.
---
UPDATE
Вот запись. Пробовал стационарный микрофон, хороший, Blue Snowball (откопал в закромах). Но этот "снежок" умудрился подхватить с фона гул 🙈 Увы, пока что петличка и микрофон проводной гарнитуры выигрывают по качеству. Когда shock mount у меня появится, попробую повещать на снежок ещё раз 😎
👍5🔥2
Завёл таки. Подписывайтесь! 😎
https://www.patreon.com/cw/aleksei_astynax_pirogov
Как разберусь с Ko-fi и прочими бусти, будут и они.
https://www.patreon.com/cw/aleksei_astynax_pirogov
Как разберусь с Ko-fi и прочими бусти, будут и они.
Patreon
Aleksei (astynax) Pirogov | Patreon
Рассказываю о нескучных штуках в IT
👍3🔥2
Сегодня еженедельный стрим будет про библиотеку rich. Пройдусь по основным штукам, но в итоге хочу сделать кое-что не совсем (совсем не?) стандартное для TUI в целом и для этой либы в частности 😎
Картинка для привлечения внимания (нашёл на reddit):
Картинка для привлечения внимания (нашёл на reddit):
🔥9
Вот запись сегодняшнего стрима.
Если вдруг кому-то будет интересно потрогать получившийся код "генератора сайтов, выглядящих как Volkov Commander", то я могу его довести до какого-то MVP, а там можно будет допиливать по желанию 😎
Если вдруг кому-то будет интересно потрогать получившийся код "генератора сайтов, выглядящих как Volkov Commander", то я могу его довести до какого-то MVP, а там можно будет допиливать по желанию 😎
YouTube
Puttin' On the Rich: цветные буковки в консоли и не только
Рассказываю про библиотеку rich ( https://rich.readthedocs.io/en/stable/ ) и использую её для генерации... статического HTML для сайта в стиле старой школы 😎
🔥6
В Python недавно стало на один способ склеивания строк больше: PEP-750 aka t-strings.
(пишу этот текст в Emacs, а он пока не умеет раскрашивать содержимое t-строк так же, как он это делает с f-strings 🙈)
У этого нововведения есть одна большая проблема: это не templates, а на выходе получаются не strings 🙃 Скорее это что-то вроде template tags из мира JS/TS. В результате вычисления такого литерала получается последовательность статических строк вперемешку с приведёнными к строке значениями подвыражений внутри фигурных скобок. То есть в одну строку ничего ещё не склеено, хоть все подстановки уже вычислены!
Недавно видел один хороший доклад про этот PEP и про то, куда может развиться экосистема, если правильно отреагирует на эту новинку. Один из докладчиков, будучи в команде PyCharm, показывает, как внутри t-строк работает language injection, подсвечиваются HTML-теги и Python-код, работает автодополнение и проверка типов — люблю такую заботу о DX!
Так вот, если лень видео смотреть, просто думайте об этой штуке, как о способе санировать подстановки перед склеиванием в SQL, HTML или любые другие текстовые форматы, в которых возможна инъекция чего-то не очень хорошего.
А ещё отделение статических фрагментов от динамических позволяет делать всякие оптимизации. В библиотеке PyView, про которую я недавно рассказывал, при генерации HTML используются те самые t-strings, а этой библиотеке как раз важно знать, какие части вёрстки всегда содержат статический текст, чтобы быстрее вычислять изменения с для отправки команд, модифицирующих DOM в браузере. Приятно видеть, что новинка языка уже внедрена и приносит пользу!
За мою карьеру я навидался всяких видов интерполяции строк и форматирования и могу сказать, что концептуально t-строки мне нравятся. Я не очень люблю тот факт, что внутри подстановок есть свой подъязык для управления приведением к строке, но это я и в ранее добавленных f-строках не люблю, тут ничего нового не добавилось 😜
f"Hello, {world}"
# VS
t"Hello, {world}"(пишу этот текст в Emacs, а он пока не умеет раскрашивать содержимое t-строк так же, как он это делает с f-strings 🙈)
У этого нововведения есть одна большая проблема: это не templates, а на выходе получаются не strings 🙃 Скорее это что-то вроде template tags из мира JS/TS. В результате вычисления такого литерала получается последовательность статических строк вперемешку с приведёнными к строке значениями подвыражений внутри фигурных скобок. То есть в одну строку ничего ещё не склеено, хоть все подстановки уже вычислены!
Недавно видел один хороший доклад про этот PEP и про то, куда может развиться экосистема, если правильно отреагирует на эту новинку. Один из докладчиков, будучи в команде PyCharm, показывает, как внутри t-строк работает language injection, подсвечиваются HTML-теги и Python-код, работает автодополнение и проверка типов — люблю такую заботу о DX!
Так вот, если лень видео смотреть, просто думайте об этой штуке, как о способе санировать подстановки перед склеиванием в SQL, HTML или любые другие текстовые форматы, в которых возможна инъекция чего-то не очень хорошего.
А ещё отделение статических фрагментов от динамических позволяет делать всякие оптимизации. В библиотеке PyView, про которую я недавно рассказывал, при генерации HTML используются те самые t-strings, а этой библиотеке как раз важно знать, какие части вёрстки всегда содержат статический текст, чтобы быстрее вычислять изменения с для отправки команд, модифицирующих DOM в браузере. Приятно видеть, что новинка языка уже внедрена и приносит пользу!
За мою карьеру я навидался всяких видов интерполяции строк и форматирования и могу сказать, что концептуально t-строки мне нравятся. Я не очень люблю тот факт, что внутри подстановок есть свой подъязык для управления приведением к строке, но это я и в ранее добавленных f-строках не люблю, тут ничего нового не добавилось 😜
Python Enhancement Proposals (PEPs)
PEP 750 – Template Strings | peps.python.org
This PEP introduces template strings for custom string processing.
👍4
Вот, Ko-Fi ещё завёл: https://ko-fi.com/astynax
Сюда продублировал и эту ссылку, и патреоновскую: https://astynax.me/support.html — тут вообще будут все актуальные способы поддержки меня.
Ко мне тут пришёл Gandi и хочет $50 за домен
Вся эта история с доменами меня печалит, конечно...
Сюда продублировал и эту ссылку, и патреоновскую: https://astynax.me/support.html — тут вообще будут все актуальные способы поддержки меня.
Ко мне тут пришёл Gandi и хочет $50 за домен
recursive.one за второй год, GoDaddy даже меньше хотел 🙈 Буду благодарен, если скинете копеечку на это дело. Или на чай — а я за вас выпью! Или с вами попью, если вы вдруг проездом в Ереване окажетесь 😎Вся эта история с доменами меня печалит, конечно...
Ko-fi
Support Aleksei (astynax) Pirogov
👍3
В 13:30 GMT+4 очередной стрим. Расскажу, как и зачем именно я пользую #uv (https://docs.astral.sh/uv/) — просто чтобы было, к чему отсылать в будущем 😎 Заодно озвучу свои претензии и хотелки, не без этого, и посравниваю с тем, что использовал раньше.
До poe тоже доберусь, скорее всего — в рамках синергии инструментов должно получиться неплохо!
Стрим будет на Twitch, как обычно (ссылка есть в описании канала). Запись выложу на YT со ссылкой сюда.
До poe тоже доберусь, скорее всего — в рамках синергии инструментов должно получиться неплохо!
Стрим будет на Twitch, как обычно (ссылка есть в описании канала). Запись выложу на YT со ссылкой сюда.
docs.astral.sh
uv
uv is an extremely fast Python package and project manager, written in Rust.
🔥4👍3
Вот запись, только подождите немного, оно пока горячееобрабатывается 😎
https://www.youtube.com/watch?v=MpACXyqdv5Q
https://www.youtube.com/watch?v=MpACXyqdv5Q
YouTube
Ультрафиолет полезен для питонов? Python + uv
Рассказываю о том, что такое #uv , чем он отличается от poetry, как лично я использую uv вместе с #python каждый день, и чем он может быть полезен вам. Ещё немного упоминаю poe.
poetry: https://python-poetry.org
uv: https://docs.astral.sh/uv/
poe: http…
poetry: https://python-poetry.org
uv: https://docs.astral.sh/uv/
poe: http…
👍6
Сегодня там же и в то же время (Twitch, 13:30 GMT+4) буду разбираться, что там и как в
data-star похож на HTMX, но ещё больше смещён на сторону backend: сервер посылает через SSE патчи к DOM не в ответ на запросы "а дай-ка мне кусок HTML, я сам его вставлю в документ", а по своей воле. При этом обеспечивается большая локальность поведения: да, кое-какая разметка со стороны HTML имеется, например, подписки на события, но при этом нет средств для управления фрагментами HTML, приходящими с сервера. В какой-то степени это более низкий уровень, чем в HTMX, но зато и контроля больше — можно идти и делать своего "убийцу PyView" 😎
Стоит отметить, что data-star, разумеется, агностичен к тому, что у вас на backend, лишь бы вы могли SSE посылать. При этом у проекта уже есть SDK под кучу языков, включая интересные мне Python, Rust, Haskell, Clojure 🤓
Ссылки для тех, кто не захочет мой стрим смотреть:
- https://data-star.dev
- "Datastar: Modern web dev, simplified" — подкаст с авторами, где они презентуют свое детище. Мне очень понравилось слушать.
data-* — это такой hypermedia framework, то есть ещё один способ расширить Web без написания клиентского кода.data-star похож на HTMX, но ещё больше смещён на сторону backend: сервер посылает через SSE патчи к DOM не в ответ на запросы "а дай-ка мне кусок HTML, я сам его вставлю в документ", а по своей воле. При этом обеспечивается большая локальность поведения: да, кое-какая разметка со стороны HTML имеется, например, подписки на события, но при этом нет средств для управления фрагментами HTML, приходящими с сервера. В какой-то степени это более низкий уровень, чем в HTMX, но зато и контроля больше — можно идти и делать своего "убийцу PyView" 😎
Стоит отметить, что data-star, разумеется, агностичен к тому, что у вас на backend, лишь бы вы могли SSE посылать. При этом у проекта уже есть SDK под кучу языков, включая интересные мне Python, Rust, Haskell, Clojure 🤓
Ссылки для тех, кто не захочет мой стрим смотреть:
- https://data-star.dev
- "Datastar: Modern web dev, simplified" — подкаст с авторами, где они презентуют свое детище. Мне очень понравилось слушать.
Datastar
The hypermedia framework.
🔥8👍1
Через 10 минут стартану вторую серию про data-star. Скорее 1.5, потому что придётся наверстать то, что в прошлый раз не записалось. Но потом продолжу эксперименты дальше.
🔥3
Вторая часть приключений с data-star. Напоминает о том, что не попало на "плёнку" в прошлый раз по прихоти OBS.
https://youtu.be/1N9V3gZhR60
По итогам экспериментов могу сказать, что data-star выглядит наименее магично по сравнению с HTMX и прочими turbolinks. Хорошо использовать такие штуки, когда хочешь иметь максимум контроля.
Отдельно понравилось то, что в data-star приходится думать о том, как происходит восстановление состояния view при переподключении SSE, которое происходит, например, при деактивации вкладки в браузере — вы, ведь, хотите экономить батарейку и трафик 😉
В будущем планирую попробовать data-star в связке с другими языками. Особенно, мне кажется, получится хорошо скрестить data-star с babashka — чтобы потом делать на этой связке "локальный web".
https://youtu.be/1N9V3gZhR60
По итогам экспериментов могу сказать, что data-star выглядит наименее магично по сравнению с HTMX и прочими turbolinks. Хорошо использовать такие штуки, когда хочешь иметь максимум контроля.
Отдельно понравилось то, что в data-star приходится думать о том, как происходит восстановление состояния view при переподключении SSE, которое происходит, например, при деактивации вкладки в браузере — вы, ведь, хотите экономить батарейку и трафик 😉
В будущем планирую попробовать data-star в связке с другими языками. Особенно, мне кажется, получится хорошо скрестить data-star с babashka — чтобы потом делать на этой связке "локальный web".
YouTube
Hello, data-star: Part 2
Продолжаю рассказ о моих забавах с data-star и заодно восполняю то, что в прошлый раз не попало в кадр по техническим причинам.
Первая часть: https://youtu.be/2GpRSQN0lTE
Первая часть: https://youtu.be/2GpRSQN0lTE
🔥3
Эх, OpenAI купили Astral. Это прям для меня печаль на ближайшие дни...
Вот это меня напрягает (цитата из статьи на сайте OpenAI). Не такого будущего я ждал для инструментов, которыми я вдохновляюсь уже какое-то время (взять тот же стрим про uv).
Уже вижу момент, когда от авторов потребуют обеспечить заметный для нужд PR отдела Codex процент кода, написанного этим самым кодексом.
Сначала Anthropic купили bun, теперь эта покупка. OpenSource не зарабатывает и оказывается в активах гигантов. А там уже все эти заявления про "в дальнейшем будет поддерживать разработку" проверку временем не проходят.
With Astral joining OpenAI, we’ll continue to support these open source projects while exploring ways they can work more seamlessly with Codex—enabling AI systems to operate across the full Python development workflow.
Вот это меня напрягает (цитата из статьи на сайте OpenAI). Не такого будущего я ждал для инструментов, которыми я вдохновляюсь уже какое-то время (взять тот же стрим про uv).
Уже вижу момент, когда от авторов потребуют обеспечить заметный для нужд PR отдела Codex процент кода, написанного этим самым кодексом.
Сначала Anthropic купили bun, теперь эта покупка. OpenSource не зарабатывает и оказывается в активах гигантов. А там уже все эти заявления про "в дальнейшем будет поддерживать разработку" проверку временем не проходят.
Openai
OpenAI to acquire Astral
Accelerates Codex growth to power the next generation of Python developer tools
😱12🔥4
Сегодня постримлю пораньше — через 10 минут, в 11:00 GMT+4
Планирую поковырять prek — новый blazingly fast мультитул для Git hooks — в связке с poe, uv, ruff.
Планирую поковырять prek — новый blazingly fast мультитул для Git hooks — в связке с poe, uv, ruff.
👍3
Кажется, получилось неплохо! Заодно дал некоторую вводную про то, что же за вещь такая — эти наши Git hooks.
https://youtu.be/oeca7fvjDf4
https://youtu.be/oeca7fvjDf4
YouTube
Oh, hi Prek! - Git hooks, но удобнее и очень быстрее!
Настраиваю Git hooks с помощью prek ( https://prek.j178.dev ) на примере проекта на Python / uv
#git #codequality #automation #python
#git #codequality #automation #python
👍1