Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 22 мин. 10 сек. назад

Жизнь как RPG, где главный герой — ты

31 мин. 21 сек. назад

Что если бы мы могли воспринимать свою жизнь как ролевую игру, где каждый день — это новый квест, а каждое достижение — это заслуженная награда? Звучит интересно, правда? Геймификация жизни — это концепция, которая позволяет взглянуть на повседневные задачи и цели через призму игры, превращая их в увлекательный процесс. В этой статье мы разберём, как применить принципы RPG к реальной жизни и зачем это может быть полезно для вашей мотивации и саморазвития.

Читать далее

Как я чищу диск на MacOS и какой внешний накопитель выбрал

34 мин. 49 сек. назад

Привет, Хабр! Недавно брат поинтересовался, как я решаю проблему с вечно забитым диском на MacBook, и я решил не только ему ответить, но и поделиться своим опытом со всеми. Расскажу, как бороться с нехваткой места и какой внешний накопитель выбрать, чтобы не разориться и не разочароваться.

Читать далее

Может ли ИИ обладать сознанием?

39 мин. 39 сек. назад

В то время как ИИ уверенно осваивает все новые сферы - от перевода текстов до разработки лекарств - мы все чаще сталкиваемся с фундаментальным вопросом: имеет ли право такой ИИ называться «сознательным»? Модель OpenAI-o1, построенная на архитектуре трансформеров и обученная с помощью RLHF, является отличным полигоном для исследования этого вопроса. Но можем ли мы всерьез говорить о зачатках сознания у машин - или это лишь очередная иллюзия, созданная алгоритмами?

Читать далее

Сенсорные выключатели советской эпохи

46 мин. 27 сек. назад
Приветствую всех!
Однажды на просторах форума по старой светотехнике мне попался пост про такой девайс как «Сезам» — первый (он же в каком-то плане и последний) советский выключатель света с сенсорным управлением. Тогда автору не удалось ни запустить его, ни разобраться, как он работает. И что-то меня сильно заинтересовало в них, отчего я решил раздобыть несколько экземпляров на опыты и узнать всё, что так и не смогли сделать до меня.



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

[Перевод] Дороже не значит лучше. Бюджетные видеоигры стали хитами 2025 года

46 мин. 45 сек. назад

На прошлой неделе в Microsoft прокомментировали повышение цен на игры и консоли. Причинами роста цен компания назвала давление рынка и растущие затраты на разработку. Заявление Microsoft последовало вслед за новостью о том, что Nintendo поднимет цены для Switch 2 до 70 и 80 долларов.

Некоторые геймеры готовы платить больше, если знают, что доплачивают за более высокое качество игры. Однако журналист Джейсон Шрайер из Bloomberg отмечает, что формула «чем дороже, тем лучше» не применима к игровым хитам этого года.

Clair Obscur: Expedition 33 —превосходная RPG, которая разошлась тиражом более 1 миллиона копий за первую неделю. ПК-версия получила 90 баллов на Metacritic и 9,7 баллов от пользователей — это одни из самых высоких показателей за всю историю игр. Стоит она 50 долларов.

По той же цене продаётся Split Fiction. Она разошлась тиражом в 2 миллиона копий и даже готовится к экранизации. Её разработчик — создатель It Takes Two и A Way Out. По мнению автора статьи, это одна из самых весёлых игр, в которые ему довелось поиграть за последние годы и, несомненно, одна из лучших кооперативных игр, в которую можно зарубиться просто сидя на диване.

А ещё есть Blue Prince — захватывающая головоломка-рогалик, по большей части созданная одним человеком. Стоит она 30 долларов.

Clair Obscur разработала маленькая французская студия. Несмотря на то, что РПГ весьма популярны, возрождение механик пошагового боя — атак с QTE, а также привязанных к таймингу уклонений и парирований — можно считать рискованным шагом.

Читать далее

Всё, что вам не рассказали про Shunting Yard

1 час 27 мин. назад

Алгоритм сортировочной станции (Shunting Yard) был предложен Дейкстрой ещё в 1961 году и служит для преобразования математических выражений из привычной всем инфиксной записи (где операторы стоят между операндами, как в 1 + 2 * 3) в постфиксную (обратную польскую нотацию, 1 2 3 * +), удобную для дальнейшего вычисления. Однако есть один важный момент, который почти всегда упускается или замалчивается: алгоритм предполагает, что входное выражение уже синтаксически корректно.

Ни в Википедии, ни в большинстве обучающих статей вы не встретите слов о том, что выражения вроде + (1 2, 3 * 4 + ) или sin(+) должны вызывать ошибку. В лучшем случае они просто не вычисляются (что будет понятно лишь на этапе обработки в обратной польской записи), в худшем – дают бессмысленный результат. Алгоритм продолжает работать, даже если выражение изначально некорректно – и мало кто задумывается, почему это плохо.

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

Читать далее

[Перевод] Язык Odin — прагматичная альтернатива C с привкусом Go

1 час 37 мин. назад

