Обновить
64K+

macOS *

Настольная ОС компании Apple

69,44
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Своя диктовка для macOS на Deepgram: горячая клавиша, прогретое соединение и три грабли PyObjC

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.8K

Я диктую по полторы-три минуты подряд: мысль для поста, письмо, правка к задаче. Готовые приложения для голосового ввода на маке я перепробовал, но для длинных кусков они не годились, и в итоге я за пару вечеров собрал свою диктовку на Python. Зажимаешь правый Command, говоришь, отпускаешь, и текст вставляется туда, где стоит курсор. Распознаёт Deepgram.

Статья про то, как это устроено, и про три места, где я потерял больше всего времени. Все три связаны с тем, что обычный Python-скрипт и приложение, которое macOS запускает сама при входе в систему, ведут себя по-разному. Код ниже взят из рабочего файла, лишнее я выкинул.

Читать далее

Новости

Вместе с Claude сделал бесплатный Spotlight с ИИ для Mac и Windows: ищет файлы и отвечает на вопросы в одной строке

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.3K

Каждый день я делал одно и то же: открывал Spotlight, чтобы найти файл или запустить программу, а потом лез в браузер, открывал вкладку с ИИ и вставлял туда вопрос. Два разных места для одного действия — «мне нужно что-то быстро». Захотелось, чтобы это была одна строка: нажал клавишу, напечатал — и если это файл, он открывается, а если вопрос, отвечает нейросеть.

Так появилась Lumi — бесплатная программа с открытым кодом для macOS и Windows. Сделал я её не один, а вместе с ИИ-ассистентом Claude Code: о том, как это было, — в конце статьи.

Читать, как мы это сделали

Как я поселил ИИ-агентов в чёлке MacBook и построил им пиксельный офис

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.7K

Когда у тебя одновременно работают три-четыре сессии Claude Code и Codex, половина времени уходит на переключение окон: кто закончил, кто ждёт ответа, кто завис. Я сделал маленькое приложение для macOS, которое показывает всех агентов прямо в чёлке MacBook, светится, когда кто-то ждёт, и превращает каждую сессию в человечка в пиксельном офисе. Рассказываю, как оно устроено: хуки Claude Code, чтение журналов Codex без API, офис на SpriteKit, свечение на Core Animation за 0,5% процессора и честная статистика без единого счётчика в приложении.

Читать далее

Локальный запуск Qwen-Image-2.1 без safety checker: тест на MacBook Air с 16 ГБ памяти

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.7K

Команда Qwen из Alibaba выпустила Qwen-Image-2.1 — модель для генерации и редактирования изображений на базе diffusion transformer с 7 млрд параметров, поддержкой нативного вывода до 2K и лицензией Qwen Research License.

Она умеет

Читать далее

Библиотека EMX Controls для Avalonia UI — Обновление 1.5 — Октябрь 2026

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.4K

Друзья, мы готовимся к очередному релизу библиотеки контролов EMX Controls для Avalonia UI. В этом обновлении мы добавили одну из самых полезных функций в контролах Data Grid и Tree List, расширили визуальные темы, включили сервисы для работы с окнами и диалогами и многое другое.

Читать далее

Я написал свитчер раскладки для Mac вместе с ИИ-агентом. Через три месяца он всё ещё портил мне русские слова

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.5K

Punto Switcher для Mac заморожен с ноября 2017 года. Я печатаю на русском и английском целый день, и «ghbdtn» вместо «привет» выскакивает у меня раз двадцать в сутки. В июне я решил, что хватит, и начал писать свой свитчер. Альтернативы есть, ниже я их честно перечислю. Мне хотелось двух вещей: исправление прямо во время набора, без горячей клавиши, и ноль сети. А ещё было интересно проверить на себе: вытянет ли ИИ-агент системное приложение для macOS, где нет фреймворка, который сделает за тебя сложную часть.

Получилось 184 коммита, 18 290 строк Swift в приложении и 12 592 в тестах. Три пользователя: я, друг и моя мама. Приложение бесплатное, код открыт под MIT. В этом тексте расскажу, как оно устроено, где я облажался и что из этого вынес про работу с агентом.

Читать далее

Как перенести 200 ГБ с Mac на внешний диск и ничего не сломать

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.6K

