Обновить
128K+

macOS *

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

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

WUI три года спустя: C++ интерфейс на Windows, Linux, macOS и в браузере

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

В октябре 2023 года я рассказывал на Хабре о WUI — небольшой UI-библиотеке на C++, которую начал делать для своего приложения. Тогда она работала на Windows и Linux, а macOS оставалась в списке задач.

Теперь у WUI есть бэкенды для macOS и WebAssembly. Можно открыть сайт и пощелкать тот же интерфейс, который собирается в desktop-приложение: кнопки, многострочный ввод, списки, меню, диалоги, разделители. Код контролов и логика демонстрации общие.

Читать далее

Новости

f4, сайд‑проекты и помощь экосистеме Go

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

В процессе работы над f4, современной репродукцией Far Manager на Go, мне пришлось столкнуться с кучей ограничений экосистемы и написать массу вспомогательных библиотек, добавив недостающие кусочки паззла. Встроенный mp3 плеер f4 (да, он уже есть, пусть и на стадии PoC, вызывается по Ctrl+Shft+M) на скрине не просто так — это чуть ли не единственный плеер для *nix, нормально работающий с русскими кодировками id3v1 тэгов, для чего в том числе как раз потребовалась отдельная библиотека. Обзор всех наработок f4, которыми вы можете воспроизоваться в своих Go проектах  — в этой статье.

Читать далее

Внутри Apple Neural Engine, часть 2: запускаем модель

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

Продолжаем человеческий ANE reverse engineering. В этот раз разберёмся, чем таким интересным можно накормить компилятор, чтобы получить желаемый результат - Qwen, запущенный без GPU и CPU.

Читать далее

WWDC 2026: что изменится для системных администраторов в macOS 27

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

Всем привет, это команда Ринго! Уже не первый год Apple публикует Deployment Guide — руководство для системных администраторов, охватывающее развертывание, настройку и управление техникой Apple. После каждой WWDC в нём появляется раздел «Что нового?», и в этом году основная повестка не про новые возможности, а про потери. В  macOS 27 перестанут работать привычные MDM-команды управления обновлениями.

Разбираем ключевые изменения из What’s New for IT at WWDC26: что приходит на смену старым командам, какие декларации появились для сетевых настроек и статусов устройств и что следует проверить в инфраструктуре до массового обновления парка. Сервисы, официально недоступные для организаций, зарегистрированных в России (Apple Business Manager, Volume Purchase Program и другие), мы намеренно оставляем за скобками — говорим только про управление macOS 27.

Читать далее

Что внутри ANE на самом деле, или почему ЫЫ нельзя поручать reverse engineering

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

Нейронке сказали — «разберись как оно работает». Пошевелив гигабайтами матриц, она полезла ковырять список классов в AppleNeuralEngine.framework— и нашла там то, что искала — «40+ private classes, including _ANEInMemoryModel». Код работал. Делал то что от него требовалось — запускал математику на ANE. Но было в этом что‑то… не то.

Читать далее

12 бесплатных утилит для управления парком Mac

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

Вокруг macOS сложилась, пожалуй, уникальная для корпоративного мира экосистема бесплатных админских инструментов. Сообщество MacAdmins (Slack на десятки тысяч участников, конференции JNUC и MacAdmins PSU) годами создаёт и поддерживает утилиты, которые закрывают пробелы между тем, что даёт Apple «из коробки», и тем, что действительно нужно администратору. Причём многие из этих инструментов написаны инженерами Jamf, SAP и других крупных компаний и выложены в opensource.

В этой статье мы собрали 12 утилит, которые чаще всего встречаются в арсенале администраторов macOS. Почти все они бесплатны и с открытым исходным кодом, работают независимо от того, каким MDM вы пользуетесь, и решают конкретные задачи: от выдачи TCC-разрешений до принуждения пользователей к обновлениям.

Читать далее

ChromaDB Manager [macos] — графический интерфейс для построения локальных RAG

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

Всем привет! Для меня электричество — это магия, и ИИ — тоже. После того, как я приделал к стене водостойкую розетку, решил что и ИИ можно покорить.

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

Сразу к делу — вот репозиторий на ГитХабе, в нем исходники по лицензии MPL 2.0. Приложение для macos 14+, написано на SWIFT и для своей работы тянет только системные зависимости и (при необходимости) пакет установки ChromaDB.

А что внутри

Как разобрать файлы на Mac за 10–15 минут и удалить дубли фото, видео и документов + готовый скрипт

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

На Mac накопилось 860 ГБ файлов, среди которых одни и те же фото, видео и документы лежали в разных папках под разными именами. Я собрал Python-скрипт, который ищет точные дубли по SHA-256, переносит лишние копии в карантин и готовит план сортировки с возможностью отката. На первой проверке 108,5 ГБ нашлось 26,8 ГБ дублей.

В статье показываю весь процесс и даю готовый код.

Читать статью

С++20 и асинхронный ввод-вывод для обработки крашей приложения

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

Как асинхронно отправить диагностическую информацию на удалённые сервера для дальнейшей диагностики в условиях очень ограниченной среды? Корутины C++20 без динамической памяти и исключений, а также некоторые другие вещи, о которых вы бы никогда не подумали, что они вам нужны.

Читать далее

Как мой RDP-клиент для macOS незаметно превратился в комбайн для администрирования

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

Selective Remote начинался как небольшой RDP-клиент для macOS, а к версии 0.22.0 вырос в рабочее пространство для RDP, SSH, SFTP и SSH-туннелей. Рассказываю, зачем SFTP понадобилась передача Server → Server, почему Drag & Drop пришлось спускать со SwiftUI на AppKit и как несколько отдельных экранов превратились в связанные Workspace.

Читать далее

v1.10: роли, личности и снова этот WardLink…

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

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

Читать далее

Как выбор двух мониторов превратился в собственный RDP/SSH‑клиент для macOS

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

Когда я перешёл на Mac, мне казалось, что с удалённой работой проблем не будет. RDP существует много лет, клиентов для macOS хватает, а подключение к Windows — давно решённая задача.

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

Мне хотелось самостоятельно указать, на каких физических дисплеях должна открываться удалённая Windows‑сессия. Например, отдать под неё один или два внешних монитора, а экран ноутбука оставить macOS. Или, наоборот, запустить Windows только на встроенном дисплее. Я перебрал доступные варианты, но не нашёл приложения, в котором можно было бы нормально настроить такую схему: не просто включить режим «использовать все мониторы», а сопоставить физические дисплеи macOS с виртуальной раскладкой Windows.

Так появился первый прототип будущего Selective Remote.

Читать далее

Почему HTTPS-прокси не видит трафик приложения

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

Если вы когда-нибудь пытались просмотреть сетевые запросы десктопного или мобильного приложения через HTTPS-прокси, то наверняка сталкивались со странной ситуацией: прокси настроен, корневой сертификат установлен и доверен, системный прокси прописан, а в списке запросов пусто. Или приложение начинает выдавать ошибку сразу после включения перехвата.

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

Читать далее

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

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

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

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

Пум-пум...

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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 мин
Охват и читатели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 мин
Охват и читатели11K

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

Читать далее

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

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

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

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