Несколько лет назад я бы сам ворчал, дескать, JSON - текстовый формат, расточительно, неэффективно, бу-бу-бу. Сейчас у нас есть парсеры, ворочающие JSONы гигабайтами в секунду.
Вы никак не отнимите у JSON его огромный плюс - он поддерживается практически любым языком программирования, можно читать даже на тостере или утюге. Так уж сложилось. Поздно брюзжать про бинарные СТАНДАРТНЫЕ форматы.
Вот бы человечество придумало что-то вроде анализатора, который бы находил неиспользуемый код в библиотеках (и в пользовательском коде тоже можно, кстати) и удалял из скомпилированного артефакта. Можно даже придумать какое-нибудь прикольное название, например, tree shaking. Тогда не станет проблемы +10 Мб, а библиотеки останутся полезными.
У меня ощущение, что где-то заканчивается онлайн-курс по ИИ и всем выдали финальную домашку навайбкодить продукт и написать статью на хабр о том, как добиться успешного успеха, обязательно с выводами и горсткой советов.
А вот когда люди поймут, что те, кто продвигал Open Source, тупо отдали благосостояние всей индустрии капиталистам
Можно подумать, отсутствие открытого кода остановило бы ИИ-компании. Авторы 500 тысяч книжек кому что отдали? "Капиталистам" это просто стоило 1,5 миллиарда президентов США - дороговато, но никто даже за решётку не сел.
Хммм. Я полез разбираться, оказывается, чтобы на винде в Edge тоже заработало, странице нужно явно проставлять метаданные через Media Session API. После этого работает пауза, хотя трек надо включать вручную:
navigator.mediaSession.metadata = new MediaMetadata({
title: 'DevOpsRadio',
artist: 'boombick',
});
Трек начинает ставиться на паузу/воспроизводиться по ⏯️, но страница не понимает, что что-то произошло:
но при остановке трека кнопки снова перестают работать. Gemini говорит, вот это
this.mainAudio = null;
прибивает медиа сессию и советует вместо зануления mainAudio прибивать src:
// Inside stop()...
this.mainAudio.removeAttribute('src'); // Better than src = ''
this.mainAudio.load(); // Forces the browser to drop the network connection
// Inside play()...
this.mainAudio.src = '/radio/stream'; // Re-assign the stream
А у меня тоже вопрос в догонку к предложениям выше :)
Можно ли привязать медиа-клавиши к странице? То есть чтобы по клавишам Play/Pause на клавиатуре можно было включать/ставить на паузу, например, как это происходит с вкладками YouTube.
А зачем вам последний этап: "Понять полностью код" ?
Потому что модели тем лучше работают, чем меньше кода. Они, даже распоследние клауды и опусы, до сих пор не на том уровне, чтобы могли поддерживать существующий код на хорошем уровне. А значит, либо вам тоже нужно вникать в писанину и направлять ИИ, либо продукт со временем скатывается в неподдерживаемый слоп.
В WoW Lua сильно кастомизированный, правда. Например, код делится на привилегированный и пользовательский и есть понятие загрязнения. И при этом доступны многие "опасные" функции типа loadstring, getfenv/setfenv, getmetatable/setmetatable.
Я бы поверил, что это такая хитрая и намеренная иллюстрация, если бы я не видел точно такой же мусор в каждой третьей статье на хабре. Смотрите не только текст, который "это у меня такая метафора", смотрите всю картинку целиком, визуальную составляющую тоже.
Ни смысловой нагрузки, ни визуальной значимости. Это же мусор. Неужели вам самому приятно на неё смотреть? Неужели совсем ничего не ёкает? Сде&а̡ли как-то:.., ну и @@РАГРА с ней, а что такого.
/me вздыхает
Вы правы :)
Очевидно, что JSON - good enough, он не идеален и подходит не во всех ситуациях.
Несколько лет назад я бы сам ворчал, дескать, JSON - текстовый формат, расточительно, неэффективно, бу-бу-бу. Сейчас у нас есть парсеры, ворочающие JSONы гигабайтами в секунду.
Вы никак не отнимите у JSON его огромный плюс - он поддерживается практически любым языком программирования, можно читать даже на тостере или утюге. Так уж сложилось. Поздно брюзжать про бинарные СТАНДАРТНЫЕ форматы.
Вот бы человечество придумало что-то вроде анализатора, который бы находил неиспользуемый код в библиотеках (и в пользовательском коде тоже можно, кстати) и удалял из скомпилированного артефакта. Можно даже придумать какое-нибудь прикольное название, например, tree shaking. Тогда не станет проблемы +10 Мб, а библиотеки останутся полезными.
Приехали вот сегодня в мои края :)
У меня ощущение, что где-то заканчивается онлайн-курс по ИИ и всем выдали финальную домашку навайбкодить продукт и написать статью на хабр о том, как добиться успешного успеха, обязательно с выводами и горсткой советов.
Можно подумать, отсутствие открытого кода остановило бы ИИ-компании. Авторы 500 тысяч книжек кому что отдали? "Капиталистам" это просто стоило 1,5 миллиарда президентов США - дороговато, но никто даже за решётку не сел.
Хммм. Я полез разбираться, оказывается, чтобы на винде в Edge тоже заработало, странице нужно явно проставлять метаданные через Media Session API. После этого работает пауза, хотя трек надо включать вручную:
Трек начинает ставиться на паузу/воспроизводиться по ⏯️, но страница не понимает, что что-то произошло:
Можно добавить обработчики...
но при остановке трека кнопки снова перестают работать. Gemini говорит, вот это
прибивает медиа сессию и советует вместо зануления
mainAudioприбиватьsrc:@boombick не посмотрите? 🙏
А у меня тоже вопрос в догонку к предложениям выше :)
Можно ли привязать медиа-клавиши к странице? То есть чтобы по клавишам Play/Pause на клавиатуре можно было включать/ставить на паузу, например, как это происходит с вкладками YouTube.
Никто не мешает. В том числе никто не мешает ИИ-агентам смотреть ваш код и безвозмездно обучаться на нём. Читайте новости в оригинале:
Ой, а что случилось?
https://fortune.com/2026/02/13/tech-giant-ibm-tripling-gen-z-entry-level-hiring-according-to-chro-rewriting-jobs-ai-era/
Забьют на онлайн-собеседования. Или будут просить включить вторую камеру, которая бы смотрела в монитор
Потому что модели тем лучше работают, чем меньше кода. Они, даже распоследние клауды и опусы, до сих пор не на том уровне, чтобы могли поддерживать существующий код на хорошем уровне. А значит, либо вам тоже нужно вникать в писанину и направлять ИИ, либо продукт со временем скатывается в неподдерживаемый слоп.
Это же ваша статья, вы можете исправить текст.
OnlyFish
В WoW Lua сильно кастомизированный, правда. Например, код делится на привилегированный и пользовательский и есть понятие загрязнения. И при этом доступны многие "опасные" функции типа
loadstring,getfenv/setfenv,getmetatable/setmetatable.А смотрели в сторону Luau? Это такой диалект от Roblox:
они собаку съели на песочницах, и за 20 лет собрали много заботливо разложенных граблей. PUC-Rio Lua печально известен своей сложностью изолироваться
type annotations и соответствующие плюшки (подсказки, проверки типов)
обещают, что они быстрее PUC-Rio
И винду
Я бы поверил, что это такая хитрая и намеренная иллюстрация, если бы я не видел точно такой же мусор в каждой третьей статье на хабре. Смотрите не только текст, который "это у меня такая метафора", смотрите всю картинку целиком, визуальную составляющую тоже.
А вот ваша КДПВ - это инструмент или нейрослоп?
Скрытый текст
Ни смысловой нагрузки, ни визуальной значимости. Это же мусор. Неужели вам самому приятно на неё смотреть? Неужели совсем ничего не ёкает? Сде&а̡ли как-то:.., ну и @@РАГРА с ней, а что такого.