Сова пишет…
3K subscribers
373 photos
37 videos
5 files
440 links
Download Telegram
Forwarded from mefody.dev
Ещё пара уязвимостей в React Server Components

Спустя неделю после просьбы обновить уязвимые библиотеки команда React просит сделать это снова. На этот раз исследователи нашли две уязвимости, которые могут быть крайне неприятны.

CVE-2025-55184 и CVE-2025-67779 — позволяет дёрнуть серверную функцию так, чтобы вызвать бесконечный цикл, что может грохнуть или избыточно нагрузить ваш серверный CPU.

CVE-2025-55183 — позволяет достать исходный код серверной функции. Опасно, только если вы прямо в коде храните пароли или супер-секретную бизнес-логику пишете прям в серверных функциях.

В общем, снова нужно обновить библиотеки из списка в статье. И фреймворки, у которых они в зависимостях (особенно Next.js).

Интересно, как много команд завело встречку в календаре обсудить «Переезд на <не-реакт, подставить нужное>».

https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components
😁25👍1
🎄
🎄60🤩5❤2👎1
pickyouragent.dev
Can I use для агентов

Я понемногу продолжаю тестировать агенты на себе и нахожу новые фичи, которые хотелось бы иметь и которые приколько было бы иметь.

Из примеров:
- оркестратор мод из Kilo Code, который позволяет нехило так экономить контекст https://pickyouragent.dev/features/planmode/#orchestrator-mode
- связка LSP и opencode, который автоматом выкачивает нужный LSP и начинает его использовать в подсветке ошибок. https://pickyouragent.dev/features/tools/#linters. Причём благодаря выкачиваюнию, вам вообще ничего настраивать не надо: я недавно копался в коде рантайма дотнета. И opencode прекрасно выкачал соответвующий LSP неизвестно для меня откуда и начал его использовать.
- наличие cli интерфейса для агента оказалось приятной штукой: к примеру, курсор не умеет запрашивать текст веб страниц, а opencode умеет. В итоге я настроил скилл, который говорит курсору вызывать opencode для получения текстов страниц. Работает вполне удобно. Хотелось бы наличие нативной фичи, но живём как живём.

Кроме этого, я закончил с Kilo Code, наконец визуализировал насколько Junie дно по фичам и заполняю то, что мне понравилось и не понравилось в Kilo Code по работе.

Основное же изменение: это то, что ко мне начали приходить люди и говорить "прикольно, не знал о такой-то фиче, но здесь ты проставил неверный статус для другой фичи". Получается эдакая коллективная разработка.
И я хочу выкрутить её на максимум: у pickyouragent теперь есть свой канал @pickyouragent, куда я буду сгружать апдейты на каждый чих. Пока у меня получается примерно обновлять сайт где-то 2 раза в неделю. Так шо велком в канал и его комментарии, будет что обсудить на тему агентов.
❤6👎6🔥2
Сегодня руки дошли до handy.
Это удобная обёртка для голосового ввода по нажатию кнопки. Использовал с моделью Parakeet, работает неплохо с русским языком.

Я так привык к голосовому вводу на мобильных устройствах, что подумал: надо бы что-то подобное попробовать и на компе.

Вообще есть подозрение, что речь и письмо используют какие-то разные отделы мозга, потому что, на удивление, оказывается, что некоторые задачи удобнее говорить, а некоторые удобнее писать.

Поэтому, если вы на удалёнке и одни, попробуйте. Очень сильно выручает, если нужно сформулировать мысль, которая витает в воздухе.

Ссылочка: https://handy.computer/
❤14👍7
Вы теперь в зоне риска, если ученый, учитель, преподаватель в вузе, научпопер в России. Или работаете с ними.

Не такие новости вы здесь ждёте. Но я обязан предупредить всех, кого это может коснуться напрямую.

Сегодня Минюст РФ внёс в реестр организаций, деятельность которых в России признана нежелательной, Калифорнийский университет в Беркли. Место, где работали то ли 63, то ли 117 нобелевских лауреатов. Это не понт. Именно это делает событие опасным для вас.

