Redis 8 снова станет опенсорс.
Из интервью с СЕО редиса (Rowan Trollope) подчерпнул пару интересных моментов:
Роуэн говорит по сути о том что такие гиганты как Google Amazon и Microsoft перепродавали Redis (с модификациями?) как сервис за деньги, причем под своими брендами.
Т.е. нигде даже не упоминалось что это сделано на базе Redis. (так же упоминает что аналогичная проблема была у Elastic Search)
В результате перехода на другую лицензию удалось собрать денег с Microsoft, а Google и Amazon перешли на форк - valkey
Однако вместе с этим появились проблемы с тем чтобы найти новых клиентов, убедить их что "SSPL это тоже самое что Open Source" не получилось
В итоге они перешли обратно на открытую лицензию, но на AGPL, который обязывает выкладывать весь код запускаемый на сервере в котором будет использоваться redis, потому что это лицензия "копилефт" (т.е. по сути распространяется на весь код в котором используется код редиса).
И они знают - в бигтехе есть внутренне правило избегать ПО с такими лицензиями
Всю суть происходящего лучше всего описывает вот эта фраза
Т.е. менять на закрытую лицензию было не так страшно, ведь был шанс срубить капусты.
А теперь когда уже шансов нет - надо все таки вернуть опенсорс, но так что б те кто не захотел дать денях все еще предпочел сидеть на форке.
Напоминает ситуацию "на зло маме уши отморожу".
P.S. Интересно, как скоро Microsoft который купил лицуху на редис всего год назад, а теперь должен выложить весь серверный код ради того чтобы обновиться, перейдет на valkey
Из интервью с СЕО редиса (Rowan Trollope) подчерпнул пару интересных моментов:
Роуэн говорит по сути о том что такие гиганты как Google Amazon и Microsoft перепродавали Redis (с модификациями?) как сервис за деньги, причем под своими брендами.
Т.е. нигде даже не упоминалось что это сделано на базе Redis. (так же упоминает что аналогичная проблема была у Elastic Search)
В результате перехода на другую лицензию удалось собрать денег с Microsoft, а Google и Amazon перешли на форк - valkey
Однако вместе с этим появились проблемы с тем чтобы найти новых клиентов, убедить их что "SSPL это тоже самое что Open Source" не получилось
And I was: ‘This isn’t working. Like, oh shit, what do we do now?’”
В итоге они перешли обратно на открытую лицензию, но на AGPL, который обязывает выкладывать весь код запускаемый на сервере в котором будет использоваться redis, потому что это лицензия "копилефт" (т.е. по сути распространяется на весь код в котором используется код редиса).
И они знают - в бигтехе есть внутренне правило избегать ПО с такими лицензиями
Всю суть происходящего лучше всего описывает вот эта фраза
“We really thought it through and said, ‘Actually, this makes sense.’ Because Amazon and Google have made their bed, we could adopt the AGPL license."
Т.е. менять на закрытую лицензию было не так страшно, ведь был шанс срубить капусты.
А теперь когда уже шансов нет - надо все таки вернуть опенсорс, но так что б те кто не захотел дать денях все еще предпочел сидеть на форке.
Напоминает ситуацию "на зло маме уши отморожу".
P.S. Интересно, как скоро Microsoft который купил лицуху на редис всего год назад, а теперь должен выложить весь серверный код ради того чтобы обновиться, перейдет на valkey
The New Stack
Redis Is Open Source Again
Redis, the popular in-memory data store, is available under an open source license again.
👍3
Forwarded from artalog (artalar)
Хватит боятся LLM
С начала года я, перебарывая себя, активно стараюсь использовать LLM во всех задачах связанных с работой. Мне было дискомфортно и не удобно это делать в начале, и абсолютно так же я чувствую себя сейчас!
АИшки выдают непредсказуемый результат, абсолютно в любой момент времени они могут начать нести чушь. С ними невозможно построить даже простой надежный пайплайн работы, что-то обязательно будет постоянно выстреливать. Неопределенность создает для меня дискомфорт и повышает мою тревожность, Думаю, очевидно, что все это очень плохо.
Но я считаю себя профессионалом и хочу таковым оставаться, поэтому, через силу, продолжаю пытаться ими пользоваться. Потому что для меня очевидно так же что они вошли в нашу жизнь навсегда, а их развитие еще не достигло своего пика.
Я понимаю, что LLM может сделать меня эффективнее в общем. Да, где-то я могу просесть - по качеству или по менталочке🙂 Но для конечного заказчика моей работы я раза в два полезнее при использовании LLM на максимуме.
Самое главное, АИшка пришла к нам в дружелюбном представлении чата и кому-то она может показаться живой или кто-то может ассоциировать такие свойства с ней, но это не так! Это просто инструмент - и это очень важно понимать.
Я вижу что так же как TypeScript лет 7 назад многие не хотели "покупать" потому что он не дает настоящую типобезопасность в рантайме, так же и сейчас не доверяют АИшке потому что она может подложить свинью там где ты этого не ждешь.
Но, я вас уверяю, с LLM можно достичь правила Парето и повысить свою эффективность.
По своему результату это просто очень быстрый, но очень тупой джун. Умение пользоваться АИшкой не сделает этого джуна умнее, в лучшем случае вы сможете получить как бы больше таких джунов (распараллелить работу). Но да, результат надо постоянно перепроверять.
При этом, если кто-то делает код или любой другой контент АИшкой и не перепроверяет его - это нормально! Это то же самое что отдать работу на аутсорс и не проверить результат - бывает. Все зависит от того каких целей вы хотите достичь - закрыть таску или закрыть ее хорошо. Зависит от контекста продукта, конечно.
Я это все к чему. Многие тригернулись на то что я признался (а мог бы не признаваться) что написал статью с АИ. Это необъективная предвзятость меня очень тревожит. Меня вообще тревожит не объективность🙂 Никто не поинтересовался а с чем именно, в каком соотношении, мне помогла LLM. И это не правильно.
Статья хорошая вышла, я старался. Да, потратил раз в пять меньше времени на нее, чем если бы писал полностью сам, но это не о качестве статьи говорит, а о моих способностях. Да и не было бы никакой статьи без АИшки, а так есть, и лично я этому рад.
С начала года я, перебарывая себя, активно стараюсь использовать LLM во всех задачах связанных с работой. Мне было дискомфортно и не удобно это делать в начале, и абсолютно так же я чувствую себя сейчас!
АИшки выдают непредсказуемый результат, абсолютно в любой момент времени они могут начать нести чушь. С ними невозможно построить даже простой надежный пайплайн работы, что-то обязательно будет постоянно выстреливать. Неопределенность создает для меня дискомфорт и повышает мою тревожность, Думаю, очевидно, что все это очень плохо.
Но я считаю себя профессионалом и хочу таковым оставаться, поэтому, через силу, продолжаю пытаться ими пользоваться. Потому что для меня очевидно так же что они вошли в нашу жизнь навсегда, а их развитие еще не достигло своего пика.
Я понимаю, что LLM может сделать меня эффективнее в общем. Да, где-то я могу просесть - по качеству или по менталочке
Самое главное, АИшка пришла к нам в дружелюбном представлении чата и кому-то она может показаться живой или кто-то может ассоциировать такие свойства с ней, но это не так! Это просто инструмент - и это очень важно понимать.
Я вижу что так же как TypeScript лет 7 назад многие не хотели "покупать" потому что он не дает настоящую типобезопасность в рантайме, так же и сейчас не доверяют АИшке потому что она может подложить свинью там где ты этого не ждешь.
Но, я вас уверяю, с LLM можно достичь правила Парето и повысить свою эффективность.
По своему результату это просто очень быстрый, но очень тупой джун. Умение пользоваться АИшкой не сделает этого джуна умнее, в лучшем случае вы сможете получить как бы больше таких джунов (распараллелить работу). Но да, результат надо постоянно перепроверять.
При этом, если кто-то делает код или любой другой контент АИшкой и не перепроверяет его - это нормально! Это то же самое что отдать работу на аутсорс и не проверить результат - бывает. Все зависит от того каких целей вы хотите достичь - закрыть таску или закрыть ее хорошо. Зависит от контекста продукта, конечно.
Я это все к чему. Многие тригернулись на то что я признался (а мог бы не признаваться) что написал статью с АИ. Это необъективная предвзятость меня очень тревожит. Меня вообще тревожит не объективность
Статья хорошая вышла, я старался. Да, потратил раз в пять меньше времени на нее, чем если бы писал полностью сам, но это не о качестве статьи говорит, а о моих способностях. Да и не было бы никакой статьи без АИшки, а так есть, и лично я этому рад.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🤡2
Интересно наблюдать как крупные энтерпрайзы включаются в игру.
Вот только недавно IBM анонсировала что их новая модель Granite 4.0 tiny выдает хороший результат при весьма скромных запросах (целятся на то чтобы быть вашим домашним LLM для автокомплита), как сегодня я обнаруживаю что даже продавец лопат не смог пройти мимо.
Nvidia, та самая которая просьбы выложить драйвера или хотябы CUDA полностью в опенсорс игнорирует (так что у нас теперь есть целый зоопарк альтернатив - ZLUDA, SYCL, ROCm) взяла и опубликовала набор из трех OCR (Open Code Reasoning) Nemotron - 32, 14 и 7b (instructed вариант)
Пишут что делают упор именно на "instruction-following, reasoning, and multi-step code problem solving", для чего был собран специальный датасет. Здесь уже явно целятся на то чтобы быть аишкой под агенты.
Похоже сейчас каждый крупный игрок ищет себе более узкую нишу в которой их модель будет преуспевать.
Вот только недавно IBM анонсировала что их новая модель Granite 4.0 tiny выдает хороший результат при весьма скромных запросах (целятся на то чтобы быть вашим домашним LLM для автокомплита), как сегодня я обнаруживаю что даже продавец лопат не смог пройти мимо.
Nvidia, та самая которая просьбы выложить драйвера или хотябы CUDA полностью в опенсорс игнорирует (так что у нас теперь есть целый зоопарк альтернатив - ZLUDA, SYCL, ROCm) взяла и опубликовала набор из трех OCR (Open Code Reasoning) Nemotron - 32, 14 и 7b (instructed вариант)
Пишут что делают упор именно на "instruction-following, reasoning, and multi-step code problem solving", для чего был собран специальный датасет. Здесь уже явно целятся на то чтобы быть аишкой под агенты.
Похоже сейчас каждый крупный игрок ищет себе более узкую нишу в которой их модель будет преуспевать.
huggingface.co
ibm-granite/granite-4.0-tiny-preview · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
👍4
Intel Arc Pro B50 16GB за $299 это вкусно
Intel Arc Pro B60 24GB за $500 это интересно
Project Battlematrix 192GB - за $5000 - сомнительно, но если вам очень надо запустить 70b модель локально, то это вариант.
Больше деталей тут
Intel Arc Pro B60 24GB за $500 это интересно
Project Battlematrix 192GB - за $5000 - сомнительно, но если вам очень надо запустить 70b модель локально, то это вариант.
Больше деталей тут
Tom's Hardware
Intel launches $299 Arc Pro B50 with 16GB of memory, 'Project Battlematrix' workstations with 24GB Arc Pro B60 GPUs
Arc Pro arrives for inference workstations.
ntfy.sh
Прилага показывает пуш уведомление, которое можно тригерить по http.
Применение придумайте сами.
(То что надо для моего esp32 проекта!)
Прилага показывает пуш уведомление, которое можно тригерить по http.
Применение придумайте сами.
👍7
Статья про LLM компиляторы это прикольно, но насколько надо быть уверенным в своих тестах. Да, можно покрыть код на 100% тестами, но даже в этом случае мы знаем лишь то что наша программа корректна в известных нам кейсах (при условии что мы все тесты написали без ошибок). Эта ситуация потревожила мои воспоминания о лямбда кубе и AGDA.
Если я своими куриными мозгами все правильно понимаю, то на пальцах - есть языки с такой мощной системой типов что программы написанные на них "самотестируемые", в том смысле что их корректность выводится математически. И "забыть" покрыть какое-то множество случаев там просто не выйдет, программа не будет считаться корректной пока не будет учтен каждый случай.
Но чтобы решать на них практические задачи надо быть этаким одаренным математиком. А вот LLM возможно справилась бы с задачей выражения того что мы хотим сделать в форме математики. И на основе выводов компилятора который проверит все формулы - дать обратную связь о чем надо бы еще подумать.
Если я своими куриными мозгами все правильно понимаю, то на пальцах - есть языки с такой мощной системой типов что программы написанные на них "самотестируемые", в том смысле что их корректность выводится математически. И "забыть" покрыть какое-то множество случаев там просто не выйдет, программа не будет считаться корректной пока не будет учтен каждый случай.
Но чтобы решать на них практические задачи надо быть этаким одаренным математиком. А вот LLM возможно справилась бы с задачей выражения того что мы хотим сделать в форме математики. И на основе выводов компилятора который проверит все формулы - дать обратную связь о чем надо бы еще подумать.
👍5😁1😢1
Целый день сегодня пытаюсь задебажить почему в моей fedora падают некоторые тесты.
Докопался до того что падает вот эта апи -
https://w3c.github.io/webdriver/#switch-to-frame
Она позволяет перейти в контекст iframe с родительской страницы.
Кто не в теме работает это так -
В этот момент вэбдрайвер делает POST запрос к своему внутреннему серверу
а тот отвечает что такого нету с 400 ошибкой.
Сначала я думал это как то связано с wayland, но переключение на xorg ничего не изменило
Так как в CI тоже линух, теперь думаю а не из-за SELinux ли это
Докопался до того что падает вот эта апи -
https://w3c.github.io/webdriver/#switch-to-frame
Она позволяет перейти в контекст iframe с родительской страницы.
Кто не в теме работает это так -
x = $('iframe') // аналог querySelector у webdriver
browser.switchToFrame(x)В этот момент вэбдрайвер делает POST запрос к своему внутреннему серверу
/session/{session_id}/frame с JSON который содержит какую-то айди которая очень похожа на поинтер.а тот отвечает что такого нету с 400 ошибкой.
Сначала я думал это как то связано с wayland, но переключение на xorg ничего не изменило
Так как в CI тоже линух, теперь думаю а не из-за SELinux ли это
w3c.github.io
WebDriver
WebDriver is a remote control interface
that enables introspection and control of user agents.
It provides a platform- and language-neutral wire protocol
as a way for out-of-process programs
to remotely instruct the behavior of web browsers.
that enables introspection and control of user agents.
It provides a platform- and language-neutral wire protocol
as a way for out-of-process programs
to remotely instruct the behavior of web browsers.
🔥1
Пишу тут тесты на vitest и обнаружил для себя пару новых приемов:
1.
Раньше я писал так
Теперь можно (а согласно документации даже нужно) вот так
1.
beforeEach и afterEach более не актуальныРаньше я писал так
type TestCtx = {
mock: Mock
}
describe<TestCtx>("Test", (ctx) => {
beforeEach(async (ctx) => {
const mock = await createMock();
ctx.mock = mock;
return async () => {
await mock.destroy();
}
});
it<TestCtx>("uses mock", async ({ mock }) => {
mock.doSmth()
expect(mock.getState).toBe(expectedState);
});
}Теперь можно (а согласно документации даже нужно) вот так
const itWithCtx = test.extend({
mock: async ({}, use) => {
const mock = await createMock();
// Все что до use - это beforeEach
await use(mock);
// Все что до после use - это afterEach
await mock.destroy();
}
})
itWithCtx("uses mock", async ({ mock }) => {
mock.doSmth()
expect(mock.getState).toBe(expectedState);
});vitest.dev
Next generation testing framework powered by Vite
👍21❤2👎2
Второй прием - тестирование функций которые какие-то события оборачивают в промисы:
Раньше я писал так:
И честно признаюсь мне никогда не нравилась часть с
потому что она ощущалась мусорным болиерплейтом, который даже в beforeEach вынесешь только хуже сделаешь (потому goToReferenece по тестируемой функции приведет на место оборачивания в vi.fn вместо сорс кода функции)
да и
Теперь я пишу так
Второй вариант мне кажется намного чище, а вам?
Раньше я писал так:
itWithMock('test getFooFromEvents', async ({ ctx }) => {
const { mock, api } = ctx;
const getFooFromEventsSpy = vi.fn(getFooFromEvents);
getFooFromEventsSpy(api);
const eventPayload = {
foo: 'bar',
};
mock.emit('event', eventPayload);
await pause(100);
expect(getFooFromEventsSpy).toHaveResolvedWith(eventPayload);
});И честно признаюсь мне никогда не нравилась часть с
const getFooFromEventsSpy = vi.fn(getFooFromEvents); потому что она ощущалась мусорным болиерплейтом, который даже в beforeEach вынесешь только хуже сделаешь (потому goToReferenece по тестируемой функции приведет на место оборачивания в vi.fn вместо сорс кода функции)
да и
await pause(100); будем честны тоже грязновато.Теперь я пишу так
itWithMock('test getFooFromEvents', async ({ ctx }) => {
const { mock, api } = ctx;
const eventPayload = {
foo: 'bar',
};
const assertion = expect(getFooFromEventsSpy(api)).resolves.toEqual(eventPayload);
mock.emit('event', eventPayload);
await assertion;
});Второй вариант мне кажется намного чище, а вам?
❤5
Обнаружил интересный и стабильно работающий сценарий с которым агент справляется на отлично (по крайней мере пока) - добавить логи для дебага процесса или проверки теории, и потом - удалить логи добавленные ранее для дебага.
👍12🤔2
Не делайте кнопку копирования как zed, делайте как vscode. Потому что вы почти наверняка накосячили с Clipboard API (все нормально, это встречается повсеместно) и ваша кнопка ничего не делает у части пользователей. Просто дайте им скопировать вручную этот чертов текст
😁4
В zed можно менять json файл темы и он сразу же применяется как только файл был сохранен - удобно. Накидал себе тему за 20 мин
Meta пошарила всему свету о чем люди там шептались с их AI чатом.
Красавцы. А у вас есть такие диалоги которые бы вы никому не хотели показывать?
Красавцы. А у вас есть такие диалоги которые бы вы никому не хотели показывать?
TechCrunch
The Meta AI app is a privacy disaster | TechCrunch
Meta does not indicate to users what their privacy settings are as they post, or where they are even posting to. So, if you log into Meta AI with Instagram, and your Instagram account is public, then so too are your searches.
В zed завезли поддержку DAP.
Теперь он совсем взрослый!
На это ушло 8 месяцев разработки, 977 коммитов и более 25 тысяч строк кода
Теперь он совсем взрослый!
На это ушло 8 месяцев разработки, 977 коммитов и более 25 тысяч строк кода
zed.dev
The Debugger is Here
From the Zed Blog: Over 2,000 developers asked, and we delivered. Debugging in Zed is now a reality—and it's a big leap toward Zed 1.0.
🔥9