На Mac с диском 256–512 ГБ место заканчивается регулярно. Обычный путь известен: найти самое большое, перетащить на внешний SSD и удалить оригинал. Если разобраться, что при этом ломается, окажется, что ломается много чего, и чаще всего тихо.

Разбираю грабли: почему сверка копии сразу после записи ничего не доказывает, что exFAT теряет при переносе, какие папки переносить нельзя вовсе, как Docker съедает диск во время архивации томов и как правильно работать с шифрованным образом hdiutil.

Читать далее

Как разобрать macOS на части

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7.2K

Всем привет! Меня зовут Игорь Белов, я инженер в команде Мобильной Архитектуры Авито. Больше 6 лет занимаюсь iOS-разработкой, а ещё мне нравится изучать фундаментальные темы Computer Science и разбираться, как те или иные вещи работают под капотом.

В статье я расскажу, как исследовать произвольные приложения macOS с помощью отладчика LLDB и сопутствующих инструментов, и тем самым прокачать свой повседневный инструментарий разработчика. Сначала исследуем произвольно запущенные процессы в macOS с помощью LLDB. Затем на основе собранных знаний сделаем инъекцию своего кода, чтобы изменить их поведение. Ещё немного затронем теорию, подготовим и настроим окружение. В конце я посоветую, что почитать, чтобы углубиться в тему.

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

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

Читать далее

Кулак вместо хоткея: делаю управление macOS жестами и разбираюсь, куда уходит память

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.7K

Жест на картинке должен был быть обращен к компьютеру, а не к зрителю, но одно из ограничений картины реального мира современных моделей в том, что они видели неприличные жесты по большей части со стороны того, кому их показывают, потому им проблематично сгенерировать их со стороны того, кто их показывает.

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

Читать далее

Хочу выложить приложения в AppStore и вообще в магазины на всех платформах. Практический кейс

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

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

Читать далее

MTPLX против oMLX: одна модель, два сервера, разница в 3–6 раз

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.6K

Вторая часть. Первая — «Локальный агент для кода на Mac: MTPLX + pi + Qwen3.8-27B».

В первой части я посадил кодового агента pi на локальную Qwen3.8-27B через MTPLX и прогнал сложную задачу в разных режимах размышлений. Осталось сомнение, которое MTPLX сам не снимает: сколько тут даёт его многотокенное предсказание (multi-token prediction, MTP), а сколько сработало бы на любой MLX-обвязке?

Толчком стал разговор с ChatGPT. Я спросил, какой MLX-сервер поставить на MacBook Pro с M4 Max, и получил уверенный ответ: oMLX быстрее и качественнее остальных на таком железе. Звучало правдоподобно, проверить было интересно вдвойне. Я поставил oMLX, взял ту же модель и ту же задачу и повторил все те же режимы. Заодно отвечаю на вопросы из комментариев к первой части — про режим по умолчанию, шум вентиляторов и память.

Итог короткий: совет не подтвердился. В моих прогонах MTPLX заканчивал задачу в 2,8–6,4 раза быстрее, а по скрытым тестам связки сравнялись. Оговорки тоже короткие: сборки модели разные, а каждый режим на oMLX я запускал по одному разу.

Читать далее

Видеоплееры живут в 2012 году, а мы — нет

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели13K

Все мы любим VLC. Он открывает что угодно, работает на всём, не просит денег и не спрашивает, кто ты такой. IINA на маке выглядит как нормальное приложение, а не как диалог из нулевых. mpv вообще эталон: лучшая картинка, скрипты, конфиг под любую паранойю. Это отличные плееры, я пользовался всеми тремя годами и не собираюсь объяснять, что их авторы что-то делают не так.

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

Он называется Frame Player, он бесплатный и с открытым кодом, Windows и macOS. Дальше — список того, что меня в плеерах раздражало, и что с каждым пунктом в итоге получилось сделать.

Читать далее

CVE-2026-43783: Починить права — получить root: LPE через DesktopServicesHelper в macOS 26.5

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.9K