Внёс и внёс, чего бухтеть-то. Но вот другая новость последних дней, чтобы вы понимали, чем это может грозить вам на практике.

Администраторы сайтов четырех ярославских вузов осуждены по протоколам об участии в деятельности "нежелательной" организации (статья 20.33 КоАП).

ЗА ПУБЛИКАЦИЮ НАУЧНЫХ РАБОТ, ГДЕ В БИБЛИОГРАФИИ УПОМИНАЮТСЯ ИЛИ ЕСТЬ ССЫЛКИ НА НЕЖЕЛАТЕЛЬНЫЕ ОРГАНИЗАЦИИ (например, внесенный раннее другой мировой научный центр — Йельский университет).

Не верите? Вот одно из дел с сайта суда (остальные вы можете найти тоже и убедиться). Суд в постановлении пишет, что признание организации “нежелательной” означает запрет на распространение и даже хранение материалов (включая Интернет).

А дальше то самое, ради чего этот пост.

🚨 Суд квалифицирует как “хранение и распространение” даже ссылки, находящиеся в открытом доступе на сайте вуза, включая раздел с диссертациями:

«…осуществлял хранение и распространение информационных материалов… а также то, что указанные ссылки и ресурсы находились в свободном доступе для прочтения и скачивания неограниченным кругом людей…»

понимаете: «…ссылки … направлены на распространение … деятельности…»

Это означает, что если в ваших рефератах, диссертациях, статьях, лекциях, видеороликах есть упоминания Йеля, а теперь и Беркли (список явно будет пополняться), или ссылки на публикации, сделанные их учеными, на их проекты, и тому подобное — это может и будет рассматриваться российскими органами и судами как участие в деятельности нежелательный организаций.

Нельзя исключать, что и пересылка или выкладывание теперь классики физики, вроде Берклеевского курса физики, может считаться распространением материалов нежелательной организации.

Ну, проживем как-то без Йеля и Беркли.

Если не заниматься наукой, образованием и просвещением — проживёте.

То, что десятки нобелевских лауреатов работали в Беркли, означает, что их публикации, труды, проекты аффилированы с Беркли, и теперь тоже относятся к участию в запрещёнке. И классика, и передовая наука, вроде CRISPR. Тоже Беркли.

Даже если вы баловались участием в SETI@home — легендарном проекте по поиску внеземной жизни — вы уже можете оказаться в суде. И это Беркли.

Если вы делали пост и оставляли ссылки много лет назад на курс физики или SETi или статью ученых Беркли — вы можете оказаться в суде.

Закон же не имеет обратной силы.

В России не такая практика правоприменения. Если организацию, человека или что-то еще назначают вне закона, то любые прошлые "объекты", связанные с ними становятся незаконными. Это называется длящимся правонарушением. Вас могут пока только оштрафовать не за публикацию в прошлом, а за то, что публикация продолжает "чадить" сейчас, оставаться доступной — вас можно трактовать как соучастника нежелательных.

Как быть тем, кто не может повлиять на свою публикацию? Не понятно. Ваша научная статья, реферат, диссертация или документальный фильм могут храниться там, где вы не можете ни удалить, ни поправить. Правда, ответственность тогда, возможно, и не совсем вы несете. Как в Ярославле, админы местные. Но Не факт.

Штраф же — это не страшно, не надо нагнетать.

Проблема в том, что с недавних пор за участие в деятельности нежелательных организаций можно не иллюзорно сесть в тюрьму.

Опыт иноагентов показывает, что если мера есть, то человек под нее всегда найдется, В независимости от политических взглядов, оппозиционности или лояльности.

📩 Расскажите про это каждому, кого это может коснуться.

