Ощутил сполна как круто быть владельцем fairphone.
Через два года использования я просто заказал замену поцарапанному экрану, заднюю крышку и новый акб. Доставка 2 дня, замена ~15 минут и у меня считайте новый смартфон.
Да, на нем последний андроид (причем чистый, без кастомизаций), и я еще буду получать обновления до 2028 года.
Как не странно firephone на начинает работать медленнее со временем. Более того, меня всячески форсят не покупать новый. Например в фирменом приложении ведется лог сколько лет моему девайсу, что я в нем менял, и мейлстоуны (например я пользуюсь им больше двух лет, это больше чем половина всех владельцев смартфонов). Самое прикольное - чем дольше я им пользуюсь - тем больше у меня баллов за которые я могу покупать запчасти на замену.
Как они вообще зарабатывают...
Через два года использования я просто заказал замену поцарапанному экрану, заднюю крышку и новый акб. Доставка 2 дня, замена ~15 минут и у меня считайте новый смартфон.
Да, на нем последний андроид (причем чистый, без кастомизаций), и я еще буду получать обновления до 2028 года.
Как не странно firephone на начинает работать медленнее со временем. Более того, меня всячески форсят не покупать новый. Например в фирменом приложении ведется лог сколько лет моему девайсу, что я в нем менял, и мейлстоуны (например я пользуюсь им больше двух лет, это больше чем половина всех владельцев смартфонов). Самое прикольное - чем дольше я им пользуюсь - тем больше у меня баллов за которые я могу покупать запчасти на замену.
Как они вообще зарабатывают...
👍15🤯2❤1
Work & Beer Balance
Ощутил сполна как круто быть владельцем fairphone. Через два года использования я просто заказал замену поцарапанному экрану, заднюю крышку и новый акб. Доставка 2 дня, замена ~15 минут и у меня считайте новый смартфон. Да, на нем последний андроид (причем…
А еще на него можно поставить Ubuntu Touch
devices.ubuntu-touch.io
Promoted Devices • Ubuntu Touch • Linux Phone
Ubuntu Touch is the open source phone that has freedom and privacy in mind. Top-choice devices, pre-installed, long-lasting and mainline
#linuxtip
если вы выполнили команду без sudo, и терминал выдал вам ошибку об отсутствии прав, просто накричите на него вот так.
это сработает, обещаю
`!!` - повторяет последнюю команду
если вы выполнили команду без sudo, и терминал выдал вам ошибку об отсутствии прав, просто накричите на него вот так.
sudo !!
это сработает, обещаю
😁17🔥2
Приди в офис получи 🍌. (Но только один)
Амазон, в отличии от других крупных (и не очень) айти компаний, не имеет никаких вкусняшек, чаев, кофе в офисе. В качестве пряника по кампусу ездит грузовичек с бананами, можно спуститься и получить бесплатных бананов. (Это тупо копирка с экспериментов на обезьянах или мне кажется?).
Так вот, к чему это я, в сети появилось письмо с внутренней почты амазона, что теперь сотрудникам запрещено брать больше одного банана на человека. Брать для кого-то тоже запрещено, каждый должен подойти сам если хочет банан.
Амазон, в отличии от других крупных (и не очень) айти компаний, не имеет никаких вкусняшек, чаев, кофе в офисе. В качестве пряника по кампусу ездит грузовичек с бананами, можно спуститься и получить бесплатных бананов. (Это тупо копирка с экспериментов на обезьянах или мне кажется?).
Так вот, к чему это я, в сети появилось письмо с внутренней почты амазона, что теперь сотрудникам запрещено брать больше одного банана на человека. Брать для кого-то тоже запрещено, каждый должен подойти сам если хочет банан.
The Daily Dot
'I have worked a job where it was BYO K-Cup': Amazon tells workers to stop eating so much fruit
'The moment that person wants a second 10 cent banana it’s too much.'
😁10🙈8🍌6🙉4🙊4
Meta показала демку своих XR очечей, но они не единственные кто стремится занять этот рынок, с учетом того что китайские прототипы XR очков еще год назад уже были как вполне обычные очки, а в этом году OPPO уже показали третью версию вообще не отличимую от обычных очков - они скорее в позиции догоняющих. Зато у meta больше ресурсов и шансов довести прототип до рынка за приемлемую цену.
Кстати о гигантах, Google и Samsung уже заявили что их очки на подходе, и чтобы успеть запрыгнуть в трогающийся хайптрейн, они обедняются в этакий "альянс" и мы возможно увидим первый совместный продукт самсунга и гугла. В альянс так же входит Qualcomm, который уже засветился на рынке микрочипов для XR/AR платформ.
2025, ну или может 2026 год - будет годом очкариков, скриньте
Кстати о гигантах, Google и Samsung уже заявили что их очки на подходе, и чтобы успеть запрыгнуть в трогающийся хайптрейн, они обедняются в этакий "альянс" и мы возможно увидим первый совместный продукт самсунга и гугла. В альянс так же входит Qualcomm, который уже засветился на рынке микрочипов для XR/AR платформ.
2025, ну или может 2026 год - будет годом очкариков, скриньте
Telegram
Work & Beer Balance
Meta анонсирует свою работу над умными очками Ray-Ban.
Они предлагают одновременно очень крутые фичи, и полную потерю приватности. Все происходящее будет записаться на видео и аудио, и обрабатываться аишкой. Они будут помнить где вы что положили, что и когда…
Они предлагают одновременно очень крутые фичи, и полную потерю приватности. Все происходящее будет записаться на видео и аудио, и обрабатываться аишкой. Они будут помнить где вы что положили, что и когда…
На случай если вы заботясь о здоровье пробуете работать стоя - вам стоит перестать это делать, потому что это не только не помогает, но ещё и калечит вас.
Длительная работа в стоячем положении не компенсирует те проблемы с работой сердца и сосудов, которые возникают при сидячем образе жизни.
«Более того, эта практика сама по себе несет риск для некоторых людей в долгосрочной перспективе»
The University of Sydney
Standing more may not reduce cardiovascular disease risk, could increase circulatory disease
Over the long-term, standing more compared with sitting does not improve cardiovascular health, and could increase the risk of circulatory issues related to standing, such as varicose veins and deep vein thrombosis.
👎2
Ребзи, не бейте меня, в телегамме нету ленты, так что каналы можно находить только папочками.
Если б не это вы бы меня никогда не нашли =)
Вот ребята собрали еще одну айти подборочку, там всего понемногу
https://t.iss.one/addlist/d23m2d_lHE42MjAy
Если б не это вы бы меня никогда не нашли =)
Вот ребята собрали еще одну айти подборочку, там всего понемногу
https://t.iss.one/addlist/d23m2d_lHE42MjAy
Telegram
Разработка
You’ve been invited to add the folder “Разработка”, which includes 11 chats.
Развенчиваю мифы о веб компонентах:
Веб компонент — это нативная альтернатива react/vue/svelte и т. п.
Я понимаю, откуда этот миф, вы могли так подумать, потому что у нас везде компонент прибит гвоздями к своему фреймворку. Но веб компоненты - это не фреймворк и даже не библиотека, это браузерный API. Действительно, есть фреймворк поверх этого API - lit (https://lit.dev/).
(Хороший он или плохой, не тема этого поста), есть и другие фреймворки, которые могут использовать API веб компонентов. Но сам по себе он ни в коем случае не фреймворк, и не решает проблем фреймворка, и сопоставлять его с существующими фреймворками мало смысла.
Задача веб компонента уменьшить размер бандла и / или производительность фреймворков.
Такие цели действительно были заявлены в спичах продвигающих веб компоненты, но мы ещё не здесь, это цель - на далёкое будущее, когда кристаллизуется некоторая кодовая база, основа, которая одинакова в каждом фреймворке для работы с DOM API. Что-то, что пишут снова и снова для достижения того же результата. Но пока её не видно. По факту фреймворкам всё ещё удобнее работать с домом императивно, каждый из них имеет свой уникальный путь, и API вэб компонентов им попросту неинтересен (с позиции автора фреймворка). Однако этот API часто поддерживают для профита конечного пользователя, о чем мы поговорим дальше.
Веб компонент бесполезен?
Напротив, это очень полезный API, хотя нужный он не каждому пользователю. Чаще веб приложение генерирует всё DOM дерево от корня и расширяется библиотеками, написанным специально под него.
Это, безусловно, ограничивает полезность новых фреймворков, без кодовой базы готовых компонентов под них. Эта проблема также может быть решена веб компонентами, но это проблема уровня js тусовки, а мы с вами заглянем ещё глубже, на уровень вэба.
В чём идея API веб компонента как такового?
Веб компонент API позволяет нам расширять возможности html
Давайте представим, что нам нужен простой элемент
Из понимания этого момента легко выясняется, где этот API применять. Можно даже заполифилить html элементы, которые ещё не завезли, и тогда вам в будущем останется только удалить код полифила (и убрать префикс у тэгов)
Бесконечные возможности встраивания открывают так же двери для встраивания любой дичи из маркета пользователей в ваше положение (SalesForce так и делают), или вовсе создавать реестры универсальных компонентов, вкладывать react в vue, и наоборот, и так далее (можно, не значит нужно!))
Да, использование этого API потребует от вас дополнительных усилий, обертки добавят веса, а коммуникация между компонентами "деградирует" до нативного браузерного API, который мы так старательно избегаем оборачивая ее в фреймворк.
Но иногда, простой и максимально нативный браузерный API - это именно то, что нужно вам и вашему пользователю.
Веб компонент — это нативная альтернатива react/vue/svelte и т. п.
Я понимаю, откуда этот миф, вы могли так подумать, потому что у нас везде компонент прибит гвоздями к своему фреймворку. Но веб компоненты - это не фреймворк и даже не библиотека, это браузерный API. Действительно, есть фреймворк поверх этого API - lit (https://lit.dev/).
(Хороший он или плохой, не тема этого поста), есть и другие фреймворки, которые могут использовать API веб компонентов. Но сам по себе он ни в коем случае не фреймворк, и не решает проблем фреймворка, и сопоставлять его с существующими фреймворками мало смысла.
Задача веб компонента уменьшить размер бандла и / или производительность фреймворков.
Такие цели действительно были заявлены в спичах продвигающих веб компоненты, но мы ещё не здесь, это цель - на далёкое будущее, когда кристаллизуется некоторая кодовая база, основа, которая одинакова в каждом фреймворке для работы с DOM API. Что-то, что пишут снова и снова для достижения того же результата. Но пока её не видно. По факту фреймворкам всё ещё удобнее работать с домом императивно, каждый из них имеет свой уникальный путь, и API вэб компонентов им попросту неинтересен (с позиции автора фреймворка). Однако этот API часто поддерживают для профита конечного пользователя, о чем мы поговорим дальше.
Веб компонент бесполезен?
Напротив, это очень полезный API, хотя нужный он не каждому пользователю. Чаще веб приложение генерирует всё DOM дерево от корня и расширяется библиотеками, написанным специально под него.
Это, безусловно, ограничивает полезность новых фреймворков, без кодовой базы готовых компонентов под них. Эта проблема также может быть решена веб компонентами, но это проблема уровня js тусовки, а мы с вами заглянем ещё глубже, на уровень вэба.
В чём идея API веб компонента как такового?
Веб компонент API позволяет нам расширять возможности html
Давайте представим, что нам нужен простой элемент
<switch-toggle /> (результат скрещивания радиокнопки и чекбокса). В мобилке такие элементы повсеместно, а в html такого input-a нет. Но, благодаря API веб компонента мы легко можем это поправить. И причём неважно в каком фреймворке он будет использован, в jsx или vue шаблоне, может, php? Да хоть в mol, назовите любой, всё в вебе, в конце концов умеет генерировать html, а наш веб компонент позволяет в него встроиться! В этом суть веб компонента.Из понимания этого момента легко выясняется, где этот API применять. Можно даже заполифилить html элементы, которые ещё не завезли, и тогда вам в будущем останется только удалить код полифила (и убрать префикс у тэгов)
Бесконечные возможности встраивания открывают так же двери для встраивания любой дичи из маркета пользователей в ваше положение (SalesForce так и делают), или вовсе создавать реестры универсальных компонентов, вкладывать react в vue, и наоборот, и так далее (можно, не значит нужно!))
Да, использование этого API потребует от вас дополнительных усилий, обертки добавят веса, а коммуникация между компонентами "деградирует" до нативного браузерного API, который мы так старательно избегаем оборачивая ее в фреймворк.
Но иногда, простой и максимально нативный браузерный API - это именно то, что нужно вам и вашему пользователю.
👍10👌3❤1
Разработка в 2024ом.
Пишу название функции - аишка предлагает реализацию.
"Вроде правильно, но напишу-ка я тест" - подумал я, и начал писать тест - аишка его дописала.
Запустил тест - он упал - "АГА" подумал я, и пошел исправлять код функции - аишка предложила исправление согласно упавшему тесту (совпадение?)
Странное ощущение, вроде и круто а вроде и даже не комфортно как-то, как будто слова не дают сказать
Пишу название функции - аишка предлагает реализацию.
"Вроде правильно, но напишу-ка я тест" - подумал я, и начал писать тест - аишка его дописала.
Запустил тест - он упал - "АГА" подумал я, и пошел исправлять код функции - аишка предложила исправление согласно упавшему тесту (совпадение?)
Странное ощущение, вроде и круто а вроде и даже не комфортно как-то, как будто слова не дают сказать
😁7
В чате кинули видео в котором Линус высказывает надежды на то что Valve спасет desktop linux.
Дополню его слова - Valve - чуть ли не единственная крупная компания, которой на коммерческой основе интересен Linux за пределами серверов и IoT.
Не без помощи Steam Deck были исправлены долгоиграющие баги со скейлингом, компиляцией шейдеров, внесены фиксы в Vulkan API и систему энергосбережения.
Valve прокачала Proton, который пригоден не только для запуска игр, но, что важнее, они портировали сами многие игры, по дороге добавляя важные фиксы в экосистему настольного Linux, до которых у энтузиастов руки не доходили, а на серверах не было необходимости, чтобы кто-то корпел над этим фултайм.
В конце концов стали появляться новые игры сразу с учётом Linux, что подняло приоритет поддержки Linux у производителей видеокарт и драйверов. Это, в свою очередь, явило нам Linux-ноутбуки с видеокартами на борту (они были и до этого, но выбор был сильно меньше, а опыт их использования - значительно хуже). Lenovo Legion, например, уже заявляют о поддержке Linux-гейминга из коробки и своё обещание выполняют (имел возможность убедиться лично). Linux гейминг становится модным, это привлекает новых пользователей в экосистему, популяризует ее среди молодежи.
Так что да, у Valve есть мотивация, ресурсы, и влияние чтобы двигать пользовательский опыт настольного Linux, и спасти его, и Линус не спроста возложил на них свои надежды.
Дополню его слова - Valve - чуть ли не единственная крупная компания, которой на коммерческой основе интересен Linux за пределами серверов и IoT.
Не без помощи Steam Deck были исправлены долгоиграющие баги со скейлингом, компиляцией шейдеров, внесены фиксы в Vulkan API и систему энергосбережения.
Valve прокачала Proton, который пригоден не только для запуска игр, но, что важнее, они портировали сами многие игры, по дороге добавляя важные фиксы в экосистему настольного Linux, до которых у энтузиастов руки не доходили, а на серверах не было необходимости, чтобы кто-то корпел над этим фултайм.
В конце концов стали появляться новые игры сразу с учётом Linux, что подняло приоритет поддержки Linux у производителей видеокарт и драйверов. Это, в свою очередь, явило нам Linux-ноутбуки с видеокартами на борту (они были и до этого, но выбор был сильно меньше, а опыт их использования - значительно хуже). Lenovo Legion, например, уже заявляют о поддержке Linux-гейминга из коробки и своё обещание выполняют (имел возможность убедиться лично). Linux гейминг становится модным, это привлекает новых пользователей в экосистему, популяризует ее среди молодежи.
Так что да, у Valve есть мотивация, ресурсы, и влияние чтобы двигать пользовательский опыт настольного Linux, и спасти его, и Линус не спроста возложил на них свои надежды.
👍13❤2
В телеграмме ну просто напрашивается возможность показывать "системные" сообщения в группе для конкретного юзера.
Просьбы пройти капчу, обьяснения почему его сообщение было удалено, и т.п.
Даже в мирке это было, а мы в 2024 году вынуждены все читать то что бот пишет одному человеку
Просьбы пройти капчу, обьяснения почему его сообщение было удалено, и т.п.
Даже в мирке это было, а мы в 2024 году вынуждены все читать то что бот пишет одному человеку
💯11👍4
Пятничная байка:
Один айтишник в Америке зарегистрировал свою машину под кастомным номером
Он рассчитывал что когда ему автоматические системы будут выписывать штраф, они подумают что номер не найден в базе и штраф ему не выпишется
На практике же ему довольно быстро пришел штраф на $12.000, т.к. ему зачислялись штрафы всех тех, чьи номера не были найдены в базе
Один айтишник в Америке зарегистрировал свою машину под кастомным номером
null.Он рассчитывал что когда ему автоматические системы будут выписывать штраф, они подумают что номер не найден в базе и штраф ему не выпишется
На практике же ему довольно быстро пришел штраф на $12.000, т.к. ему зачислялись штрафы всех тех, чьи номера не были найдены в базе
😁31🤣5
Открываю гугл ассистент чтобы "зашазамить" песенку, а мне говорят - мы вас редиректнем на Gemini, он пришел на замену, лучше круче и т.д.
Соглашаюсь, спрашиваю Gemini - что играет? Ответ убил: спросите у google assistant
Мне очень интересно, что там в Гугле происходит? Все что касается их попыток внедрения AI в андроид очень очень плохо.
Поспешили и людей насмешили, получается.
Соглашаюсь, спрашиваю Gemini - что играет? Ответ убил: спросите у google assistant
Мне очень интересно, что там в Гугле происходит? Все что касается их попыток внедрения AI в андроид очень очень плохо.
Поспешили и людей насмешили, получается.
👏7😁3
Вы наверное слышали что OpenAI запилили свой поисковик пару дней назад. И уже вижу отзывы про-то что гугл ему проигрывает. Маленькие компании разбирают бизнес гиганта на кусочки.
Размышляя об этом я пришел к мыслям о том, что будет, если гугл не вытянет конкуренции в сфере доступа к информации. Станет ли гугл "злее", станет ли все оставшееся делать платным и завинчивать гайки вместо открытости, или наоборот, смирится и сделает пивот куда-то в сторону, например в хардварную часть.
Размышляя об этом я пришел к мыслям о том, что будет, если гугл не вытянет конкуренции в сфере доступа к информации. Станет ли гугл "злее", станет ли все оставшееся делать платным и завинчивать гайки вместо открытости, или наоборот, смирится и сделает пивот куда-то в сторону, например в хардварную часть.
Openai
Introducing ChatGPT search
Get fast, timely answers with links to relevant web sources
А вы знали что в Firefox и Zen (типа Arc, но на базе лисы) есть экспериментальная фича - спросить у AI?
Включение этой фичи добавляет иконку рядом с выделенным текстом (опционально) и пункт в контекстное меню - "спросить у AI".
По умолчанию там уже есть список из того что можно спросить - упростить текст, сделать выжимку, наоборот - объяснить подробнее, и квиз по тексту.
Интересно что никакие токены создавать и вписывать туда не нужно - диалог с чатом открывается в сайд панели и, так как технически это просто еще одна табка, авторизация произойдет вашими куками из браузера, оставшимися с прошлого логина. Нужно выбрать только провайдера.
Включается в настройках, на закладке Firefox Labs -> AI chatbot
В качестве провайдера можно выбрать так же localhost, для этого надо в
Чтобы добавить свои промпты, там же, в
Название страницы и выделенный текст будут идти префиксом к промпту, но так же доступны в виде переменных
#firefox #ai
Включение этой фичи добавляет иконку рядом с выделенным текстом (опционально) и пункт в контекстное меню - "спросить у AI".
По умолчанию там уже есть список из того что можно спросить - упростить текст, сделать выжимку, наоборот - объяснить подробнее, и квиз по тексту.
Интересно что никакие токены создавать и вписывать туда не нужно - диалог с чатом открывается в сайд панели и, так как технически это просто еще одна табка, авторизация произойдет вашими куками из браузера, оставшимися с прошлого логина. Нужно выбрать только провайдера.
Включается в настройках, на закладке Firefox Labs -> AI chatbot
В качестве провайдера можно выбрать так же localhost, для этого надо в
about:config переключить флаг browser.ml.chat.hideLocalhost в falseЧтобы добавить свои промпты, там же, в
about:config создаем новый параметр с ключем browser.ml.chat.prompts.a где последнюю a можете заменить на любую строку (не используйте цифры, они для дефолтных промптов). В качестве значения укажите тип String и запишите туда json следующего вида:{
"label": "Название пункта меню",
"value": "Текст запроса к чат боту"
}Название страницы и выделенный текст будут идти префиксом к промпту, но так же доступны в виде переменных
%tabTitle% и %selection|12000% где 12000 - ограничение на количество символов#firefox #ai
👍6🔥1
Идеи высказанные в 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
www.loc.gov
Alpha-3 codes arranged alphabetically by English name of Language - Codes for the representation of names of languages (Library…
This document contains the ISO 639-2 Alpha-3
codes for the representation of names of languages
codes for the representation of names of languages
👍16🔥3
В vscode завезли прикольную фичу, называется Extension Bisect.
Сценарий использования такой - случился у вас какой-то баг, жмете кнопочку с вышеупомянутым названием (находится под тремя точками в панели расширений) после чего редактор вырубает все расширения оставляя вас в том же контексте и просит попробовать воспроизвести баг.
В углу редактора у вас две кнопки - "Могу воспроизвести" и "Не могу воспроизвести".
Нажимаете "не могу" - vscode включает половину расширений и снова спрашивает.
Т.е. это бинарный поиск глючного расширения встроенный в вскод.
В конце вы получите отключение каких расширений помогло, и форму для заполнения issue,
по задумке он сам запостит в репозиторий расширения, а так же прикрепит всю инфу о вашем окружении и лог эксперимента.
Правда вот эта вот форма в конце у меня почему-то не работает, нажатие кнопки отправления отчета просто ничего не делает.
Ну, по крайней мере нашел что так сильно грузило мне редактор
Сценарий использования такой - случился у вас какой-то баг, жмете кнопочку с вышеупомянутым названием (находится под тремя точками в панели расширений) после чего редактор вырубает все расширения оставляя вас в том же контексте и просит попробовать воспроизвести баг.
В углу редактора у вас две кнопки - "Могу воспроизвести" и "Не могу воспроизвести".
Нажимаете "не могу" - vscode включает половину расширений и снова спрашивает.
Т.е. это бинарный поиск глючного расширения встроенный в вскод.
В конце вы получите отключение каких расширений помогло, и форму для заполнения issue,
по задумке он сам запостит в репозиторий расширения, а так же прикрепит всю инфу о вашем окружении и лог эксперимента.
Правда вот эта вот форма в конце у меня почему-то не работает, нажатие кнопки отправления отчета просто ничего не делает.
Ну, по крайней мере нашел что так сильно грузило мне редактор
👍18🔥8