Odin — это универсальный язык для системного программирования, придуманный Биллом Холлом aka «gingerBill». Odin задумывался как современная альтернатива C, и в нём делается акцент на простоте, производительности и удобочитаемости, но при этом не упускается контроль над низкоуровневыми деталями.

На сайте об этом языке Odin охарактеризован как «ориентированный на данные», именно поэтому в нём присутствуют, например, структуры массивов (SOA) и неявная инициализация значения в ноль. Удивительно, что, несмотря на такие приоритеты, в языке есть динамические словари и массивы, встроенные в сам язык. Притом, что памятью всё-таки приходится управлять вручную, такие встроенные вещи встречаются нечасто.

Возможно, вот те самые черты, придающие Odin собственный облик: язык задуман как эргономичный, такой, на котором удобно писать, и поэтому многое предоставляет «из коробки». Также в Odin предусмотрен «вендор», в котором содержатся привязки к разнообразным популярным библиотекам. Поэтому вкатываться в язык очень просто.

Читать далее

[Перевод] Как одна строка кода могла окирпичить ваш iPhone

1 час 50 мин. назад

Это история о том, как я недавно обнаружил в iOS уязвимость, которая стала одной из моих любимых. Почему любимых? Потому что реализовать для неё эксплойт оказалось очень легко. Кроме того, она использовала публичный легаси API, на который до сих пор опираются многие компоненты ОС Apple, и о котором многие разработчики даже не слышали. Читать дальше →

Необычные гаджеты — от девкита до DIY мини-ПК, на которые стоит обратить внимание в мае 2025 года

2 часа 6 мин. назад

Большинство портативных компьютеров сегодня — привычные всем нам девайсы, которые слабо отличаются друг от друга. Но энтузиасты по всему миру продолжают собирать альтернативу своими руками: на базе Raspberry Pi, с e-Ink-дисплеями, советскими ЭЛТ-экранами, QWERTY-клавиатурами и даже солнечными панелями. В этой подборке — шесть необычных гаджетов, каждый из которых не вписывается в стандарты, но точно заслуживает внимания.
Читать дальше →

Как я воевал с китайским умным туалетом для котов

2 часа 35 мин. назад

В очередной раз листая озон я наткнулся на девайс который привлек мое внимание, самоочищающийся лоток для котов Petkit Pura Max, вещь весьма интересная, особенно если у тебя три кота. Пушистые бандиты у меня крупные, потребляют много калорий и соответственно часто ходят в лоток.

Читать далее

Я программист. И я не боюсь, что меня заменят нейросети

2 часа 51 мин. назад

Друзья, всем привет, в последнее время в нашей среде завелась такая пикантная паника: "ИИ скоро заменит всех программистов, и мы станем не нужны!". Причём кричат так, будто бы уже завтра мы все проснёмся безработными. Но давайте вспомним, мы видели разные "замены" в IT: когда-то пугали, что калькуляторы заменят математиков, компьютеры — бухгалтеров, в 90-е уверяли, что языки высокого уровня отымут профессию разработчика, а сейчас нас пугают нейросетями. Одни предрекали, что low-code убьёт программистов, другие — что автоматизация заменит всех, но все эти прогнозы оказались преувеличением. Поэтому я встречаю такие пресказания скорее с интересом, а не с паникой.

Читать далее

GIMP: обзор классических апскейпов

3 часа 4 мин. назад

К классическим методам апскейпа (увеличения) относятся методы, основанные на различных интерполяциях исходного изображения и фильтров, также не выходящих за рамки классических. Есть неклассические методы: нейросетевые (к исходному изображению добавляется память обученной нейросети и по этой смеси генерируется увеличенное изображение), или основанные на самоподобии (производится затратный поиск самоподобия, результат добавляется к исходному изображению и по этой смеси генерируется увеличенное изображение) методы. Но в данной статье будут рассмотрены только простые классические методы.

Во всех публикациях в сети по апскейпу в GIMP предлагается использование только встроенного средства "Размер изображения". А в большинстве указывается применение только фильтра "кубическая" для интерполяции. Продемонстрируем:

Читать далее

«Это не баг, а фича» — как junior QA отстаивать свою позицию и не испортить отношения с командой

3 часа 36 мин. назад

Быть тем, кто указывает на ошибки, — не самая простая роль в команде. Особенно когда ты только начинаешь путь в QA. Твоя задача — находить баги, недоработки и несостыковки, а затем рассказывать о них разработчикам, дизайнерам или аналитикам. По сути, ты постоянно говоришь: «Здесь что-то не так», «Это не работает», «Так быть не должно».

Неудивительно, что в такой роли можно легко почувствовать себя неуверенно или неловко.

Читать далее

Как попасть в реестр отечественного ПО и зачем это нужно — моя экспертиза

3 часа 36 мин. назад

Начиная с 2025 года базовая ставка по налогу на прибыль составляет 25%, но не для всех. Компании из реестра отечественного ПО не просто платят всего 3%, но и полностью освобождены от НДС, применяют пониженный тариф по страховым взносам и пользуются иной государственной поддержкой. 

