The closure of the studio responsible for some of the best games of the 21st century leaves the world of RPGs feeling smaller without the hope of another instalment of the much-loved sci-fi series
Earlier this week, EA announced the closure of BioWare, a game studio with a 30-year history of compelling role-playing games, complex characters and bold, choice-driven narratives. Its forthcoming game in the Mass Effect sci-fi series has been cancelled, and more than 400 people are losing their jobs. As someone who has worked in the video games industry for 15 years and spent almost 20 as a BioWare fan, I am among millions of mourners today.
It’s not terribly hard to see why BioWare got the chop. Its parent company has been saddled with $20bn of debt thanks to a recent leveraged buyout involving Jared Kushner and the Saudi wealth fund. EA was looking for weight to cut loose, and despite its hardcore fanbase and reputation for genre-defining RPGs such as Star Wars: Knights of the Old Republic and Dragon Age, BioWare hadn’t put out a critical or commercial hit in over 10 years. Its forthcoming game, titled Mass Effect: Universe according to a leaked trailer, was announced back in 2020. Despite some flashy teases, it was still years away from release.
Continue reading...Cate Blanchett and Hannah Waddingham join William on sofa for special edition to celebrate prince’s Earthshot prize
The Prince of Wales has braved the chatshow sofa, making a surprise appearance on The Graham Norton Show.
In the pre-recorded show, to be aired on Friday on BBC One, William made a surprise appearance in a special Earthshot prize edition to promote his environmental initiative, which has an annual awards ceremony due to be staged in Mumbai, India, next month.
Continue reading...
Почти каждый наш UI-тест начинался одинаково: старт, email, OTP, пароль, создать пасскод, повторить пасскод. Шесть экранов, около 26 секунд, и ни один из этих тестов не проверял логин. Он был просто предусловием.
Совет «делай предусловия через API, а не через UI» знает каждый, кто писал автотесты. Мы проверили его на трёх кандидатах в Android-сьюте на реальных устройствах. В одном месте API-вариант оказался на 29% медленнее UI. В двух других вышло заметно быстрее: логин ускорился с ~26 до ~7 секунд, а суммарное время 400+ тестов сократилось на 27%.
Дальше расскажу, почему так получилось, как устроен программный логин внутри процесса приложения, как мы мерили (и где ошиблись в замере сами) и по какому правилу теперь решаем, что переводить с UI.
Читать далее
Многие специалисты, даже опытные, не умеют просить повышение — просто потому что никто никогда не учил вести переговоры о деньгах. Зато все умеют выполнять свои рабочие задачи: писать код, решать сложные задачи и работать с непонятными требованиями, и медленно, но верно повышать квалификацию.
Но как только дело доходит до разговора с руководителем о зарплате, начинается смятение и ожидание удобного момента. Но само собой ничего не получается, и руководители редко инициируют разговор о повышении первыми.
В статье разберём, как устроены грейды в IT, как понять, что вы готовы к следующему уровню, и как построить продуктивный разговор о повышении.
Читать далееКак попытка пофиксить русификатор для мода к DDLC вылилась в разработку собственного семантического анализатора для Ren'Py со скоростью 77 000 строк за 3.8 секунды, собственным ScopeStack, AST-парсером и LSP-сервером для VS Code.
Рассказываю, почему встроенный renpy lint бесполезен на CI, как неочевидные предиктивные рендеры экранов воруют золото у игроков, почему переменные без default гарантированно убивают сохранения после релизных патчей и как защититься от RCE при распаковке чужих .rpa архивов.
Читать далее
Я сделал бота для Telegram и MAX. Ему пишут обычной фразой: «Египет в ноябре с 10-го ±3 дня на 8 ночей, двое взрослых и ребёнок 7 лет, 4–5 звёзд». Бот находит туры, билеты и отели, а по кнопке следит за ценой и пишет, когда она падает.
В статье — техническая часть: как языковая модель превращает фразу в строгий запрос, как один код обслуживает два мессенджера, как устроено слежение за ценами и какие грабли нашлись в API Слетать.ру и Aviasales. Код на Python 3.12, asyncio, httpx, pydantic, SQLite; живёт в Docker на VPS.
Читать далее
Всем привет! Я Дима, Android-разработчик в KTS, и я большой фанат языка Kotlin и библиотеки kotlinx.coroutines.
Здоровый человек может задать справедливый вопрос: зачем нужна очередная статья про корутины, когда есть ИИ? Любая модель моментально расскажет, как написать код с корутинами: где поставить suspend, что передать в launch, какой диспатчер выбрать.
Но чтобы понять, почему корутины устроены именно так, нужна выстроенная последовательность из десятка шагов, где каждый следующий опирается на предыдущий. Не осмыслив их устройство, здоровый человек не сможет понять, почему suspend-функцию нельзя вызвать из обычной.
У меня на это ушло много времени. Я писал рабочий код с корутинами, он работал, и всё это время я не до конца понимал, что происходит под капотом. Понимание пришло, когда я наконец сел и разобрал одну-единственную функцию: suspendCoroutine.
Так что я решил написать цикл статей про корутины, чтобы читателям Хабра было проще прийти к этому пониманию, чем мне. Думаю, он будет полезен и Android-разработчикам, и бэкендерам-котлинистам, и iOS-ерам, причём как начинающим, так и матерым сеньорам.
Читать далее
В прошлый раз я рассказывал, как в одиночку с AI-агентами собрал ERP-платформу на Kubernetes из 30+ сервисов. Эта статья — про её мозг: не «ещё один агентский фреймворк», а продакшн-движок, который год несёт живых клиентов (рекрутинг с AI-интервью, CRM, парсинг-конвейеры, копилот).
Про сам термин «харнесс» на Habr уже писали: это обвязка вокруг модели — цикл, инструменты, память, контекст. Повторять общее не буду, разберу конкретику: как это устроено в коде, какие таблицы, где что ломалось. Лонгрид: сначала единое окно и роутер моделей, потом сам харнесс (определения, прогоны, журнал, инструменты, агенты), в конце — всё вместе на одном живом интервью. Нетекстовые модели (речь, зрение, синтез) — отдельная вторая статья.
Сервис работает на Node, на CPU.
Читать далееNo one should have to feel nervous about walking to school in clothes designed for children. It’s time for UK law to end the disgusting sexualisation of minors
In the Little Feminist Book Club, we don’t read a lot of books. The group, set up by former students at our school, is more about reading poems and articles, analysing song lyrics, discussing the issues that matter to us and, most importantly, campaigning.
Our current campaign – the one you might have heard of – is to ban school uniform from pornographic content. Simply put, we want to end the depiction of school uniform in pornography to ensure that minors are not viewed as anything other than what they are: children. We were shocked when we realised that this content is currently legal – most of the adults we’ve spoken to agree that it is wrong. But apparently it falls to us – students aged 14 and 15 – to take action.
Rose, Mae, Aylin and Willow are students aged 14 and 15
Do you have an opinion on the issues raised in this article? If you would like to submit a response of up to 300 words by email to be considered for publication in our letters section, please click here.
Continue reading...
Две недели назад я поставил себе инженерную задачу без редакции и без бюджета: сайт должен выпускать по пять материалов в день о том, что произошло в мире LLM, причём каждый материал проверен по первоисточникам, снабжён картинкой, разметкой для поиска и не повторяет предыдущие. Человек в этом конвейере остаётся ровно в одной точке — воротах согласования, где у него десять минут на решение.
Сейчас в журнале конвейера 61 карточка, из них 56 стали страницами на сайте, семь дней подряд собирается вечерняя сводка, а сам прогон от поиска до готовой страницы занимает три минуты, из которых языковая модель работает меньше минуты. Ниже — как это устроено, что пришлось переделывать и на чём PowerShell с LLM мстят друг другу.
Читать далееAfter Brody called out the ‘death and misery’ in Palestine, the Netflix hit’s Jewish creator said they don’t see eye to eye
The creator of the hit Netflix comedy Nobody Wants This has responded to star Adam Brody’s recent support of Palestine amid the Israel-Gaza war.
“Everyone is entitled to a different opinion,” Erin Foster said in an interview with the Not Skinny Not Fat podcast when asked about Brody calling for a free Palestine.
Continue reading...Security forces to include elite units usually used for counter-terrorism after worst street violence in years
France will deploy about 70,000 police around the country on Saturday as the government seeks to prevent more civil unrest after some of the worst street violence in years erupted on the fringes of cost-of-living protests last weekend.
The interior minister, Laurent Nuñez, said on Friday the security forces would include elite units usually used for counter-terrorism operations and hostage rescues, adding that there had been social media calls for violence from “ultra-left” groups.
Continue reading...After Brody called out the ‘death and misery’ in Palestine, the Netflix hit’s Jewish creator said they don’t see eye to eye
The creator of the hit Netflix comedy Nobody Wants This has responded to star Adam Brody’s recent support of Palestine amid the Israel-Gaza war.
“Everyone is entitled to a different opinion,” Erin Foster said in an interview with the Not Skinny Not Fat podcast when asked about Brody calling for a free Palestine.
Continue reading...Duchess of Sussex’s decision to cut ties with elderly father cast in new light as he faces sexual abuse image claims
The depiction of the Duchess of Sussex by certain sections of the media has often been one of a fame-hungry daughter casting off an elderly father in his declining years and keeping him from his grandchildren as she embraces the international celebrity stage.
Their estrangement has been the subject of countless headlines since her marriage to Prince Harry. But her statement today, released after child sexual abuse image allegations made against Thomas Markle Sr, 82, suggests deeper, darker fears as the cause.
Continue reading...
Когда смотришь на современную LLM, легко решить, что всё сводится к вызову API. Но многие разработчики, которые часто используют LLM в работе или в своих проектах, рано или поздно хотят действительно разобраться, как они работают. К тому же - кто не смотрел «Железного человека»? По сути самый лучший способ реально разобраться это сделать что-то свое. Чаще всего возможности позволяют сделать что-то маленькое, зато свое и работающее.
Так появился jarvis - компактный decoder-only transformer для русского текста и диалогов. В проекте нет готового AutoModelForCausalLM: я сам реализовал архитектуру, обучил токенизатор, собрал пайплайн подготовки данных, добавил претрейн и SFT, KV-cache для генерации, консольный чат, Telegram-бота и простой бенчмарк. Готовый SFT-checkpoint и соответствующий токенизатор опубликованы на Hugging Face.
Я с конца сентября запускал PC‑версии Dark Souls на iPhone Air через эмулятор Madeira. Remastered теперь играется с экранным геймпадом, у Dark Souls III в тяжёлых сценах медиана выросла с примерно 20 до 36,7 FPS на экспериментальной сборке. По дороге набралось 5 принятых и 11 открытых PR в Madeira, Wine, FEX и DXMT и репозиторий со скриптами, который я теперь выкладываю.
Оговорка сразу: у меня один телефон (iPhone Air на бета‑версии iOS 27.2), один тестер, то есть я, и все цифры ниже снимались на этом устройстве. Игры у меня свои, купленные. В репозитории нет ни игровых файлов, ни сейв‑редакторов, ни обхода защиты, и принимать такое я не буду.
Читать далее
Как я перешёл с openclaw на DeepSeek Harness, вернул своему VDS load average 0,03 и перестал докупать память.
Вслед за многими читателями этого сайта я в какой-то момент дошёл до стадии, когда тоже установил себе ИИ-ассистента на VDS. Поначалу всё ограничивалось поиском новостей, но время шло, и спектр работ, которые он выполняет, рос.
Не буду писать о своих задачах, для статьи они не особо важны. Скажу лишь, что в основном они здесь именно ассистентные: найти, предупредить, прочитать и т.п.
Но эйфория от того, что я, начитавшись интернетов и насмотревшись видео, поставил себе openclaw, быстро прошла. Да, функциональность у него потрясающая.
Однако...
Была мысль: а место ли этой статьи на хабре? Но потом вспомнил, что тут уже была штукатурка… А еще подумал, что тут очень много людей, которые суют свои ручки во все места, до которых могут дотянуться, а значит — стоит!
Ну а последней каплей стала фото на озоне, в которой покупатель предъявлял претензию к «некачественной» гибкой подводке, которая течет. На фото были гайки подводки, которые закручены на трубы, обмотанные ФУМ лентой… Ну кто в теме понял о чем я. А кто не в теме — дальше будет понятно.
Я не профи в этой теме. Я всего лишь «тыжпрограммист», который чинит водопровод сам. Хотя в моей копилке есть водопровод с нуля в новостройке (с некоторыми ошибками, да). Несмотря на кажущуюся простоту я постоянно встречаю «детские» ошибки вроде подматывания ФУМ ленты под гайку гибкой подводки и подобное.
Тут не будет какого-то углубления в тему. Не будет и рассказа о том, как редуктор давления без обратного клапана после него может загнать стрелку манометра за пределы шкалы в 10 атм при давлении на входе всего 3 атм (да, это мой опыт). Цель статьи — что бы кто-то, кто полез в водопровод сделал меньше ошибок.
Итак, водопровод состоит из соединений труб :-) И эта статья о них. Типов соединений довольно много, но большинство встретится только с двумя из них: с накидной гайкой и с обычным резьбовым соединением.
Закрутим!Это продолжение истории про облачное хранилище aroshka.cloud и заказы на Kwork, которые подводили исполнителей к оплате тарифа. Первая часть: https://habr.com/ru/articles/1097776/, вторая: https://habr.com/ru/articles/1098252/. На этот раз речь пойдёт о человеке, который все эти дни защищал сервис в комментариях к нашим статьям. Мы проверили, кто он, и нашли его же заказы на Kwork, только размещённые от имени самого сервиса.
Все скриншоты ниже лежат в открытом репозитории (https://github.com/viktor138irk/aroshka-api-docs/tree/main/evidence), а страницы, с которых они сняты, сохранены в Web Archive. Ссылки на архивные копии стоят рядом с каждым фактом.
Читать далее
When an outbreak strikes, humans try to avoid germs. (Remember wiping off groceries at the start of the pandemic?) What about ... monkeys?
(Image credit: Stephan Kaufhold)