Blurry rendering of games on Mac 🔥 Горячее 💬 Длинная дискуссия
Проблема
На ноутбуках Mac с «чёлкой» большинство игр по умолчанию выбирают разрешение всего экрана (включая область под чёлкой), хотя рисовать можно только ниже неё. Из-за этого картинка сжимается и размывается. API CGDisplayCopyAllDisplayModes
выдаёт смешанный список: полные и фактически доступные 16:10-режимы, но без пометок. Разница в высоте всего 74 px, но её достаточно, чтобы всё выглядело мутно.
Решение
Игрокам: в настройках графики выбирайте 16:10-разрешение.
Разработчикам: фильтруйте список режимов, оставляя только те, что помещаются в safe-area. Пример:
extension NSScreen {
func safeAreaResolutions() -> [CGDisplayMode] {
let w = frame.width - safeAreaInsets.left - safeAreaInsets.right
let h = frame.height - safeAreaInsets.top - safeAreaInsets.bottom
return CGDisplayCopyAllDisplayModes(...)?
.filter { $0.width <= w && $0.height <= h } ?? []
}
}
Какие игры страдают
Практически все, если не задан 16:10 вручную: Shadow of the Tomb Raider, Resident Evil, No Man’s Sky и др.
Что может сделать Apple
- Разделить списки режимов или пометить их флагом.
- Добавить
CGDisplayModeGetUsableBounds
. - Сделать 16:10-режим выбором по умолчанию для полноэкранных игр.
Комментарии (280)
- Круглые углы и вырезы экрана вызывают у многих раздражение: вместо идеальной геометрии приходится снова «ломать» картинку ради эстетики.
- Проблема размытого рендеринга в играх на Mac сводится к тому, что игры выбирают «первое» разрешение из списка, не учитывая safe-area и выреза.
- Разработчики жалуются на отсутствие документации и «магическое» поведение macOS, из-за чего каждая игра решает проблему по-своему.
- Часть пользователей считает вырез незаметным, другие вынуждены подключать внешний монитор или отказываться от игр.
- Общий вывод: Apple мало заботится о гейминге на Mac, рынок мал, а документация и инструменты оставляют желать лучшего.
I made a real-time C/C++/Rust build visualizer 🔥 Горячее
Я написал What the Fork — кроссплатформенный визуализатор сборки C/C++ (и не только).
Запуск: wtf make
, wtf cargo build
, wtf gradle build
, wtf -x
для Xcode и т.д.
Инструмент показывает все процессы, включая скрытые вызовы ld
, и ищет типичные проблемы:
- отсутствие
-j
уmake
, - однопоточная компиляция,
- повторяющиеся cmake/make-шаги,
- непараллельные CI-сборки.
Как работает
Сборка = дерево команд. Чтобы увидеть всё, ловим системные вызовы fork/exec/exit
:
- macOS — Endpoint Security API,
- Linux —
ptrace
, - Windows — Event Tracing (самое мерзкое API).
Что уже нашли
- cargo собирал зависимость одним потоком вместо 10× ускорения.
- ninja при сборке LLVM держит 12 задач на 10 ядрах — почти идеал.
- CMake 85 раз подряд вызывает
xcode-select
,sw_vers
, cmake/make → clang, не используя параллелизм.
Инструмент открыт для тестов — попробуйте на своём проекте.
Комментарии (82)
- Пользователи восторженно реагируют на новый визуализатор сборки, особенно те, кто застрял на CMake/GCC/Make без clang/ninja и не может понять, почему сборка тормозит.
- Просят сразу показать GIF-демонстрацию под заголовком статьи и спрашивают, будет ли macOS-версия и открытый код.
- Некоторые делятся опытом: strace/dtruss, ninjatracing, vcperf, cargo --timings, Instruments и другие инструменты уже решали похожие задачи.
- Предложения расширить функциональность: добавить flame-графы процессов, поддержку fork(), интеграцию с Bazel Build Event Protocol, оценку «осталось времени» по историческим данным.
- Отдельные комментарии касаются маркетинга (сменить название), сравнения с VS/Xcode, а также шуток про TEEP/OEE завода и «LLVM, завари кофе».
Комментарии (63)
- Пользователи жалуются, что при росте контекста модель «убивается» скоростью обработки, хотя генерация токенов быстрая.
- Вопросы безопасности: guard-rails вшиты, но есть форки «abliterated» и джейлбрейки, хотя они делают модель глупее.
- Дискуссия о цене: 64–128 ГБ ОЗУ и RTX 3060 называют как «дешёвое» железо (< $1000), но для многих всё ещё дорого.
- На 64 ГБ Mac и 16 ГБ MacBook Air удаётся запускать 20B и 4B квантованные модели, но function calling в llama.cpp пока сломан.
- Появился патч, который должен починить llama.cpp; оптимизация экспертных слоёв через regex работает и на других MoE-моделях.
Nyxt: The Emacs-like web browser
Nyxt — браузер в духе Emacs, написанный на Common Lisp под BSD-лицензией. Цель — клавиатурное управление и полная расширяемость для разработчиков; Linux — приоритетная платформа.
Проект запущен в 2017 г. Джоном Меркурисом, спонсируется двухчеловечной Atlas. Идея — дать «хороший Emacs-опыт в интернете», но без самого Emacs: технический долг и ограничения плагинов не позволили реализовать задумку иначе. Поддерживаются vi- и CUA-схемы клавиш.
Стабильная ветка 3.12.0 (октябрь 2024) использует WebKitGTK, экспериментально Blink. Обновления безопасности только для последней стабильной версии.
Разрабатывается 4.0: рендер-агностик, WebKitGTK + Electron (из-за производительности и поддержки macOS/Windows). Пока доступен превью-AppImage на Electron; WebKitGTK требует сборки из исходников. Основные изменения — рефакторинг, багфиксы, улучшения UI.
Установка стабильной версии в Linux — Flatpak.
Комментарии (35)
- Пользователи восторжены идеей «Emacs для браузера», но ждут стабильной 4.0 и полной совместимости с сайтами.
- Основные тормозы: отсутствие uBlock Origin/umatrix, странный поиск в модальном окне, проблемы с Electron и сборкой под Guix/Mac.
- Движок — Chromium через Electron, поэтому sandbox-защита сопоставима с Chrome, но «взлом» вне песочницы пугает.
- Критики считают проект хакерским, а не продуктовым: мало внимания UX и «обычным» пользователям.
- Сторонники отвечают: целевая аудитория — энтузиасты Emacs/Luakit, а не массовый рынок.
Modos Paper Monitor – Open-hardware e-paper monitor and dev kit 🔥 Горячее
Modos Paper Monitor — открытый e-paper монитор 75 Гц и dev-kit.
Собрано $61 611 из $110 000, 37 дней до конца кампании.
В комплекте
- Плата на FPGA (Caster, 60 Гц, открытая прошивка).
- 6" и 13" монохромные панели; контроллер подходит и к другим экранам 6–13,3".
- HDMI/USB, Linux/macOS/Windows.
- Корпус-чертежи и ПО на GitHub.
Почему это важно
- Закрытые драйверы и высокие цены тормозят e-paper.
- Мы даём инженерам и энтузиастам свободу экспериментировать и формировать стандарты (Discord, Mastodon, Matrix, Bluesky).
Возможности
- Низкая задержка: независимые области обновления, отмена прежних пикселей.
- Гибкие режимы: бинарный для скорости + гибридный серый для деталей.
- C API: полный контроль режимов и обновлений.
Цены
$199–$599, 6 вариантов комплектации.
Комментарии (72)
- Проект Glider — полностью открытый: исходники, Verilog, документация и файлы платы на GitHub/GitLab.
- NLnet и ЕС профинансировали разработку; обсуждаются условия грантов и гражданство авторов.
- Контроллер на низкобюджетном FPGA выдаёт HDMI/USB-C, но пока не предлагает LVDS/eDP для моддинга ноутбуков.
- Демо показывает высокую скорость обновления при заметном «ghosting»; блики — особенность дешёвой панели, не самой платы.
- Участники хотят 21–24″ монохромный 30 Гц дисплей дешевле $500, сенсорный слой и драйверы X11/Wayland.
- Упомянуты альтернативы: Inkplate, TRMNL, Boox, а также DIY-кибердеки и ноутбуки ThinkPad T480 с e-ink.
Infinite Pixels
Я листал соцсети и наткнулся на toot Энди P с трюком:
width: calc(infinity * 1px); height: calc(infinity * 1px);
Подумал: отличный тест на пределы. Если отдать браузеру бесконечность через ключевое слово infinity, он всё равно зажмет до максимума — можно понять верхнюю планку.
Сделал див с width/height: calc(infinity * 1px), обнулил отступы, проверил в Safari, Chrome и Firefox (Nightly) на macOS — и началось странное.
- Safari: около 33,554,428 px по ширине/высоте
- Chrome: около 33,554,400 px
- Firefox: высота схлопывается до межстрочного (например, 19.2 px при normal, 16 px при line-height: 1), ширина — вычислено ~17,895,700, но в раскладке ~8,947,840 (ровно половина минус 10)
Safari/Chrome почти упираются в 2^25 - 1 (33,554,431), но чуть ниже. Почему именно так — загадка. Firefox же ведет себя особенно: высота с “бесконечностью” игнорируется и падает к строке, ширина делится пополам в layout.
Дальше я попробовал font-size: calc(infinity * 1px):
- Safari: 100,000 px
- Chrome: 10,000 px
- Firefox: вычислено 3.40282e38 (макс для 32-бит float), но в раскладке шрифт ~2,400 px при normal; при line-height: 1 высота блока вдруг раздувается до ~8.9 млн. То же при переносе стилей на body.
Вывод: у Safari/Chrome жесткие десятичные лимиты для font-size (100k и 10k). У Firefox — вычислительно “бесконечность” как float, но реально рендерится ограниченный размер и странная связь с line-height.
Проверил line-height: calc(infinity * 1px):
- Safari: ~33,554,428
- Chrome: ~33,554,400
- Firefox: вычислено ~17,895,700, в раскладке ~8,947,840
Итоговые наблюдения:
- Safari/Chrome для размеров элементов/line-height ограничивают около 2^25 - 1; для font-size — вручную заданные пороги (10k/100k).
- Firefox: несогласованность вычисленного и реального значения; высота может схлопываться к строке, ширины/line-height делятся пополам, сильная зависимость от line-height.
Если кто знает первопричины (история движков, типы хранилищ, квантизация, внутренние лимиты раскладки/скролла/композитинга) — расскажите в комментариях или постом с трекбеком.
Комментарии (55)
- Firefox ограничивает высоту блока 17 895 697 px — это максимум для 32-битного signed-целого в единицах 1/60 px.
- Chrome/Safari держатся чуть выше, около 33 554 431 px, т.к. у WebKit/Blink единица 1/64 px и тот же 32-битный signed.
- «Бесконечные» таблицы/листы реализуются через огромный прокручиваемый div, но приходится рисовать свой скролл или канвас, когда нативный height перестаёт работать.
- CSS-значение infinity (новое 2–3 года) просто приводится к этому максимуму, а не даёт настоящую бесконечность.
Mac history echoes in current Mac operating systems
Ars Technica отметила, что в macOS Tahoe старые значки жёстких дисков заменяют более общими и скучными. Если вы на Sequoia и хотите сохранить их, возьмите из: /System/Library/Extensions/IOStorageFamily.kext/Contents/Resources Текст на этикетке проработан, и даже винты Torx. Достаньте T8 MacCracker для этого диска:
[Изображение 1]
В системе сохранились и другие отголоски прошлого. The Spacebar заметил, что в шрифте Apple Symbols до сих пор есть старые, «устаревшие» пиктограммы, полезные разве что пользователям Power Mac в веб-браузерах.
[Изображение 2]
И это ещё не всё: в файле больше значков, чем он показал. Вот что я нашёл — возможно, обнаружите больше.
[Изображение 3]
По порядку: логотип PowerPC; композитный видео‑выход/вход; S‑Video выход/вход (как на поздних PowerBook); модемный порт; совмещённый модем/принтер (Duo 2300); принтер; SCSI; Ethernet/AAUI; три глифа ADB; сервер; контурное радужное яблоко; Balloon Help (System 7); Apple Guide (7.5); дискетa 5,25" (скорее для Apple II); две лампочки Newton; undo, extras, dates, names Newton; дискета 3,5" HD; «растерянный» компактный Mac (намёк на мигающий вопрос при отсутствии загрузочного тома); классический логотип QuickTime; «часы занятости»; порт Apple Pro Speakers (iMac G4, MDD G4); FireWire; значок программистской клавиши; две версии reset (для них есть аналоги в Unicode или геометрические фигуры; иногда были отражены).
Примечание: большинство этих символов не привязаны к кодовым точкам Unicode; это отдельные глифы. Font Book их покажет, но копировать нельзя. Ultra Character Map позволит взять графику и вставить, как я сделал здесь.
И это ещё не всё. Загляните в /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources — там тоже клад. Особенно впечатляют «мульти‑размеры» для разных экранов; ниже — 1024×1024 144 dpi Retina из Sequoia.
[Изображение 4] eMac,
[Изображение 5]
[Изображение 6]
Комментарии (43)
- Обсуждение о том, почему в macOS до сих пор есть старые иконки и артефакты: многие используются для сетевых устройств (Finder определяет модель хоста через Bonjour _device-info._tcp), поэтому NAS и Samba-сервера могут отображаться как Xserve или «BSOD»-ПК.
- Участники отмечают, что хранить старые ассеты дешевле и безопаснее, аналогично Windows, где исторические иконки тоже остаются (moricons.dll и др.).
- Есть ностальгия по эпохе дизайна Apple: старые шрифты и символы не столь анахроничны и соответствуют устройствам тех лет; вспоминают пасхалки NeXT и наследие интерфейсов до System Settings-ревампа.
- Иконка «с синей ошибкой» используется для Windows-шар на сети и видна до сих пор; Samba с vfs_fruit позволяет задавать модель для выбора иконки (RackMac/Xserve и т.п.).
- Спорят о причинах сохранения ассетов: от юридических/товарных знаков до простого «не трогать рабочие углы»; контраргумент — они реально ещё применяются.
- Уточняют исторические детали: не было «iPhone 2G» как названия (был iPhone, затем 3G/3GS); многие старые иконки фигурируют в About This Mac и других ресурсах .car.
- Есть критика: macOS сохраняет «эхо истории» в хоткеях (Enter — переименовать, Cmd-O — открыть), но окно-менеджмент считают устаревшим; параллельно шутки про неизменный дизайн MacBook/iPhone.
uBlock Origin Lite now available for Safari 🔥 Горячее 💬 Длинная дискуссия
uBO Lite (uBOL) — надежный и эффективный блокировщик контента.
Набор правил по умолчанию соответствует стандартным спискам uBlock Origin:
- Встроенные списки uBlock Origin
- EasyList
- EasyPrivacy
- Список серверов рекламы и трекинга Peter Lowe
Дополнительные правила можно включить на странице настроек — нажмите значок шестеренки в всплывающей панели.
uBOL полностью декларативен: фильтрацию CSS/JS выполняет сам браузер, постоянный процесс расширения не нужен. uBOL не расходует CPU/память во время блокировки; сервис‑воркер требуется только при работе с панелью или настройками.
Рейтинги и отзывы
4,8 из 5 (37 оценок)
Лучший блокировщик для Safari
Открытый код, основан на оригинальном uBlock Origin, быстрее других. Рекомендую. Включите режим «Полный», иначе часть рекламы останется.
Не удается включить на Safari для ноутбука
На iPhone работает отлично. Улучшите версию для macOS: в настройках Safari расширение сразу после установки выглядит отключенным.
Доступ к панели
Попасть в настройки немного неочевидно, особенно в приватном режиме. Но это лучший блокировщик. Спасибо за порт на iOS.
Разработчик Raymond Hill сообщает, что приложение может обрабатывать данные, как описано ниже. Подробности в политике конфиденциальности.
Данные не собираются
Разработчик не собирает данные из этого приложения.
Практики конфиденциальности могут отличаться в зависимости от функций и возраста пользователя. Узнать больше
Информация
Продавец: Raymond Hill
Размер: 5,8 МБ
Категория: Утилиты
Совместимость: iPhone iOS 18.0+, iPad iPadOS 18.0+, Mac macOS 15.0+, Apple Vision visionOS 2.0+
Языки: английский
Возраст: 4+
Авторские права: © Raymond Hill 2022
Цена: бесплатно
- Поддержка
- Политика конфиденциальности
Комментарии (439)
- Пользователи обсуждают выход uBlock Origin Lite для Safari: многие радуются появлению уБО на iOS/macOS, но отмечают, что Apple очень поздно починила/реализовала DNR API (iOS 18.5–18.6), из‑за чего раньше блокировка в Safari была слабее, чем даже в Chrome MV3.
- Много жалоб на совместимость и распространение: у некоторых расширение не активируется или пишет «не поддерживается этой версией Safari» (iOS 18.5, macOS 15.5/15.6), встречаются ошибки «Unable to load», недоступность в регионе, а в поиске App Store его тяжело найти.
- Сравнения с альтернативами разнятся: часть считает, что AdGuard/Wipr/Ghostery уже давно хорошо работают в Safari; другие видят у uBOL более высокую эффективность (пример теста 94% vs 79% у AdGuard) и удобные инструменты (элемент‑пикер), хотя некоторые жалуются на UI и помехи нативным функциям Safari.
- Обсуждают альтернативные браузеры: Orion (WebKit с поддержкой uBO “полной” версии), Brave (встроенный эффективный блокер), Firefox/Firefox Focus, DuckDuckGo; ряд пользователей предпочитает их из‑за лучшего адблокинга и производительности.
- Требование iOS 18+ стало барьером: владельцы старых устройств/версий iOS просят поддержку, опасаются обновляться, часть ждёт доступности по регионам.
- Есть вопросы о функциональности “Lite”: можно ли добавлять собственные фильтры/косметические правила; у некоторых всплывает запрос доступа к доменам трекинга (например, adnxs), что вызывает недоумение.
- Итоговая тональность: рады новому варианту для Safari и конкуренции, но критикуют Apple за запоздалую и несовершенную реализацию, а также за хрупкость и региональные/версийные ограничения.
Apple's history is hiding in a Mac font
В macOS до сих пор живёт шрифт Apple Symbols (4400 глифов в Sequoia 15.1, © 2003-2006). Он появился в Panther 2003-го и хранит:
- логотипы Apple, PowerPC, QuickTime 1991-го;
- иконки SCSI, ADB, AppleTalk, Ethernet, FireWire, Sony HD-дискет;
- символы Newton (лампочка, undo, extras, даты, имена);
- старый Mac, песочные часы-«ждите», Boot Camp (четыре ромба);
- значок размагничивания CRT.
Найти: Font Book → Apple Symbols → Repertoire.
Комментарии (27)
- Пользователи вспомнили, что старые голоса PlainTalk всё ещё живы в macOS Sequoia, сохраняя шутки и пасхалки.
- Отметили, что в SF Symbols до сих пор присутствуют иконки старого железа, включая первый iPod.
- Обсудили, что глифы «gid*» из шрифтов Apple нельзя просто скопировать в TextEdit, так как они не имеют Unicode-кодов.
- Всплыла тема последнего CRT-монитора Apple: это был eMac, а не внешний дисплей, и он выпускался до 2005 года.
- Ностальгировали по «времён Apple с душой» и пошутили, что Windows-машины в сети отображаются с BSOD.
MacBook Pro Insomnia 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (232)
Another trick is to open Activity Monitor, switch to the Energy tab, and sort by the "Preventing sleep" column. Some apps prevent macOS from sleeping.In my case, I've discovered that Devonthink (document/notes management app) is responsible. I've been meaning to file a bug report