Все потоки
Поиск
Написать публикацию
Обновить
44.99

macOS *

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

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

Как переназначить кнопку dictation на macOS (без стороннего софта)

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

Год назад я купил Mac с функциональными клавишами и столкнулся с кнопкой dictation, которая вызывает стандартную программу для диктовки текста. Перед покупкой я предположил что это кнопка с значком микрофона должна включать и выключать микрофон, каково же было мое разочарование, когда вместо функционала включения и выключения микрофона я получил запуск dictation. Меня не особо устраивал сторонний софт (например: Kabaneri elements), хотелось что-то нативное и небольшое

Читать далее

Делаем плавную прокрутку для сторонней мыши в macOS

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров32K

На Mac одни из самых удобных трекпадов, с которыми приятно работать и выполнять ежедневные задачи. Если подключить к любому компьютеру Apple стороннюю мышку, то в глаза сразу бросается прерывистая прокрутка. Со временем это начинает очень сильно раздражать и даже мешать читать текст. В этой статье рассмотрим утилиты, решающие известную проблему macOS.

Читать далее

Идеальный REST-клиент для iOS

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

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

Читать далее

Macintosh 128K: от мечты к легенде в мире компьютеров

Время на прочтение16 мин
Количество просмотров5.5K

Не так давно вышло обновление macOS 14 Sonoma. Некоторые уже раскритиковали его за то, что Apple отошла от своих же принципов минимализма, добавив на рабочий стол виджеты. На эту тему можно долго спорить, но факт остается фактом: тот привычный образ GUI массовый пользователь узнал еще в 1984 году в первой ОС для «Макинтош» — System 1.

Компьютер Macintosh был разработан в Apple командой под руководством Стива Джобса в 1980-х. Инженеры, включая Баррела Смита и Энди Херцфельда, фокусировались на доступности и простоте. Они интегрировали множество функций в ПЗУ и заменили заказные чипы на экономичные микросхемы PAL. Сталкиваясь с вызовами и жесткими сроками, команда создала инновационные решения, в том числе метод генерации звука через видеосхему. Запуск Macintosh стал переломным в истории персональных компьютеров.

И лучше всего о создании первого «Макинтоша» расскажут его создатели. В этой статье мы приведем «анекдоты» от Энди Херцфельда, автора книги «Революция в Долине: безумно великая история о том, как был создан Mac».

Читать далее

На пути из Web к Native, часть 1

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

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

Оставь надежду, всяк сюда входящий. Или.. нет..?

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

Я решил поставить перед собой большую цель: давным-давно...

Читать далее

Одна игра, один разработчик, шесть платформ

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

Недавно компания Valve объявила о том, что Counter-Strike 2 не будет поддерживать macOS. Я инди-разработчик, в одиночку выпустивший игру с поддержкой macOS, поэтому поначалу меня удивило это решение Valve. Но вспомнив о своём собственном опыте поддержки шести платформ, я начал понимать точку зрения компании.

Думаю, будет полезно написать пост с перечислением полученных мной уроков. Надеюсь, он поможет другим инди-разработчикам в выборе поддерживаемых платформ. Небольшое предисловие: моя собственная игра Industry Idle в основном основана на веб-технологиях (WebGL + TypeScript). Это означает, что поддержка разных платформ — относительно простая задача, мне не приходится иметь дело с платформенными графическими API (DirectX, OpenGL, Vulkan, Metal) и в основном игра существует в браузерной «песочнице». Это практически идеальная ситуация для кросс-платформенной поддержки. Тем не менее, меня постоянно удивляют и одолевают проблемы, связанные с отдельными платформами.

Читать далее

LLaMA 2, RWKV, Santacoder и другие LLM на iOS

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

Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на iPhone 12 Pro с приемлемой скоростью. Под «приемлемой» скоростью я имею в виду такую, чтобы пользователь не успевал заскучать, читая предсказанный текст, пока генерируется новая часть. Что из этого получилось (и какие трудности были при реализации) читайте в статье.

Читать далее

Запуск потенциально опасного кода в изолированном окружении. Как мы сохраняем безопасность на macOS

Время на прочтение7 мин
Количество просмотров8.8K

Мы запустили облачный тест-раннер Emcee. Теперь другие компании могут тестировать приложения, не разворачивая у себя локальную версию раннера. Правда, запуск стороннего кода на наших серверах — это небезопасно. Но мы решили этот вопрос — рассказываем, как это было.

Читать далее

Большинство оконных приложений — это недоработанные real-time приложения

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

В оконных приложениях таких платформ, как Windows, Linux и macOS, скрывается ряд недоработок, которые порой снижают их быстродействие до раздражающе медленного. Сюда относятся нюансы работы в реальном времени, блокирование памяти при доступе к диску и недостаточно эффективное планирование для активного оконного приложения. В статье мы подробно разберём все эти проблемы.

Я программирую уже давно. Под давно я имею в виду не один десяток лет работы. Надеюсь, это достаточно долго. За это время мой опыт в основном заключался в программировании для современных платформ вроде Linux, Windows, macOS для десктопных и серверных архитектур процессоров. Недавно я участвовал в создании MIDI-движка для систем значительно меньшей мощности.

Вскоре после начала я столкнулся с проблемой, которая требовала обеспечить невозможность переполнения очереди событий ввода. По сути, эта задача сводится к тому, чтобы каждый обработчик событий не выполнялся дольше некой максимальной продолжительности времени. Затем меня осенило! Я уже слышал это раньше — «максимальная продолжительность времени», так как занимаюсь разработкой систем, работающих в реальном времени.
Читать дальше →