Каждому, кто придет сейчас рассказать, что я паникёр, предлагаю проверить на себе. Сажают уже и за меньшее. А законов, по которым это сделать легче, с каждым днём больше.
Please open Telegram to view this post
VIEW IN TELEGRAM
😡32😢12❤5😁5🙈2
14🤩2👎1🆒1
Forwarded from Effector news (Сова)
☄️ @effector/router v1.0.0 release candidate

Новый роутер основан на идеях и коде atomic-router и argon-router. А так как последние уже не поддерживаются, то effector core team приняли решение о переносе проекта в организацию effector.

Чтобы перевести свой проект, нужно заменить зависимости предыдущего роутера на @effector/router@v1.0.0-rc.0 и @effector/router-react@v1.0.0-rc.0.

Кроме этого, из ломающих изменений сейчас необходимо использовать historyAdapter(history) или queryAdapter(history) для router.setHistory().
https://router.effector.dev/core/adapters.html

До полноценного релиза важно получить фидбек и истории переезда. В том числе, чтобы написать полноценный Migration Guide.

Репозиторий: https://github.com/effector/router
Документация: https://router.effector.dev

🧡
🔥138🎉3❤2👎1🤔1
О чём этот канал

Меня зовут Сергей Сова, я software engineer с 14+ годами коммерческого опыта.

Больше всего меня знают по React, TypeScript, Effector и разговорам про frontend-архитектуру, но вообще я успел потрогать довольно много всего: начинал с игр на C++ Source Engine, писал backend на PHP, Ruby, Node.js и Go, последние годы активно ковыряю Rust, AI tooling, агентные системы и свои микростартапы.

Этот канал о том, что мне интересно, а интересно мне довольно многое:
— React, TypeScript и Effector;
— архитектура frontend-приложений;
— Feature-Sliced Design и разделение ответственности;
— DX, tooling, типизация и библиотеки;
— AI-инструменты и агентные пайплайны;
— open source, обучение и продуктовая разработка;
— всякие инженерные находки, боли и размышления.

Обычно мне интереснее не «какую библиотеку поставить», а почему проект превращается в кашу, где должна жить бизнес-логика, как не размазать всё по компонентам и как строить системы, которые можно менять без страха.

Сейчас я развиваю frontend.vision, пишу материалы для разработчиков, экспериментирую с AI-assisted education и постепенно возвращаюсь к регулярным постам.

В ближайшее время тут будет больше про Effector, React, архитектуру, useEffect, роутинг, бизнес-логику в компонентах, фабрики, эффекты, тесты, DX и всё то, из-за чего frontend становится либо нормальной инженерией, либо бесконечным болотом.

Ещё у меня есть личные консультации.

Могу помочь с React, Effector, FSD, архитектурой приложения, ревью кода, проектированием фичи, DX, TypeScript, tooling, API, миграционным планом или просто разобрать вашу инженерную боль со стороны.

Обычно за час-два можно довольно быстро понять, где настоящая проблема: в архитектуре, границах, процессах, данных, команде или в том самом useEffect, куда случайно сложили половину продукта.

Писать можно в личку: @sovasergey

Новичков приветствую.

В комментариях иногда бывает жарко, поэтому берегите перья.
😡48❤21👍11🔥6🤩1
Всем доброе утро!

Тут накидали справедливых за капюшоны.
Что ж, помимо уже обещанного материала докинем еще всякого в курс.

Всё же, за эти два года в разработке многое поменялось: агенты, фреймворки, инструменты.

🧡
2😡32😁6👎4🔥4👍1
У меня есть 3D принтер Ender 3 S1 Plus

Ковыряю его уже какое-то время, недавно залил стороннюю прошивку, стало куда веселее.

Учитывая, что Marlin(прошивка) опенсорсная, я заинтересован вдвойне. Правда там все на Си, так что приятного мало, но вон 1М строк с zig на rust мигрировали, тут тоже вполне можно.

У моей версии принтера нет закрытой камеры, так что ABS пока мне не дается.

