Новости информационных технологий - 149

Компания Microsoft вчера представила свои новые ноутбуки Surface Laptop Ultra на платформе RTX Spark, и теперь предлагает владельцам MacBook сдать свои ноутбуки в трейд-ин, чтобы получить скидку на новинки Microsoft. Скидки, к слову, весьма неплохие.

Максимум по программе можно получить скидку в 1000 долларов. Само собой, для этого нужно будет сдать достаточно современный ноутбук Apple. При этом, что интересно, программа позволяет сдать даже весьма старые ПК ещё на процессорах Intel, начиная с моделей 2016 года. Впрочем, за совсем старые модели Microsoft предлагает лишь около 30 долларов.

Компания Oppo официально подтвердила дату международной премьеры новых флагманских
смартфонов Find X10 и Find X10 Pro Max: глобальная презентация состоится 21
октября на острове Майорка в Испании. Устройства дебютировали в Китае в прошлом
месяце, а теперь готовятся к выходу на другие рынки.

Да, направление здесь немного непривычное: обычно Java запускают в Linux, а здесь я решил попробовать запустить Linux из Java.

Причём не через QEMU, не через готовую обёртку над каким‑нибудь hypervisor API и без собственной JNI‑библиотеки. Host‑приложение написано на Java 25, с Linux KVM оно общается через Foreign Function & Memory API.

И в какой‑то момент всё это действительно дошло до такого:

/ # ls
bin   dev   init  proc  root  sys
/ #

То есть внутри поднялся настоящий Linux kernel, дошёл до BusyBox userspace, появился интерактивный shell, в него можно было ввести команду и получить ответ.

Именно в этот момент я впервые подумал: «Что, реально? Оно работает?»

Читать полностью »

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

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

Читать полностью »

Когда начинают говорить об оптимизации запросов Hibernate, разговор быстро приходит к N+1, join fetch, entity graph и настройке batch выборки. Но есть более простой случай, который легко пропустить.

Допустим нам нужно сохранить книгу. Её автор уже существует в базе и его ID пришёл в запросе, данные автора: имя, дата рождения и всё остальное нас вообще не интересуют. Нам нужно только записать author_id в таблицу book. Вот здесь возникает вопрос: зачем перед сохранением сначала получать автора? Разберёмся, как от него избавиться и причём здесь метод getReference().

Исходная модель данных

Две обычные сущности:

Читать полностью »

В начале сентября Сбер неожиданно выложил открытые веса своей модели GigaChat 3.5 432B. Таким образом, любая компания в России может развернуть эту модель на своем сервере(при наличии мощного железа). И казалось бы, это может в корне переломить ситуацию с суверенными моделями в России, так как эта модель думающая. И у меня возник вопрос: а возможно ли использовать эту модель для создания ИИ‑агентов?

Приготовьтесь, в статье будет много скриншотов по нашим результатам на боевом сервере.

Читать полностью »

У нас есть консьюмер очереди на PHP, который раньше раз в пять-шесть часов падал по OOMKilled на лимите 2 ГиБ. Сообщения при этом не терялись: Kubernetes поднимал под, и консьюмер дочитывал очередь, так что снаружи проблема была почти незаметна. Но регулярное падение по памяти — не норма, и мы решили докопаться до причины.

Спойлер: виноват оказался не наш код и не библиотеки, а поведение самого PHP после одной из ошибок расширения ext-soap. Баг известен с 2016 года, issue в php-src открыт с 2022-го, но описания того, как он выглядит в живом проекте и как его найти, я не нашёл. Поэтому пишу.

PHP 8.4, Symfony 6.4, RabbitMQ, Kubernetes. Примеры кода упрощены.Читать полностью »

Сегодня Telegram-бот для продажи VPN собирается за вечер. Открываешь Cursor, пишешь «сделай бота с оплатой в Stars и панелью Marzban», и через пару часов он уже принимает деньги. Только в config.py лежит токен бота, в docker-compose.yml открыт Postgres на 0.0.0.0:5432, а в истории git остался .env, который «потом удалили».

Мне стало интересно, насколько всё плохо на самом деле. Я написал свой SAST-сканер для кода, сгенерированного ИИ, и прогнал его по 3 800 публичным репозиториям: от проектов с тремя звёздами до платформ с десятками тысяч.

Цифры коротко:

Есть индивидуумы, которые пьют минералы просто так. По возможности избегайте этого - 1

Они умирают на 4% чаще.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js