Обновить
64K+

macOS *

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

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

«Выполнено» — самый дорогой неверный ответ. Как enterprise-функции вскрыли дефекты не в себе, а в стыке со старым кодом

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

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

Пум-пум...

Новости

Kakehashi: запуск macOS бинарников на Linux ARM. Часть 1: рабочий 7zip, curl и успехи с Apple Git

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

В прошлой статье я писал о WIE - userspace эмуляторе, который через JIT позволяет запускать PE64 бинарники на Apple Silicon. Казалось бы проект шел хорошо - почему делаешь новое? Дело в том, что я уперся в ужасную скорость - 7zip реальный проект на 200+ мб сжимал в 80-100 раз медленнее, чем нативный macOS бинарник. И это исправить без радикальной переработки проекта и разрушения самой концепции невозможно. Поэтому его разработка к сожалению была приостановлена.

Но мне хотелось попробовать сделать то, что сохранит идею переноса бинарника одной OS на другую, но без JIT. И я нашел. И имя ему Kakehashi

Читать далее

Как переключать язык в macOS по клавише (Глобус) без задержки и не потерять Fn

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

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

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

Я хотел получить более простое поведение, но это оказалось не так-то просто...

Читать далее

UNIX-команды macOS, которых нет в Linux: от say и defaults до sysadminctl

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

macOS — сертифицированная UNIX система (формально — UNIX 03), и большая часть того, что набираешь в терминале, ведет себя, как в любом BSD: ls, grep, ps, ssh — все на месте. Но рядом лежит второй слой команд, которого нет ни в одном дистрибутиве Linux и нет в POSIX: defaults, sysadminctl, mdfind, say, afplay

Часть из них выросла из архитектуры Darwin, часть — из графической и звуковой подсистем, а часть существует исключительно ради управления экосистемой Apple.

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

Читать далее

Пять неправильных токенов и 245 картинок: как Krea 2 заработала на Swift и MLX

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

На обложке — команда, которой не было. В реальности Twisterminigen создавался за одним столом: я, Mac mini M4 с 32 ГБ объединённой памяти и Codex.

Получилось нативное приложение для Krea 2 Turbo на Swift и MLX: без Python внутри и без облачного inference, но с очередью, LoRA, Regional Prompts, Presets и воспроизводимыми рецептами генерации.

Самый опасный баг при этом не падал и не рисовал шум. Пять токенов из 512 получали неправильные RoPE-позиции, старый тест проходил, а картинки выглядели нормально. После исправления тот же prompt и seed изменили 99,32% пикселей.

В статье — как набор из 31,18 ГиБ весов заработал на 32-гигабайтном Mac, почему одинаковый seed не является паспортом персонажа и где заканчивается красивая картинка и начинается проверяемый продукт.

Читать далее

Публикуем iOS‑приложение без Мака и без Visa: пошаговый разбор

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

Дисклеймер: я делаю сервис аренды Mac mini (ссылка в профиле), поэтому тема мне близка профессионально. В статье нет ссылок на него и не будет рекомендаций его выбрать — только разбор всех путей, которыми пользуюсь сам и которые видел у коллег.

Читать далее

Как проверить все Python‑окружения на опасные пакеты без запуска Python

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

Вредоносная зависимость может годами лежать в забытом проекте, а обычная команда pip freeze — запустить оставленный злоумышленниками код. Разберём, как собрать реестр виртуальных окружений и с помощью uv безопасно проверить версии пакетов во всех локальных проектах.

Проверить пакеты

Как я собрал полностью локальную диктовку для русского языка на Mac: GigaAM, Whisper, Qwen и Apple

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

VoiceSwitch — открытое menu bar-приложение для Apple Silicon: одна глобальная клавиша запускает запись, GigaAM, Whisper, Qwen или Apple распознают речь локально, Qwen3-4B исправляет или сокращает результат, а приложение вставляет его в активное окно. В статье — архитектура Swift + Python worker, результаты теста четырёх движков на русском и смешанном аудио, ловушка macOS TCC и ссылка на beta.

Читать дальше

Как не‑программист собрал нативный дашборд для Mac руками Claude и доказал, что баг с CPU в скролле ему померещился

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

Сразу скажу: я не программист