Давайте разбираться, как начать законно платить налог 3% вместо 25% и получать другие льготы от государства через регистрацию в реестре отечественного ПО.

Читать далее

Летающие кубиты: квантовый конвейер под управлением магнитного поля

3 часа 50 мин. назад

Представьте, что информацию в квантовом компьютере можно передавать не за счёт сложных проводов и резонаторов, а прямым перемещением самих квантовых битов – как по конвейерной ленте. В недавних новостях сообщается, что российские учёные предложили именно такой подход: «летающие кубиты», управляемые магнитным полем. Их метод позволяет переключать квантовые регистры в режим передачи данных, где квантовое состояние передается по цепочке без потерь, подобно падающим костяшкам домино. Разберёмся, зачем нужны такие летающие кубиты, как они работают и какие перспективы открывают – опираясь на современные исследования и примеры в оптике и спиновых системах.

Квантовый интерес

Как ускорить написание повторяющегося кода в 10 раз

4 часа 36 мин. назад

Ускорьте разработку React-компонентов! Эта статья о создании шаблонов для автоматизации рутинных задач: генерация папок, файлов, управление экспортами. Экономьте время и фокусируйтесь на главном.

Читать далее

Часть 3. Векторизация на Go: CGo, транзакции, компиляторы, поддержка, байтовые инструкции

5 часов 11 мин. назад

В первой части статьи мы рассмотрели, как можно вручную ускорить Go-код с помощью векторизации и SIMD-инструкций, реализованных через Go-ассемблер. Написали простую, но показательно быструю реализацию sliceContains и увидели, что даже базовая векторизация может дать ускорение в 10–14 раз по сравнению со стандартной реализацией.

Во второй части статьи погрузились в практическое применение SIMD в Go-ассемблере, реализовали функцию SliceContainsV1 и изучили, как с помощью VADD, VDUP и других инструкций можно добиться 10–14-кратного ускорения простых задач.

Но возможности оптимизации Go-программ на этом не заканчиваются. В этой части мы пойдём дальше: рассмотрим другие техники низкоуровневой оптимизации — от использования C-кода и альтернативных компиляторов с поддержкой векторизации до работы с аппаратными транзакциями памяти на Intel. Поговорим о том, как внедрять ассемблер в продакшен-код, не боясь за его поддержку, и как обойти ограничения стандартного Go-компилятора.

Привет, Хабр! Меня зовут Игорь Панасюк, я работаю в Яндекс, преподаю в ИТМО, а также в свободное время выступаю на конференциях, делюсь опытом в соцсетях и помогаю развитию Go-сообщества, веду телеграм-канал и youtube-канал. Если вы уже знакомы с базовыми техниками векторизации, эта часть поможет глубже понять, как устроены продвинутые способы ускорения Go-кода и на что стоит обратить внимание при работе с архитектурно-зависимыми оптимизациями.

Читать далее

Как умирала Playstation Vita, и кто в этом виноват?

5 часов 50 мин. назад

Зачастую можно услышать такую фразу, что, мол, «Sony убила PS Vita». Фраза не лишена смысла, но и не является абсолютно правдивой: история этой портативной консоли довольно похожа на то, какой получилась Wii U у Nintendo, к которой отношение было донельзя схожим как у геймеров, так и у платформодержателя. В этой статье я попробую выяснить, а правда ли, что на PS Vita было мало хороших игр, и кто на самом деле виноват в медленной смерти одной из лучших консолей, когда-либо выходивших на рынок. Читать дальше →

DI в Python, Easy-DI: спаситель в сложном мире зависимостей

5 часов 51 мин. назад

Привет, Хабр! Сегодня я бы хотел вместе с вами погрузится в увлекательный мир зависимостей, а точнее их внедрение.

И так, давайте сначала разберемся что же такое зависимость?

Зависимость - это объект (или функция, в Python все - это объект), который нужен другому объекту или функции для их нормальной работы. Почти в каждого объекта есть одна или несколько зависимостей. Существует 2 основных метода их получение: создание зависимости непосредственно внутри функции либо же инъекция (внедрение).

Читать далее

Код, который светится: архитектура минималистичных световых скетчей

6 часов 36 мин. назад

Микроконтроллеры, светодиоды, и немного кода — вот и вся палитра для минималистичного цифрового искусства. В статье подробно рассказывается, как выстроить архитектуру крошечных, но выразительных световых анимаций с использованием C++, платформы STM32 и адресных светодиодов WS2812. Немного философии, немного инженерии — и свет оживает по команде вашего кода.

Можно потратить годы, чтобы написать красивый рендерер. А можно взять 8 строк кода, светодиодную ленту и микроконтроллер, чтобы ночью на стене заиграла световая поэма. Эта статья — про второй путь.

Код, который светится, не имеет интерфейса, не показывает графику на экране и не заботится о фреймрейте. Его задача — свет. Живой, дышащий, мерцающий свет. В идеале — чтобы всё это поместилось в пару килобайт памяти и не жрало больше миллиампера на эффект.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 5 гостей.