Полная неуязвимость? Как устроены защитные механизмы macOS (и при чем тут маркетинг)

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

Подход Apple к информационной безопасности приводит к тому, что некоторые пользователи Mac не обращают внимание на то, что происходит с их компьютерами. В этом посте я старался разобраться в основных механизмах защиты macOS от вредоносных программ и выделить их недостатки, но в результате выяснилось, что «проблема» — это сама репутация macOS.

Читать далее

Установка macOS при помощи Windows

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

Описываю свой рабочий опыт установки macOS на старенький macbook, так как другие способы описанные в интернете не дали результатов, либо привели к новым ошибкам.

Для начала скачиваем дистрибутив в формате *.dmg. Сделать это можно из App Store со второго macbook, либо с торрент (важно чтобы это была чистая копия из App Store).

Берем флешку на 8Гб и более, вставляем в компьютер с Windows, нажимаем Win+R, пишем cmd.

Запускается консоль и в ней уже пишем diskpart потом list disk, на экран выводиться список дисков windows, теперь важно не перепутать диски и выбрать именно диск с флешкой. Пишем select disk (номер флешки):

Читать далее

Osquery&SIEM. Вы правила мониторинга продаёте? Нет, просто показываем

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

Пока в сети появляется всё больше разговоров о запрете использования Apple-техники в определённых кругах, мы хотим показать, как у нас организован мониторинг macOS с точки зрения безопасности корпоративной инфраструктуры.

Статья является продолжением первой части из микросерии аналитических статей, посвящённых тому, как мы мониторим macOS в Ozon.

Тут будут боль мемы и немного примеров инцидентов :)

Читать далее

Как обеспечить безопасность корпоративных данных на macOS-устройствах?

Время на прочтение9 мин
Количество просмотров3.2K

Для контроля действий на рабочих станциях в Solar Dozor применяется отдельный модуль — Dozor Endpoint Agent (агент), с помощью которого можно своевременно отследить и при необходимости заблокировать передачу данных. Этот модуль адаптирован и может работать под управлением разных операционных систем - компания-разработчик "Ростелеком-Солар" предлагает версии для Windows, Linux и macOS. На нашем портале уже приводились обзоры модуля Dozor Endpoint Agent для Linux и Windows. В этой статье речь пойдет о модуле Dozor Endpoint Agent для macOS, который разрабатывается с 2021 г. Он стал флагманом движения российского рынка DLP-систем к полнофункциональному мониторингу рабочих мест на базе устройств Apple и по сей день занимает лидирующую позицию на рынке.  

Читать далее

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

Топ утилит для создания Forensic Triage: их особенности и возможности

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

Камиль Камалетдинов, младший эксперт по реагированию на инциденты Центра киберустойчивости Angara SOC, подготовил обзор полезных утилит для triage. В материале практические инструменты и небольшой опрос для вас в самом конце.

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

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

В результате быстрого развития технологий количество данных на наших устройствах растет, что подтверждается исследованием ученых из Астонского Университета, которые занимаются изучением проблемы оптимизации хранения данных в связи с их быстрыми темпами роста. Эта тенденция также оказывает влияние на сферу кибербезопасности, потому что количество и качество данных, собранных с конечных устройств, определяют масштаб и сложность нашей работы.

Именно для этого был разработан инструмент Forensic Triage Tool, потому что снимать полную копию устройства займет большое количество времени, а снятие triage занимает примерно от 5 до 30 минут в (зависимости от устройства и количества информации на нем) и содержит в себе достаточное количество данных для расследования инцидента.

Читать далее

«Бизнес-юнит — как семья». Незрячий сотрудник VK водит экскурсии по офису и развивает цифровую доступность

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

Привет! Я Артем Плаксин, незрячий специалист по цифровой доступности в VK. Я делаю наши сервисы удобными для людей с ограниченными возможностями здоровья и работаю над социальными проектами. Ещё я веду блог — как пользователь той самой доступной среды, айтишник и просто живой человек.

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

Читать далее

Насколько Swift удобен для DSL?

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

SE-0195 Dynamic Member Lookup
SE-0216 Dynamic callable
SE-0253 CallAsFunction
Исходя из мотивационной секции proposal, @dynamicCallable и @dynamicMemberLookupбыли добавлены для интеропа с динамическими языками, такими как Python, JavaScript. Но их использование этим не ограничивается.

Читать далее

Библиотека криптования ChaCha20

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

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

Читать далее

Osquery&Fleet. Применение в корпоративной сети на примере яблочных девайсов

Время на прочтение6 мин
Количество просмотров7.3K

Я расскажу о том, что мы с командой сделали для поднятия сервиса по сбору событий и низкоуровневой телеметрии на примере MacOS: как готовили архитектуру, с какими проблемами столкнулись и как их решали.  Подробнее остановлюсь на возможностях osquery&Fleet и на том, какие must-have-события рекомендую собирать.

Немного о себе: я работаю в группе инфраструктурной безопасности в команде Ozon около двух лет.  До этого я уже имела опыт работы с MacOS-устройствами, поэтому у меня есть представление о том, что это за «фрукт».

Читать далее

OptionSet в деталях

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

Элементарный тип OptionSet в Swift кроет в себе много интересного. Почему набор опций представлен массивом а не Set, как работает алгебра множеств и когда его можно применить в повседневных задачах

Читать далее

Обновление менеджера паролей Raccess

Время на прочтение4 мин
Количество просмотров826

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

Читать далее

Вклад авторов