Вообще. Код на работе не пишу, пет-проектов на гитхабе нет, да и SwiftUI изнутри не знаю совсем. Просто захотелось понять, каково это — делать софт сейчас, когда под рукой есть ИИ. Тему взял такую, чтоб самому не скучно было: здоровье собственного Mac. Так и вышел MacDashboard — нативное приложение под macOS в одно окно, без внешних зависимостей и с лицензией MIT.

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

Читать далее

460 ГБ, свободно 14: археология диска разработчика

Время на прочтение8 мин
Охват и читатели12K

TL;DR: после каждого проекта на диске остаётся 2–40 ГБ мусора, который никто никогда не убирает. Я раскопал свой Mac (460 ГБ, из них свободно было 14), нашёл около 150 ГБ хлама чисто девелоперского происхождения, по дороге упёрся в неожиданно интересную задачу — как отличить папку build со сборкой от папки build с чем угодно ещё — и в итоге написал себе инструмент. Ниже — вся археология с цифрами и командами, можно повторить руками, ничего не покупая и не скачивая.

Читать далее

Mac mini feat OpenClaw: проверяем локальный инференс LLM

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

Локальный инференс LLM требует не только мощного GPU, но и огромной ширины шины памяти. Объединенная память Apple Silicon частично решает проблему нехватки VRAM за разумные деньги, превращая Mac miniTM в портативный сервер для AI-агентов вроде OpenClaw. В этом материале протестируем Mac miniTM M4 Pro на языковых моделях среднего размера, разберем настройку окружения и выясним, где проходят реальные границы возможностей этой конфигурации.

Читать далее

56 минут созвона → текст за 5 минут на M4 без OBS и облака

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

У меня от трёх до пяти созвонов в день, почти все в браузере: Meet, Яндекс Телемост, ktalk, реже всего Zoom. Детали встреч мне нужны в тексте, иначе договорённости расползаются. Писал я звонки через OBS с захватом экрана, и на самих звонках началось веселье: звук временами жёстко квакал, всё чуть-чуть подвисало. Причину до конца не выяснял, моё предположение - процессор зажирался захватом и перебивал сам разговор; ktalk и браузер тут ни при чём. А экран, как потом дошло, мне вообще был не нужен.

Дальше вторая серия. Расшифровку я гонял своими Python-скриптами: конвертация → транскрибация → диаризация (разметка, кто когда говорил). На встрече с пятью участниками диаризация расставляла голоса крайне плохо, половину фраз всё равно восстанавливал по памяти.

Пошёл искать вариант, чтобы запись не мешала звонку, результат был приличный и всё крутилось локально: не хотелось ни отдавать записи в облако, ни платить подписку за минуты. Нашёл платный Audio Hijack, он подкупил лёгкостью и простотой настройки. Потом узнал, что на M-чипе быстрее всего у меня отрабатывает mlx-whisper на MLX: веса large-v3-turbo с Hugging Face, инференс на GPU Mac. Это архитектура Whisper, но рантайм — пакет mlx-whisper и бинарь mlx_whisper, не pip install openai-whisper и не репозиторий openai/whisper. Так собрался стек: Hijack пишет один mp3, mlx_whisper делает VTT, pyannote раскладывает по SPEAKER_XX. На 56-минутном звонке транскрипция заняла около пяти минут. Платный только Hijack — разовая лицензия, без подписки (цену смотрите на сайте Rogue Amoeba). Скрипты выложил в mac-call-transcribe под MIT. Ниже сборка, замеры с двух реальных звонков и грабли; повторяется на любом Mac с M-чипом.

Читать далее

Как я объединил четыре Mac Studio в один компьютер с 1,5 ТБ – и запустил ИИ, который не влезает ни в одну видеокарту

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

Представляю вашему вниманию довольно необычный эксперимент: объединение четырех компьютеров Mac Studio в единый кластер с 1,5 ТБ общей памяти с помощью новой технологии RDMA через Thunderbolt 5.

Это нужно, чтобы запускать локально гигантские языковые модели уровня DeepSeek V3 и Kimi K2 Thinking на 1 триллион параметров. Автор делится результатами тестов производительности, сравнивает систему с решениями от Nvidia и AMD, а также подробно рассказывает о трудностях настройки и проблемах стабильности, с которыми пришлось столкнуться в процессе.