P.S. еще проблемы с выравниваением частенько. CR touch работает всрато, иногда не открывается и печать не идет.
Пока хз как починить. Мб прошивку еще поковыряю в свободное время
👎12🔥6🤝4👍3🦄1
Forwarded from CSS mind
А вы знали, что next ломает вам типизацию перменных?

Если вы напишите ...

@property --var {
syntax: "<percentage>";
initial-value: 0%;
inherits: true;
}

...то next оптимизирует до initial-value: 0;, потому что cssnano в текущей последней версии next считает что это хорошо.
И работает конечно ничего не будет.

Что делать?

Писать initial-value: 0.0%;, либо менять тип на <length-percentage>.

Ну и ждать пока next обновит версию cssnano.

P.S. первый ночной пост в канале 👩‍💻🌚
1👍10👎6❤4
Какое интересное API предлагает команда Google Chrome

Теперь можно делать автоматические замены HTML-шаблона на реальный контент, в момент, когда контент будет доступен.
Хоть стриминг, хоть через javascript.

Когда браузер видит


<div>
<?marker name="placeholder">
</div>


он игнорирует <?marker>, но позволяет позже на него сослаться.

А когда контент загружен или отправлен с сервера, достаточно разместить в DOM:


<template for="placeholder">
Here is some <em>HTML content</em>!
</template>


Бразуер автоматически заменит <?marker name="placeholder"> на содержимое между соответствующими тегами <template for="placeholder">.

По мне это выглядит крайне годно, позволяя в будущем отказаться от кучи кода для обработки стриминга HTML.

P.S.
<?marker> подобные инструкции уже давно есть в XML, но браузер их игнорирует, если встречает в HTML. Это значит, что разметку можно использовать уже сейчас и ничего не сломается, а для разработчиков опережающих зеленые браузеры есть полифилл.


Крайне рекомендую почитать оригинальную статью:
https://developer.chrome.com/blog/declarative-partial-updates?hl=en
⚡12👍9😱3🔥2😐2👎1
portless

Утилита от Vercel Labs, которая открывает урлы вида http://localhost:3000 на именованных доменах .localhost. Например, вместо http://localhost:3000 можно открывать https://myapp.localhost. Из коробки поддерживает HTTPS и HTTP/2.

Работает просто:

portless myapp dev   # https://myapp.localhost


portless сам выпустит сертификат и даст доступ к https. Поддерживаются разные фреймворки, порты, под-домены, монорепозитории.

Из интересного - подхват git worktree. Если portless видит, что приложение запущено из worktree, то название worktree становится именем домена



https://github.com/vercel-labs/portless

#development #tools #localhost #vercel #devtools #github
👍22🔥8✍3😁2👎1
В комментах ссылка на github
😁46❤2👎2🔥2
Forwarded from Pavel Zloi
Пока все шумят про it's revolution, Johnny обновление Codex я наткнулся на вот это видео, поначалу всё было как обычно, коробочка на базе ESP, но под конец я немного подафигел.

И так, в нём идёт речь про экосистему оборудования Genesis созданную компанией Axiometa, скорее всего вам всё это ничего не говорит, но возможно вы когда-то слышали про микрокомпьютеры ESP и Arduino, которые позиционируются как коробочки для обучения микроэлектронике для самых маленьких в формате эдакого конструктора.

И вот представьте, что вместо классических плат прототипирования, проводков и электронных элементов у вас плата со входами аля Raspberry Pi и 50+ готовых заменяемых стандартизированных модулей, любой их которых можно подключить в плату и собрать коробочку с нужными модулям себе по вкусу.

Но самое любопытное в том, что Axiometa реализовали Axiometa Studio которая позволяет общаться с агентом Axie, просто пишешь какие модули есть и что хочешь сделать, а нейронка в формате вайбкода генерирует решение заточенное под текущий набор модулей. Готовую прошивку можно сразу из браузера залить на железку.

PS. К сожалению в Россию коробочки можно доставить только через байеров (сервисы доставки типа сдек шопинг).
🔥10❤3😍3👎2👾2