Обновить
128K+

macOS *

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

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

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

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

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

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

Читать далее

Новости

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

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

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

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

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

А что внутри

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

В прошлый раз я писал, как из за ограничений и необходимости админить смешанный парк корп устройств, появился собственный 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 безопасно проверить версии пакетов во всех локальных проектах.

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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.8K

У меня от трёх до пяти созвонов в день, почти все в браузере: 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-чипом.

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