Читать далее

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

О разработке прототипа эмулятора WIE: запуск Windows PE64 бинарников на Apple Silicon

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

WIE — это исследовательский эмулятор пользовательского режима (userspace) для запуска 64-битных Windows-приложений (PE64) на архитектуре macOS Apple Silicon. Проект написан на Rust 1.97, а в качестве бэкенда компиляции используется Cranelift для трансляции x86-64 инструкций на лету в нативный ARM64.

Читать далее

Шесть часов на один рендер: как я собрал нативную студию Ideogram 4 на Swift и MLX

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

Я запустил Ideogram 4 локально на Mac, а затем собрал для него нативное приложение на Swift и MLX — без отдельного Python-процесса во время рендера. Сразу честно: «6 часов против 11 минут» — не ускорение одной картинки в 35 раз, а два разных режима: максимальный Quality 2048×2048 на 48 шагах и повседневный Turbo 1152×768 на 12. Это продолжение серии о Typhoonminigen. В статье — архитектура приложения, реальные замеры, удачные решения, ограничения и ошибки, которые пришлось исправлять по пути.

Читать далее

Apple Intelligence в Python для агента Hermes

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

Apple выпустила Foundation Models SDK for Python ещё в феврале 2026. Эта Python-библиотека предоставляет прямой доступ к локальной модели Apple Intelligence: модель грузится в процесс, KV-кеш лежит в памяти, инференс идёт на Apple Silicon. Библиотека получила 1,2 тыс. звёзд на GitHub, последнюю версию 0.2.0 с поддержкой изображений представили на WWDC26.

Есть несколько обёрток для Foundation Models с поддержкой интерфейса OpenAI, но нет нативного провайдера для агентов, написанных на Python, таких как Hermes, в котором локальная модель работала бы как основной инференс агента со всеми его особенностями: рейтлимитером, откатом к другим моделям и аудитом. Также известно прямое использование Foundation Models в агенте iClaw на Swift, но эти возможности пока недоступны более универсальным агентам на Python.

Почему бы не попробовать добавить к Hermes адаптер на Foundation Models SDK for Python и получить среднее время реакции на короткие запросы 2,8 секунды, а на бенчмарке из 50 вопросов из MMLU, BoolQ, GSM8K, BIG-Bench и HellaSwag выбить 46 правильных ответов?

Под катом — архитектура, код и бенчмарки нативного провайдера для автономного агента Hermes.

Читать далее

Я слышу, как модель думает

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

Я часто ловлю тонкий, почти на грани слышимости писк, когда работаю с LLM на своем MacBook Pro. Иногда — когда вроде бы вообще ничего не запускал. Довольно долго подозревал, что профдеформация переросла в галлюцинацию.

Оказалось — нет, это физика.

Читать далее

Link to Pane: буфер обмена Mac Android через протокол Microsoft (потому что иначе — pain (икра слов)

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

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

Пришло время реверсить протоколы снова. Apple я делал. Google тоже. Угадайте какая компания следующая?

Читать далее

Аутентификация через биометрию в Kotlin Multiplatform или Koncierge

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

Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform.

Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID.

Так появился Koncierge — набор KMP-модулей biometric, auth и auth-compose

Казалось бы, задача довольно стандартная: объявить expect-класс и написать несколько actual-реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том,

как Kotlin работает с нативным кодом

После многих лет борьбы я получил ещё один шанс: Deep Brain Stimulation — Abbott Libberta RC

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

Меня зовут Станислав Герасимов. Я программист С++/Qt, а также Go и выпускник магистратуры НИУ ВШЭ. С детства живу с тяжёлым неврологическим заболеванием — вторичной генерализованной дистонией с выраженными гиперкинезами. После многих лет лечения, нескольких нейрохирургических операций и многочисленных отказов в дальнейшем лечении в России я прошёл повторную операцию глубокой стимуляции мозга (DBS) в Турции у профессора Аттилы Йылмаза. На этом сайте я делюсь своей историей, рассказываю о лечении, программировании DBS, реабилитации, жизни с неврологическим заболеванием, а также о работе в сфере информационных технологий. Надеюсь, мой опыт окажется полезным и поддержит тех, кто также продолжает бороться за своё здоровье и качество жизни.

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