Идеи высказанные в JS0/JSSugar кажется были услышаны.
В предложении сигналов каждая мелкая фича обдумывается на предмет того, должно ли оно быть в спеке.
Посмотрите например как принималось решение о механизмах сериализации сигналов.
Если это легко решается в юзерленде - это стараются там и оставить. Но не отмахиваясь а реализуя их в отдельной либе под названием signal-utils. Такой вот локальный SugarJs.
По началу я был скептичен по отношению к идее обязательной зависимости в каждом проекте, но кажется я готов принять смерть vanillajs, и тот факт, что мы всегда в какой-то степени будем зависеть от этапа сборки.
В предложении сигналов каждая мелкая фича обдумывается на предмет того, должно ли оно быть в спеке.
Посмотрите например как принималось решение о механизмах сериализации сигналов.
Если это легко решается в юзерленде - это стараются там и оставить. Но не отмахиваясь а реализуя их в отдельной либе под названием signal-utils. Такой вот локальный SugarJs.
По началу я был скептичен по отношению к идее обязательной зависимости в каждом проекте, но кажется я готов принять смерть vanillajs, и тот факт, что мы всегда в какой-то степени будем зависеть от этапа сборки.
DEV Community
JavaScript JS0/JSSugar Proposals, Node.js 23, Next.js 15 RC2 and more
Welcome to this week’s edition of "This Week in JavaScript"! We’ve got a bunch of exciting updates...
👍2
Я таки перешел на локальную аишку для автокомлита дома в vscode.
Вот что я узнал в процессе:
🔸 1. Плагин для IDE / Специальная IDE
Для того чтобы подключить локальную аишку в vscode вам понадобится плагин который будет генерировать запросы для модели и показывать ее предложения в коде. я выбрал Continue как самое универсальное решение.
🔸 2. Поднять AI сервер
Вам понадобится программа - AI сервер (название сам придумал) которая скачает, запустит модель, поможет ее настроить, поднимет локальный сервер для общения с аишкой по http.
Среди них Ollama, LM Studio, openrouter
🔸 3. Выбрать модель.
Брать лучше модели заточенные под кодинг, такие как OpenCoder, Cline, QwenCoder (накидайте в комментариях если знаете еще) - выбрать и скачать можно будет прямо в интерфейсе вашего AI сервера.
У одной и той же модели есть масса вариантов, давайте разберемся чем они отличаются.
🔹 0.5b / 1.5b / 8b и другие цифры с маленькой b
Это "размер" модели, чем он больше тем тяжелее для вашего пк будет генерировать ответ с ее помощью, но и ответ может быть качественней. Для автокомплита есть смысл брать до 3b
🔹 Q8 / Q4 и другие цифры с большой Q
Это уровень квантования, чем он меньше, тем меньше моделька потребляет памяти, и тем хуже ответ. Если у вас 32 GB памяти или больше то берите Q8, иначе Q4
Чтобы примерно понять как соотносятся b и Q, представьте что мы говорим о кино.
b - это бюджет фильма. Чем он выше тем лучше актерский состав, спецэффекты, костюмы, музыкальное сопровождение и тп.
Q - это качество в котором вы это кино смотрите - Q8 это как 1440p, а Q4 это как 720p. На суть фильма не влияет
🔹Instruct / Base.
Instruct - Это специально проинструктированная и подтюненная аишка под свою задачу (в нашем случае - кодинг)
Base - Это базовая модель, используется как промежуточная для дообучения
🔹GGUF / GPTQ / AWQ - это метод квантования
- GGUF - "Классика", ваш выбор по умолчанию - из плюсов совместимость и стабильность, из минусов - медленная (в сравнении с теми что идут дальше). Может запускаться как на GPU так и на CPU
- GPTQ - Запускается только на GPU, и только на Nvidia, быстрая, но в жертву приносится точность. Видюшку желательно иметь с 8GB+ памятью
- AWQ - И быстрая и точная, но только для самых свеженьких Nvidia
Если не указано ничего - это почти наверняка GGUF.
🔹 Размер контекста (K). Он может быть указан как K с числом, так и сокращением K_M (Medium) или K_S (Small)
малое (K_S) это 2-4K
среднее (K_M) соотвствует 8-16K
Этот параметр влияет на то сколько контекста способна удерживать модель. Если в процессе разговора вы выпадаете из контекстного окна, это выглядит как то, что модель забыла о чем вы ранее говорили и перестала это учитывать в ответах.
1000 токенов примерно соответствует 750 словам на английском языке и 500-600 на русском
Вот что я узнал в процессе:
🔸 1. Плагин для IDE / Специальная IDE
Для того чтобы подключить локальную аишку в vscode вам понадобится плагин который будет генерировать запросы для модели и показывать ее предложения в коде. я выбрал Continue как самое универсальное решение.
🔸 2. Поднять AI сервер
Вам понадобится программа - AI сервер (название сам придумал) которая скачает, запустит модель, поможет ее настроить, поднимет локальный сервер для общения с аишкой по http.
Среди них Ollama, LM Studio, openrouter
🔸 3. Выбрать модель.
Брать лучше модели заточенные под кодинг, такие как OpenCoder, Cline, QwenCoder (накидайте в комментариях если знаете еще) - выбрать и скачать можно будет прямо в интерфейсе вашего AI сервера.
У одной и той же модели есть масса вариантов, давайте разберемся чем они отличаются.
🔹 0.5b / 1.5b / 8b и другие цифры с маленькой b
Это "размер" модели, чем он больше тем тяжелее для вашего пк будет генерировать ответ с ее помощью, но и ответ может быть качественней. Для автокомплита есть смысл брать до 3b
🔹 Q8 / Q4 и другие цифры с большой Q
Это уровень квантования, чем он меньше, тем меньше моделька потребляет памяти, и тем хуже ответ. Если у вас 32 GB памяти или больше то берите Q8, иначе Q4
Чтобы примерно понять как соотносятся b и Q, представьте что мы говорим о кино.
b - это бюджет фильма. Чем он выше тем лучше актерский состав, спецэффекты, костюмы, музыкальное сопровождение и тп.
Q - это качество в котором вы это кино смотрите - Q8 это как 1440p, а Q4 это как 720p. На суть фильма не влияет
🔹Instruct / Base.
Instruct - Это специально проинструктированная и подтюненная аишка под свою задачу (в нашем случае - кодинг)
Base - Это базовая модель, используется как промежуточная для дообучения
🔹GGUF / GPTQ / AWQ - это метод квантования
- GGUF - "Классика", ваш выбор по умолчанию - из плюсов совместимость и стабильность, из минусов - медленная (в сравнении с теми что идут дальше). Может запускаться как на GPU так и на CPU
- GPTQ - Запускается только на GPU, и только на Nvidia, быстрая, но в жертву приносится точность. Видюшку желательно иметь с 8GB+ памятью
- AWQ - И быстрая и точная, но только для самых свеженьких Nvidia
Если не указано ничего - это почти наверняка GGUF.
🔹 Размер контекста (K). Он может быть указан как K с числом, так и сокращением K_M (Medium) или K_S (Small)
малое (K_S) это 2-4K
среднее (K_M) соотвствует 8-16K
Этот параметр влияет на то сколько контекста способна удерживать модель. Если в процессе разговора вы выпадаете из контекстного окна, это выглядит как то, что модель забыла о чем вы ранее говорили и перестала это учитывать в ответах.
1000 токенов примерно соответствует 750 словам на английском языке и 500-600 на русском
Visualstudio
Continue - open-source AI code agent - Visual Studio Marketplace
Extension for Visual Studio Code - The leading open-source AI code agent
👍26🔥2❤1
Поковырялся с настройкой форматирования чисел в приложении.
Intl работает как магия, и в процессе я чучуть капнул а откуда оно берет как что должно быть отформатировано.
Так вот:
1. В качестве локали принимается строка, состоящая из латинских букв или цифр объединенных через дефис или "default".
Правила там черт ногу сломит, и оно может выглядеть даже как
Нувыпонели, тут все просто. Обязательна только первые две-три буквы до дефиса - т.е. язык, Остальное опционально, но регион все же стоит учитывать, разница бывает существенная.
Язык надо брать из стандарта ISO 639-2 или ISO 639-1 а страну из ISO 3166 (да, цифрами тоже можно)
2. Влияет это не только на форматирование, но даже на то как будут выглядеть ваши цифры (это тоже цифры: ๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙), и даже летосчисление (т.е. какой календарь будет использован)
3. Но где лежат все эти конфиги для каждой локали и страны? В специальном реестре The Unicode Common Locale Data Repository (CLDR) который есть на гитхабе в виде джейсонок на ~650 MB (32 из них про форматирование чисел)
4. Intl умеет форматировать отрицательные числа валют в формате "accounting". Это когда вместо знака минус число просто оборачивается в скобки.
Еще полезные ссылки:
Посмотреть а че там вообще в этом формате который вас интересует в виде таблички
https://www.localeplanet.com/icu/ru-BY/index.html
Посмотреть в каких локалях какие языки используют, и сколько человек
https://www.unicode.org/cldr/charts/46/supplemental/territory_language_information.html
Intl работает как магия, и в процессе я чучуть капнул а откуда оно берет как что должно быть отформатировано.
Так вот:
1. В качестве локали принимается строка, состоящая из латинских букв или цифр объединенных через дефис или "default".
Правила там черт ногу сломит, и оно может выглядеть даже как
de-DE-u-co-phonebk, но чаще всего это будет выглядеть как вот такая вот пара из языка и страны:en-US - американский английскийen-GB - британский английскийru-BY - белорусский русскийНувыпонели, тут все просто. Обязательна только первые две-три буквы до дефиса - т.е. язык, Остальное опционально, но регион все же стоит учитывать, разница бывает существенная.
Язык надо брать из стандарта ISO 639-2 или ISO 639-1 а страну из ISO 3166 (да, цифрами тоже можно)
2. Влияет это не только на форматирование, но даже на то как будут выглядеть ваши цифры (это тоже цифры: ๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙), и даже летосчисление (т.е. какой календарь будет использован)
3. Но где лежат все эти конфиги для каждой локали и страны? В специальном реестре The Unicode Common Locale Data Repository (CLDR) который есть на гитхабе в виде джейсонок на ~650 MB (32 из них про форматирование чисел)
4. Intl умеет форматировать отрицательные числа валют в формате "accounting". Это когда вместо знака минус число просто оборачивается в скобки.
Еще полезные ссылки:
Посмотреть а че там вообще в этом формате который вас интересует в виде таблички
https://www.localeplanet.com/icu/ru-BY/index.html
Посмотреть в каких локалях какие языки используют, и сколько человек
https://www.unicode.org/cldr/charts/46/supplemental/territory_language_information.html
👍16🔥3
В vscode завезли прикольную фичу, называется Extension Bisect.
Сценарий использования такой - случился у вас какой-то баг, жмете кнопочку с вышеупомянутым названием (находится под тремя точками в панели расширений) после чего редактор вырубает все расширения оставляя вас в том же контексте и просит попробовать воспроизвести баг.
В углу редактора у вас две кнопки - "Могу воспроизвести" и "Не могу воспроизвести".
Нажимаете "не могу" - vscode включает половину расширений и снова спрашивает.
Т.е. это бинарный поиск глючного расширения встроенный в вскод.
В конце вы получите отключение каких расширений помогло, и форму для заполнения issue,
по задумке он сам запостит в репозиторий расширения, а так же прикрепит всю инфу о вашем окружении и лог эксперимента.
Правда вот эта вот форма в конце у меня почему-то не работает, нажатие кнопки отправления отчета просто ничего не делает.
Ну, по крайней мере нашел что так сильно грузило мне редактор
Сценарий использования такой - случился у вас какой-то баг, жмете кнопочку с вышеупомянутым названием (находится под тремя точками в панели расширений) после чего редактор вырубает все расширения оставляя вас в том же контексте и просит попробовать воспроизвести баг.
В углу редактора у вас две кнопки - "Могу воспроизвести" и "Не могу воспроизвести".
Нажимаете "не могу" - vscode включает половину расширений и снова спрашивает.
Т.е. это бинарный поиск глючного расширения встроенный в вскод.
В конце вы получите отключение каких расширений помогло, и форму для заполнения issue,
по задумке он сам запостит в репозиторий расширения, а так же прикрепит всю инфу о вашем окружении и лог эксперимента.
Правда вот эта вот форма в конце у меня почему-то не работает, нажатие кнопки отправления отчета просто ничего не делает.
Ну, по крайней мере нашел что так сильно грузило мне редактор
👍18🔥8
подсветка синтаксиса в кодовых блоках уже настолько базовая фича в современных приложениях что мне кажется это пора добавлять в браузерную апи
<code language="json"></code>👍26🥰2🤔1
Апдейт по текущему состоянию порпосала сигналов:
Stage 1 - TC39 согласен что что-то такое было бы интересно иметь, некоторые делегаты очень хотят чтобы это было в языке, однако нет согласия в том какая должна быть апи.
Сейчас полифил пробуют в реальных приложениях, и просят внедрять его поддержку в фреймворки (к сожалению пока это сделал только lit в новом релизе). Это то чем мы можем помочь.
Оригинал
Stage 1 - TC39 согласен что что-то такое было бы интересно иметь, некоторые делегаты очень хотят чтобы это было в языке, однако нет согласия в том какая должна быть апи.
Сейчас полифил пробуют в реальных приложениях, и просят внедрять его поддержку в фреймворки (к сожалению пока это сделал только lit в новом релизе). Это то чем мы можем помочь.
Оригинал
GitHub
GitHub - tc39/proposal-signals: A proposal to add signals to JavaScript.
A proposal to add signals to JavaScript. Contribute to tc39/proposal-signals development by creating an account on GitHub.
❤3🤔1
Нетфликс поделился своей саксес стори использования css containers query. В классической медиаквери мы указываем ширину/высоту вьюпорта, в контейнерной квери это размер дива).
Я удивлен что там нет ни слова о двух важных моментах которые надо знать:
1. Одна из самых тяжёлых (по нагрузке на ПК) фича css. А если использовать js полифил, это вовсе катастрофа. Если у вас пяток виджетов работает таким образом - все нормально. Если у вас весь UI на этом построен страничка заметно лагает при ресайзе окна. И это одна из причин почему эти квери так долго не желали тащить в браузер - многие опасались того что если это начнет использоваться массово, общий перф вэба сильно пострадает.
2. Когда таких элементов много их поведение становится сложно предсказуемым. Скажем, у вас есть три компонента в ряд у каждого из которых есть компактный режим. Обычно у нас все они переключаются вместе при достижении маленького размера вьюпорта. Но не с контейнерными квери, где они будут переключаться по очереди, часть будет компактная часть нет. Это надо учитывать, нельзя делать дизайн как сейчас "компактный значит мобильный и тач с кнопками побольше", это теперь разные вещи.
Я удивлен что там нет ни слова о двух важных моментах которые надо знать:
1. Одна из самых тяжёлых (по нагрузке на ПК) фича css. А если использовать js полифил, это вовсе катастрофа. Если у вас пяток виджетов работает таким образом - все нормально. Если у вас весь UI на этом построен страничка заметно лагает при ресайзе окна. И это одна из причин почему эти квери так долго не желали тащить в браузер - многие опасались того что если это начнет использоваться массово, общий перф вэба сильно пострадает.
2. Когда таких элементов много их поведение становится сложно предсказуемым. Скажем, у вас есть три компонента в ряд у каждого из которых есть компактный режим. Обычно у нас все они переключаются вместе при достижении маленького размера вьюпорта. Но не с контейнерными квери, где они будут переключаться по очереди, часть будет компактная часть нет. Это надо учитывать, нельзя делать дизайн как сейчас "компактный значит мобильный и тач с кнопками побольше", это теперь разные вещи.
web.dev
Unlocking the power of CSS container queries: lessons from the Netflix team | web.dev
This case study explains the benefits of adopting container queries at Netflix.
👍10
Work & Beer Balance
Meta показала демку своих XR очечей, но они не единственные кто стремится занять этот рынок, с учетом того что китайские прототипы XR очков еще год назад уже были как вполне обычные очки, а в этом году OPPO уже показали третью версию вообще не отличимую от…
Еще несколько подтверждений что в google тоже пилят свои очечи.
В проекте Astra (XR помощник от Google) упоминается некий прототип очков, а 26 Декабря alphabet запатентовала технологию напрямую с ними связанную. Кстати, на 2030 год XR рынок оценивают в 1.1 миллиард долларов
В проекте Astra (XR помощник от Google) упоминается некий прототип очков, а 26 Декабря alphabet запатентовала технологию напрямую с ними связанную. Кстати, на 2030 год XR рынок оценивают в 1.1 миллиард долларов
Если вы хотите вывести тип на экран, чтобы он все время был перед глазами, а не только по наведению. используйте комментарий
Забавно, но claude это объяснить не может
P.S. @khraks_mamtsov подсказал что можно еще писать в той же строке
// ^? на следующей строке, так, чтобы символ ^ указывал на интересующий вас токенЗабавно, но claude это объяснить не может
P.S. @khraks_mamtsov подсказал что можно еще писать в той же строке
// =>, если ваш токен последний в ней🤯8
Work & Beer Balance
Если вы хотите вывести тип на экран, чтобы он все время был перед глазами, а не только по наведению. используйте комментарий // ^? на следующей строке, так, чтобы символ ^ указывал на интересующий вас токен Забавно, но claude это объяснить не может P.S.…
Забыл сказать, по умолчанию это работает только в песочнице typescript-a.
Чтобы заработало в vscode надо докинуть плагин vscode-twoslash-queries
Чтобы работало в markdown нужен еще вот этот плагин
(Для webstorm не знаю надо ли что-то ставить, напишите в комментариях если в курсе)
#ts #typescript
Чтобы заработало в vscode надо докинуть плагин vscode-twoslash-queries
Чтобы работало в markdown нужен еще вот этот плагин
(Для webstorm не знаю надо ли что-то ставить, напишите в комментариях если в курсе)
#ts #typescript
www.typescriptlang.org
TS Playground - An online editor for exploring TypeScript and JavaScript
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
👍2
Если вы записывайте обучающие видосы на ютуб, в надежде там заработать то у меня для вас прекрасная новость =)
Если просто перезалить эти видео на, скажем, порнохаб, монетизация будет в 3 раза больше
Спасибо моим подписчикам, выяснилась интересная деталь: история эта выдуманная
https://t.me/yashernet/5648
Если просто перезалить эти видео на, скажем, порнохаб, монетизация будет в 3 раза больше
Спасибо моим подписчикам, выяснилась интересная деталь: история эта выдуманная
https://t.me/yashernet/5648
Telegram
Yashernet
Мне тут с утра принесли историю, как красивая девушка Зара Дар делала видео с машинным обучением, но потом поняла, что настоящие деньги - они на Онлифанс. И она ушла туда, забросив учебу. Скандалы, истерики! Меня таким не проймешь - в воздухе разнесся мощный…
😁2
В Ирландии предусмотрен тюремный срок на 18 месяцев и штраф 60000$ за не устранение проблем с доступностью по стандартам EAA.
Осудить могут как директора компании, так и секретаря, менеджера и других сотрудников чья вина будет установлена.
Ну а как еще заставить их достать эти задачи из бэклога вместо того чтобы делать новые фичи!?
P.S. Я знаю что доступность это не только и не столько про aria атрибуты
Осудить могут как директора компании, так и секретаря, менеджера и других сотрудников чья вина будет установлена.
Ну а как еще заставить их достать эти задачи из бэклога вместо того чтобы делать новые фичи!?
😁8🔥3❤🔥1❤1
С учетом того как современные AI ассистенты хорошо умеют писать простые приложения, и как они плохо справляются с внесением граунлярных и ограниченных изменений в большие и сложные монолиты, кажется что у микросервесной архитектуры хорошие перспективы.
👍7👎2💅1
Рубрика - завожу ишьюсы firefox
В случае если Json пришедший с бэка большой (в моем случае - 4mb) - в девтулах мы увидим сообщение "Response has been truncated". Простительно, мы ведь хотим чтобы наши девтулы работали быстро, тем более что специально для такого случая у нас есть пункт в контекстном меню который сохраняет... такой же обрезанный json.
Обходной путь - поднять значение свойства -
мой ишьюс
В случае если Json пришедший с бэка большой (в моем случае - 4mb) - в девтулах мы увидим сообщение "Response has been truncated". Простительно, мы ведь хотим чтобы наши девтулы работали быстро, тем более что специально для такого случая у нас есть пункт в контекстном меню который сохраняет... такой же обрезанный json.
Обходной путь - поднять значение свойства -
devtools.netmonitor.responseBodyLimit в about:config до нужного (1MiB по дефолту)мой ишьюс
😁11
SimdJSON
Самая быстрая многопоточная парсилка json на диком западе, парсит в бенчах со скоростью 3.4 гигабайта в секунду на Intel Skylake (3.4 GHz).
Самая быстрая многопоточная парсилка json на диком западе, парсит в бенчах со скоростью 3.4 гигабайта в секунду на Intel Skylake (3.4 GHz).
GitHub
GitHub - simdjson/simdjson: Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse…
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks - simdjson/simdjson
💅9
Прощу прощения за мыльные скрины.
Встроенный скриншотер гнома плохо дружит с скейлингом вейланда, и эту слехка заблюреную картинку добивает сверху сжатие телеги...
Встроенный скриншотер гнома плохо дружит с скейлингом вейланда, и эту слехка заблюреную картинку добивает сверху сжатие телеги...
Самый большой ВАУ эффект от AI-шных кодогенераторов, когда не особо понимаешь что она там сгенерила, но программа работает.
Т.е. джависты балдеют от того как она генерит верстку, а я балдею от того как она пишет мне код на rust.
К чему это я? К тому что уже сейчас генерируется много кода без должного присмотра.
И дальше мы все реже будет присматривать за ней по ряду причин.
И тут перспектива становится мутной.
Если LLM учится на частично или полностью с генерированных материалах - это приводит деградации ее качества
А начиная со времени X весь новый код будет частично или полностью сгенерирован даже без должного аудита со стороны человека.
Значит ли это что LLM перестанут обучатся и весь наш код "застынет" на уровне 2023 года?
Или вклад продолжат делать принципиальные "антиаишники"?
Какие еще выходы из этой ситуации вы видите?
Т.е. джависты балдеют от того как она генерит верстку, а я балдею от того как она пишет мне код на rust.
Любая достаточно развитая технология неотличима от магии.
К чему это я? К тому что уже сейчас генерируется много кода без должного присмотра.
И дальше мы все реже будет присматривать за ней по ряду причин.
И тут перспектива становится мутной.
Если LLM учится на частично или полностью с генерированных материалах - это приводит деградации ее качества
А начиная со времени X весь новый код будет частично или полностью сгенерирован даже без должного аудита со стороны человека.
Значит ли это что LLM перестанут обучатся и весь наш код "застынет" на уровне 2023 года?
Или вклад продолжат делать принципиальные "антиаишники"?
Какие еще выходы из этой ситуации вы видите?
❤2💯1