Привет, Хабр! Меня зовут Илья Андр и я работаю в команде PT Maze. В статье расскажу, как любопытство помогло мне найти и помочь закрыть CVE-2026-43783. Демон, который Finder использует для «починки» прав на iCloud-файлы, оказался готов починить права на что угодно - включая системные директории. В этой статье разберем, как устроен DesktopServicesHelper изнутри и почему одного XPC-запроса хватило для получения root. Но для того чтобы разобраться, как именно такое стало возможно, сперва немного теории по внутренностям macOS.

Читать далее

Ближайшие события

Мышь 1000 Гц на macOS 26: NSEvent даёт ~119 событий в секунду, GCMouse ~844. Замер тремя способами

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели5.7K

Мышь на 1000 Гц, экран MacBook Pro на 120 Гц. Я записал одно и то же движение тремя способами сразу. Системный CGEventTap увидел 843,5 события в секунду. NSEvent.mouseMoved в окне обычного Cocoa-приложения получил 118,5, по одному на кадр экрана. GCMouse из GameController отдал 843,6 и в моём прогоне ни о каких разрешениях не спросил. Ниже подробности, 17 строк кода на Swift, рекордер целиком и список того, чего я не проверял.

Читать далее

Как Splash ускоряет локальные LLM на Mac

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.1K

Как Splash ускоряет локальные языковые модели на Mac? Разбираем спекулятивное декодирование DFlash 2, результаты тестов разработчиков и ограничения движка. Объясняем, что учитывать при выборе Q4 или Q8, сколько памяти и места на диске потребуется и как запустить Splash на macOS.

Читать далее

Гига Писарь Большое обновление для мака, в котором мы навели красоту и перестали вам мешать

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.1K

Привет, Хабр!

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

Рассказываю, что изменилось, и немного о том, кто всё это делает, спойлер, уже не только я.

Читать далее

Как запустить старые принтеры на Mac Os? Apple Silicon: два разных сбоя под одним сообщением «ПО несовместимо»

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.7K

• Как я оживил LaserJet 1320 и Color LaserJet CP1025 на macOS 27 — разбор по логам CUPS
• “Filter failed” и «legacy USB class driver»: анатомия двух поломок печати на M1

Дано:
macOS 27 на M1, два древних принтера HP, одно и то же сообщение «ПО принтера несовместимо с этим устройством». Выглядит как один диагноз — «драйверов под ARM нет, покупай новый принтер». На деле это две совершенно разные поломки: одна лечится одной командой, вторая не лечится вообще и требует замены драйвера на open‑source. Ниже — разбор по логам CUPS, file, nm и strings, с рабочими решениями для обоих случаев.

Читать далее

Почему игры на MacBook дёргаются даже при 100+ fps — и как я сделал кадры ровными

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.7K

Игры на MacBook часто дёргаются даже тогда, когда счётчик показывает 100 кадров в секунду и больше. У меня так было с Counter‑Strike 2 на MacBook Pro 14 с M3 Pro: 110–120 fps, а на медленном повороте картинка всё равно идёт рывками.

Я записал, когда каждый кадр на самом деле появляется на экране. Дело оказалось не в нехватке мощности, а в том, как кадры ложатся на сетку экрана ProMotion. В цифрах это выглядит так:

Читать далее

Как сжать PDF без подписок на Adobe

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.2K

Как сжать пдф файл на маке?
Чё-то стрёмно в 2026ом скидывать свои файлы на сайты с доменом в .xyz.

А сжатие PDF уже лежит в вашем маке. Бесплатно!

Просто спрятано в утилите «для цветопередачи» — ColorSync Utility.

Читать далее

Как зарабатывать на Open Source без смены лицензии: разбор Cap (22.8k звёзд) и схема с платными бинарниками

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели92K

Большинство попыток заработать на открытом коде упираются в две крайности: сбор донатов, где за десятки тысяч звёзд на GitHub автор получает пару сотен долларов в месяц, или внезапная смена лицензии на BSL, которая оборачивается волной хейта и немедленными форками.

Проект Cap (открытый аналог Loom с 22 800 звёзд) нашёл третий путь. Их монорепозиторий на Rust, Tauri и Next.js выложен полностью, но проект успешно зарабатывает. Ниже — подробный разбор архитектуры проекта, того, как устроено разделение лицензий MIT и AGPLv3, и почему юридическая схема с платными бинарниками за $29/год работает даже без DRM.

Читать далее
1
23 ...