Мнение автора может не совпадать с мнением его кошки.

Позднее Ctrl + ↑

Как жить без «Гугла»

Перевод материала из блога поисковой системы DuckDuckGo. В (скобках курсивом) — мои комментарии и пояснения. Я не по всем пунктам согласен с авторами той заметки, но в целом считаю её достаточно интересной и достойной перевода.

Удалить Google из вашей жизни? Да, это возможно!

Трекинг от Google есть в 75% сайтов из топ-миллиона сайтов в интернете. Это означает, что они отслеживают не только то, что вы ищете, но и то, какие сайты вы посещаете, и они используют эти данные для рекламы, окружающей вас в интернете. Ваши персональные данные так же могут попасть к юристам, и быть использованы в судах, например, при разводе. Google выдала данные по более чем 100 тысячам запросов только в 2016-м!

Все больше людей осознают риск зависимости от одной компании, от её большого количества сервисов. Если вы хотите присоединиться к людям, которые считают, что сбор данных Google стал слишком агрессивным, здесь вы найдёте советы, как заменить сервисы этой компании с минимальными потерями. Большая часть замен бесплатна, однако даже те, что просят денег, стоят того, ибо цена не перехода к этим сервисам — цена вашей приватности. Хорошие новости — у нас есть выбор!

Google Поиск → DuckDuckGo (бесплатно)

Давайте начнём с простейшего! Переход на DuckDuckGo не только делает ваш поиск приватным, но и даёт вам новые возможности, такие как «восклицательные знаки», полезные Мгновенные Ответы, и знание, что вы не пойманы в «ловушку фильтров» (понятие, когда для разных людей результаты поиска разнятся; на маркетинговом сленге это называется «персонализация результатов поиска»).

Gmail, Календарь и Контакты → FastMail (платно)

Мы хостим адреса @duckduckgo.com на FastMail, независимом платном сервисе, так же включающем в себя календарь и контакты с поддержкой на всех устройствах. Кроме того, существуют различные пути шифрования почты с помощью интеграции PGP-утилит. Ещё более приватные сервисы — ProtonMail и Tutanota, оба предоставляющие шифрование end-to-end по умолчанию.

(Мне кажется, что человек, заинтересовавшийся privacy электронной почты, мог бы и свой личный почтовый сервер поднять и оплатить. В крайнем случае — найти доверенного администратора для этих целей. Я не могу сказать инчего плохого о FastMail и подобных сервисах, но кто гарантирует, что однажды они не закроются, забрав вашу почту с собой? Один Lavabit уже был.)

YouTube → Vimeo (бесплатно с платными услугами)

Для видео, которые есть лишь на YouTube (к сожалению, таких полно) вы можете воспользоваться поиском DuckDuckGo и смотреть их через «youtube-nocookies»-домен. Если вы создаёте контент — Vimeo самая популярная альтернатива, сфокусированная на создателях контента.

(А как подписываться на каналы YouTube? RSS, насколько я помню, они не предоставляют. Мне кажется, данный пункт самый сложный в отвязке от Google: YouTube пользуются вообще все, даже те, кто не пользуется другими сервисами корпорации.)

Google Карты → Apple Maps, OpenStreetMap (оба бесплатны)

Для тех, кто пользуется iOS, Apple предоставляет альтернативу в виде Apple Maps, встроенную в систему. Для других устройств посмотрите в сторону OpenStreetMap (OSM), кои более открыты — однако могут быть не так просты в использовании, или не так точны, как Apple Maps.

(Мы в России и прочем ex-USSR поржали: в нашем регионе Apple Maps работают так, что лучше бы они не запускались вовсе. Так что у нас без вариантов — OSM так OSM. Для городов можно также использовать 2ГИС, правда, я не нашёл их ToS.)

Google Диск → Resilio Sync (бесплатно с платными опциями)

Ещё один сервис, который мы используем внутри, Resillo Sync, предлагает peer-to-peer синхронизацию файлов, которую можно использовать для хранения файлов, архивации и расшаривания. Это же означает, что ваши файлы не будут храниться на одном сервере в «облаке»! ПО этого сервиса доступно для многих платформ и устройств, включая сервера.

(OwnCloud/NextCloud/Seafile подошли бы на роль замены Google Диска получше, ну да ладно.)

Android → iOS (платно)

(Ну да, платно, до 1400$ за девайс в России…)

Самая популярная альтернатива Android — конечно же iOS, которая предлагает простое шифрование устройства и шифрованные сообщения через iMessage по умолчанию. У нас есть советы по улучшению приватности iPhone и iPad.

(iOS? Смеётесь? По мне, лучшим выходом в таком варианте была бы покупка устройства без Google-сервисов — например, любого с доступной стабильной Lineage OS. Что у Apple с приватностью, учитывая, что они ударились в Machine Learning и прочую хрень, опреденно нуждающуюся в большом количестве пользовательских данных — покажет время.)

Google Chrome → Safari, Firefox, Brave (всё — бесплатно)

Safari был первым популярным браузером, который включил DuckDuckGo в число доступных по умолчанию поисковых систем в омнибоксе. Более кроссплатформенный вариант — Mozilla Firefox, браузер с открытыми исходниками с встроенным блокировщиком трекеров в приватном режиме (а ещё там встроена функция, сливающая посещаемые URL аффилированный с Mozilla компанией, но мы об этом умолчим, верно?) Brave идёт ещё дальше и включает блокировку трекеров по умолчанию. Кроме того, существует ещё много браузеров с встроенным поисковиком DuckDuckGo.

(Я беру свои персональные данные и медленно отношу их из Google в Apple…)

Blogger → Ghost (платно), WordPress (бесплатно с платными опциями)

Ghost — это и платный хостинг блогов, и устанавливаемый на личный сервер движок, свободный от трекеров по умолчанию и разрабатываемый некоммерческой организацией. Мы так его любим, что используем для своего блога! Бесплатная альтернатива — WordPress, обслуживающий примерно 25% от всех сайтов в интернете. Он тоже доступен как сервис и самостоятельно устанавливаемый движок, без трекеров от третьих лиц по умолчанию. Сообщество WordPress велико, документация переведена на многие языки, а тем — великое множество, есть из чего выбрать.

Hangouts → Zoom (бесплатно с платными опциями), appear.in (бесплатно с платными опциями)

Zoom — отличная альтернатива Хэнгаутсу, которую мы используем в команде, и которая хорошо работает даже с большим количеством участников, однако, она требует специального ПО для установки. Альтернатива в вебе — сервис appear.in, не требущая регистрации: просто откройте сайт, чтобы создать чат-комнату, и всё.

Google Allo → Signal (бесплатно)

Существует множество сервисов, предоставляющих безопасный обмен мгновенными сообщениями, но мы рекомендуем Signal. Он предоставляет бесплатное, end-to-end шифрование для сообщений и звонков. Кроме того, его рекомендуют Эдвард Сноуден и прославленный эксперт по безопасности Брюс Шнейер, и многие другие.

(А ещё Open Whisper Systems финансируется Наблюдательным комитетом, напрямую связанным с правительством США: в интервью Павла Дурова изданию The Baffler это хорошо разобрано. Подробности на русском здесь — требуется VPN для доступа. Так что я вместо Signal рекомендую, как минимум, Telegram, а как максимум — свой XMPP-сервер для единомышленников.)

Как видите, уход от сервисов Google не обязательно должен быть тяжёлым. Возможно, альтернативные решения вам понравятся больше — а вместе с ними вы получите и улучшенную конфиденциальность!

Dynamic DNS у Hurricane Electric

Небольшая заметка на тему того, как настраивать Dynamic DNS у Hurrican Electric. Постоянно забываю, а у них на сайте это посмотреть неочевидно (надо разлогиниться, чтобы увидеть инструкцию). Прелесть HE заключается в том, что они предоставляют сервис динамического DNS бесплатно — я им пользуюсь вот уже 4 года для различных целей, и он меня не подводил.

Для начала, конечно, нужно делегировать домен или поддомен на NS-сервера HE — ns1.he.net, ns2.he.net (есть ещё ns3, ns4 и ns5). Делегация занимает плюс-минус 72 часа, и после неё можно приступать к настройке.

Последовательность действий такая:

  1. Входим в панель редактирования домена (карандашик у свежедобавленного домена в списке)
Список доменов
  1. Добавляем новую A-запись, которую хотим сделать динамической, нажатием кнопки «New A». Нас встретит диалоговое окно, в котором нужно ввести имя поддомена и нажать галочку «Enable entry for dynamic dns». По нажатию этой галочки подставляется автоматически текущий IP адрес, с которого производится работа с веб-интерфейсом. После этого нажимаем «Submit»
IP-адрес тут указан неправильный (ага, стану я вам палить свой домашний айпишник…)
  1. В списке DNS-записей теперь существует наша новая запись с динамическим IP. Строка с ней окрашена в бирюзовый цвет. У неё есть кнопка обновления — она нам понадобится для генерации ключа, с помощью которого мы будем автоматически обновлять запись.
Возможно, это не бирюзовый цвет, но мне он кажется таковым
  1. В появившемся окне нужно нажать на кнопку «Generate a key». Ключ можно ввести самостоятельно, или сгенерировать внешними приложениями — я рекомендую или пользоваться встроенным генератором HE, или сгенерировать ключ в 1Password. Ключ следует воспринимать, как пароль, причём очень важный — знающий его человек может перенаправить ваш поддомен на любой IP-адрес!
Окно создания ключа для DDNS-записи
  1. Ключ записан (и спрятан), теперь можно настраивать «клиент» динамического обновления. «Клиент» в кавычках — потому что никакого специального ПО устанавливать не нужно, данный DDNS обновляется с помощью curl. Кроме того, HE говорит, что их система совместима с ddclient или другим ПО, совместимым с DynDns, но я это не проверял.
  2. Схема URL для обновления IP такая:
http://[доменное имя]:[сгенерированный ключ]@dyn.dns.he.net/nic/update?hostname=[доменное имя]
  1. Запрос curl на сформированный таким образом адрес даст один из ответов
    • badauth — ошибка авторизации (неправильное имя или пароль)
    • nochg  — для данной записи IP-адрес не изменился
    • good <новый IP-адрес> — IP-адрес обновлён
  2. Запросы к HE разрешены не чаще, чем раз в час. Это не техническое, а правовое ограничение: за спам их системы раз в 5-10 минут аккаунт могут заблокировать.

После получения и проверки возможности обновления IP-адреса можно настроить ddclient, в кронтаб положить обновление раз в час или каким-либо образом триггерить обновление при начале соединения с интернетом (во многих роутерах поддержка динамического DNS есть). Я обновление настроил на роутере, вы же в данном вопросе вольны решать сами, каким образом и как часто обновляться.

Thinkpad X220 — макбук для бедных

UPD 11.08.2018: данный ноутбук, проработав у меня полгода, погиб смертью храбрых от перегрева. Рекомендую чистить его и менять термопасту до того, как у вас сгорит видеочип.

Макоёбство неистребимо. Серьёзно, я пытался перейти на Linux (а конкретно — на сетап Arch + ZFS), но в конечном итоге я плюнул на весь этот глючный, стрёмный и морально устаревший софт с родовыми болячками 2000-х (а то и 90-х) годов. В итоге я вернулся на macOS.

Проблема в том, что мой макбук пал в неравном бою с моей жизнедеятельностью, и я его продал в состоянии «ну, на запчасти наверн» (в итоге новый владелец его зачинил за 32 килорубля). В качестве новой железки я себе сознательно взял macOS-совместимый Thinkpad X220 (он обошёлся мне на десятку дешевле того ремонта). Я не предполагал ставить на нём macOS, но — поставил. И он работает идеально.

Существует очень подробный гайд на английском языке, который описывает пошаговую установку macOS 10.11.x на этот ноутбук. Гайд практически идеален, и его может пройти любой человек — установка не сильно сложнее таковой у Windows 10. А ещё автор того гайда охотно общается с пользователями по электронной почте и даёт советы, если что-то пошло не так. Самым сложным этапом, пожалуй, является создание загрузочной флешки с macOS, ибо в этом этапе нужно обладать сноровкой барона Мюнхгаузена, тащившего себя из болота за шнурки (то есть — нужна macOS где-то ещё). После создания таковой флешки проблем не остаётся: хочешь — устанавливай с нуля, хочешь — раскатывайся из бекапа тайммашины и докидывай в него драйвера после установки.

Хакинтош на этом ноутбуке у меня уже почти два месяца. Для системы он представляется MacBook-ом Pro 2011-го года, и в общем ему соответствует. Есть, конечно, нюансы: картридер, встроенный в ноутбук, не работает, а для Wi-Fi нужно с алиэкспресса заказывать сетевую карточку за тысячу рублей. Однако, в целом, своих денег эта «замена Макбука» стоит, и вполне подходит в качестве рабочей машины _за недорого_. При этом в некоторых вопросах этот ноутбук уделывает стоящие в 4-5 раз дороже него свежие макбуки 2017-го года: к примеру, в него можно установить два накопителя (mSATA и 2.5» SSD). Нет, я не призываю всё бросить и ломиться за Thinkpad x220, но если нет возможности купить актуальный макбук, а macOS хочется — это вполне годный вариант.

«О системе»

TFTP в macOS

В macOS встроен сервер TFTP — протокола, по которому получают по сети файлы перепрошивки многие устройства (например, мой Keenetic Giga III). Данный сервер почти не требует настройки, но есть некоторые тонкости, о которых следует знать.

Начиная с macOS Sierra, TFTP-сервер не запускается с plist-файлом сервиса по умолчанию. На форуме поддержки Apple я нашёл такое решение: в файл /System/Library/LaunchDaemon/tftpd.plist необходимо в секцию Listeners добавить пару ключей, дабы TFTP-сервер не пытался подняться на IPv6-интерфейсе. Итоговый файл выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>com.apple.tftpd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/libexec/tftpd</string>
        <string>-i</string>
        <string>/private/tftpboot</string>
    </array>
    <key>inetdCompatibility</key>
    <dict>
        <key>Wait</key>
        <true/>
    </dict>
    <key>InitGroups</key>
    <true/>
    <key>Sockets</key>
    <dict>
        <key>Listeners</key>
        <dict>
            <key>SockFamily</key> # <-- добавить это -->
            <string>IPv4</string> # <-- и вот это -->
            <key>SockServiceName</key>
            <string>tftp</string>
            <key>SockType</key>
            <string>dgram</string>
        </dict>
    </dict>
</dict>
</plist>

Дальше можно запустить TFTP-сервер командами

$ sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
$ sudo launchctl start com.apple.tftpd

Кроме того, есть GUI-утилита для запуска и отслеживания TFTP-сервера — TftpServer. Она позволяет перезапускать TFTP-сервер, видеть, что у него в корне за файлы расположены, и смотреть журнал сервера.

Про софт по подписке

Намедни в Slack-чате #apple-russian завязалась дискуссия на тему того, что лучше — софт по подписке или же софт, покупаемый один раз. Некоторые мысли по этому поводу я решил озвучить здесь.

SaaS (софт как сервис) — явление, на самом деле, не новое. Red Hat продаёт свой Enterprise Linux по этой модели второй десяток лет и горя не знает. У этой модели есть как преимущества, так и недостатки. Преимущества, с моей точки зрения, таковы:

  • Софт обновляется постоянно, не требуя отдельную плату за новую версию.
  • Каждый месяц ты платишь некоторую фиксированную сумму за программы, которые тебе действительно нужны в данный момент времени. Нет такого «купил софтину за сто баксов, попользовался две недели, теперь она пылится в углу неиспользуемая». Перестал юзать программу — отменил подписку.
  • Есть некоторая бОльшая доля уверенности в том, что поддержку программы не забросят. Программист, как известно, сволочь прожорливая, и жрать хочет всегда, а не только в тот день, когда ты купил его приложение. С подпиской программист будет жрать понемногу, но каждый месяц :D

Недостатки у подписочной модели тоже есть:

  • Меньший контроль над расходами. «А, сделаю подписку там, она всего два бакса» — а потом за месяц таких подписок набегает на пару сотен баксов. Всегда стоит проверять, на что ты подписан сейчас из программ и сервисов, и если ты не пользуешься чем-то из списка — отменять подписку.
  • Купив приложение один раз, ты его можешь впоследствии использовать даже в случае, если разработчик приложения обанкротился/закрылся/продался кому-то.

Существует на macOS/iOS такая специфическая модель продажи софта, как «каждая новая мажорная версия платная» (привет, Tweetbot!). Ты вроде бы купил программу один раз, но через год-два выходит обновление с новыми функциями/редизайном, а старую версию программы перестают поддерживать. Пользоваться можно, но с течением времени программа неизбежно «ломается» (привет, Parallels Desktop 10, купленный «один раз», и не умевший в Yosemite после её релиза). Для такого софта было бы гораздо честнее, если бы он начал продаваться по подписке (Parallels так и сделали в итоге, ждём Твитбот за $1 в месяц).

Отдельно надо упомянуть сервис под названием SetApp. Киевляне из MacPaw дошли до идеи, что можно сделать App Store с подпиской — аналог Music, только для софта. Честно говоря, когда я первый раз запустил этот сервис, в его каталоге мне почти ничего не приглянулось. Прошло пару месяцев — и оттуда у меня теперь восемь приложений, которые я бы не стал покупать — но которые я могу использовать благодаря подписке на SetApp. Понадобился мне FTP-клиент — опа, а оттуда можно установить ForkLift, понадобился конвертер видео — и такое там есть. В целом, за 11$ (десять баксов плюс налоги) — отличный сервис. Я не думаю, что конкретно этот сервис проживёт долго — если эта модель действительно прибыльна, рано или поздно Apple сделает у себя так же в App Store, и тогда надобность в стороннем сервисе отпадёт.

Кроме SetApp, я подписан на Office 365, 1Password, Дзен-мани (правда, там у меня пожизненый премиум, что скорее похоже на one-time purchase), EA Origin Access. Я не упоминаю всякие Evernote и Todoist (говнище лютое), в которых подписка идёт больше на их сервис, чем на софт. В целом, если бы на большую часть платного софта можно было бы подписаться, я бы пользовался платными программами с большей охотой.

А что предпочитаете вы: софт по подписке, платить за программу один раз, или же ебсовокупляться с опенсорсными аналогами?

2017   macOS   Оффтоп

Не закрывайте приложения в iOS

Концепт многозадачности в iOS несколько отличается от Android, и это периодически весьма сложно осознать. В блоге Daring Fireball была опубликована заметка о том, почему не стоит закрывать приложения в iOS. Мне самому до недавнего времени казалось нормальным закрыть приложение на iPhone, когда я закончил с ним работу, однако — это неправильно с точки зрения энергосбережения. Под чертой — мой перевод той заметки.


Самое большое заблуждение относительно iOS: «закрывать приложения, которые ты не используешь — хорошо». Считается, что приложения, оставленные в фоне, продолжают занимать место в оперативной памяти, отъедают циклы работы процессора, что выливается в ухудшение производительности и времени автономной работы устройства.

iOS работает не так. Многозадачность в iOS реализована так, что ни одно из вышеуказанных утверждений, «оправдывающих» закрытие приложений, ен является правдивым. Приложения в фоне эффективно «замораживаются», будучи сильно ограничены в том, что они могут делать в фоне, кроме того, они высвобождают оперативную память, которую использовали до этого. В этом плане iOS действительно весьма хороша. Она настолько хороша, что «разморозка» приложения из фона занимает гораздо меньше процессорного времени (и энергии), чем запуск приложения, которые вы закрыли, «с нуля». Закрытие приложений не помогает сохранить ресурсы, а действует с точностью до наоборот. Срок работы от батареи становится меньше, и требуется гораздо больше времени на переключение приложений, если вы их закрываете.

Крейг Фредериги ответил на e-mail одного из пользователей, интересующегося тем, закрывает ли он приложения, и даёт ли закрытие приложений прирост к автономности, кратким и простым ответом: «Нет, и нет».

В официальной документации Apple, посвящённой закрытию приложений, есть совет о том, когда стоит закрывать приложение, который даёт производитель:

Когда вы дважды нажимаете кнопку «Домой», вам показываются запущенные недавно приложения. Эти приложения не открыты, но они находятся в режиме ожидания, помогая вам перемещаться по ним и выполнять несколько действий одновременно. Вы должны закрыть приложение только в том случае, если оно не отвечает (зависло).

MacDailyNews цитировал письмо Стива Джобса, отправленное им в 2010-м году:

Просто используйте [мультизадачность iOS] так, как она была задумана, и вы будете довольны. Здесь нет никакой необходимости в закрытии приложений.

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

Миф о закрытии приложений столь пагубен, что я (автор Daring Fireball — прим.) слышал множество историй от своих читателей о сотрудниках Apple Store, которые рекомендовали закрывать приложения пользователям. Эти «гении» — кто угодно, но не гении.

Мне кажется, что одним из лучших доказательств вредности закрытия приложений (в плане производительности) являются замеры производительности устройств на YouTube. Существует целый жанр видео на YouTube, посвящённый замеру производительности новых телефонов, заключающемуся в запуске на них серии приложений и «тяжёлых» для процессора задач циклически, с двойным проходом по кругу. В первом круге приложения запускаются из незапущенного положения, а во втором — вызываются из многозадачности. Заметьте — на обоих устройствах приложения не закрывают. iPhone легко выигрывает первый круг, но вот уж где действительно айфон «тащит», так это на втором круге. S8 приходится перезапускать многие (если не все) приложения, потому что Android закрыл их принудительно, дабы высвободить память, которую они использовали. На iPhone все (ну, или почти все) приложения «ожили» практически моментально.

Пример такого видео, в котором сравнивают Samsung Galaxy S8 и iPhone 7 Plus

На самом деле, «замороженные» в фоне приложения в iOS восстанавливают работу так быстро, что я думаю, это помогает выжить мифу о закрытии приложений. Если вы беспокоитесь, что приложения в фоне «сжирают» вашу батарейку, и вы видите, как быстро они «размораживаются» из фона, вполне логично предположить, что они и не прекращали работу в фоне. Но они прекращали. Они действительно были «заморожены», они действительно освободили память, и они действительно вернулись к работе моментально.

Другой фактор, который подталкивает к решению «закрывать приложения это хорошо» — это некоторые приложения, которые нарушают концепт многозадачности iOS, находя возможности избежать «заморозки», и действительно продолжают работать в фоне. Самое позорное, что за таким поведением было замечено приложение Facebook, игравшее музыкальные треки, состоящие из тишины, в фоне, чтобы использовать API для аудиоплееров, позволяющее им играть музыку в фоне. Они сказали, что это «баг», и в данном случае закрытие приложения действительно поможет увеличить время автономной работы устройства (а ещё больше поможет удаление Facebook в принципе — прим.), и я не вижу причин доверять Facebook. Так что, если вы хотите закрыть приложение Facebook — пожалуйста. Но не позволяйте одному приложению испортить всю концепцию. В «Настройках» iOS в разделе «Аккумулятор» можно просмотреть, какие приложения продолжают работать в фоновом режиме — нажмите иконку часов под надписью «Использование аккумулятора», и не закрывайте приложения, которые не мошенничают с фоновым режимом.

Этот пагубный миф появился весьма давно, и вряд ли исчезнет. Я писал об этом в 2012-м:

Как и с любым вуду, здесь есть истово верующие. Я абсолютно уверен, что получу тонну писем от людей, искренне считающих, что если очищать список приложений на своём iPhone каждый час, или около того, телефон будет работать лучше. Ерунда.
Как упоминал Фрейзер, действительно существуют ситуации, когда приложение в фоне зависло, и его следует закрыть. Позиция здесь не в том, что вы не должны никогда закрывать приложения, а в том, что вы не должны делать это регулярно, и вы не сделаете ничего хорошего, очистив список приложений. Позор тем «гениям», что предлагают такое решение.

И это я ещё не говорю о людях, которые выключают свои iPhone, когда кладут их обратно в кошелёк или карман!

2017   iOS   Переводы

Как добавлять ESX-инструменты в Лоджик

Периодически мне приходится добавлять разные скачанные из интернета сэмплы в свою установку Logic Pro X. Поэтому я пишу вот эту шпаргалку, чтобы каждый раз не искать, как это делать. Возможно, кому-то ещё эта шпаргалка понадобится.

Из чего состоит ESX-инструмент:

  1. Сам .esx-файл, который содержит инструкцию для Logic Pro, как использовать этот инструмент;
  2. Файлы сэмплов. Обычно кучка wav-файлов или что-то в этом духе.

Итак, установка:

  • Идём в /Library/Application Support/Logic — проще всего это сделать из терминала командой
open /Library/Application\ Support/Logic
  • Копируем файл с расширением .esx в подпапку Sampler Instruments
  • Копируем папку со звуками в подпапку ESX Factory Samples
  • Запускаем Logic Pro X.
  • Создаём новый проект, в нём выбираем какой-нибудь ESX24-инструмент (например, Boesendorfer Grand Piano)
  • Заходим в настройки ESX24, и там выбираем наш свежезагруженный инструмент.
  • Играем звуками нового инструмента. Всё!

Netatalk 3 для Ubuntu 16.04 LTS

TL;DR: Для тех, кто создаёт свой домашний сервер на Ubuntu 16.04, и хочет на нём держать тайм-машину, я собрал пакет Netatalk третьей версии, которого для этой версии бубунты ещё просто никто до меня не собирал. Если желаете использовать — вот ссылка на PPA.

Установка:

# add-apt-repository ppa:causelove/crappysoftware
# apt-get update
# apt-get install netatalk

Почему бы просто не использовать версию из реп Ubuntu?— Потому что там версия 2.х, которая устарела и вообще говно мамонта пятилетней давности. Почему убунтоидыдебианщики не соберут уже третью версию, наконец — тайна сия великая есть.

Как собрать netatalk самому, если вы параноик, читаем вот здесь.

Как собрать Netatalk 3 для Ubuntu

Если вы вдруг не доверяете моему PPA для Netatalk, этот гайд для вас, мои дорогие параноики ;-)

Для начала идём на актуальную страницу вики проекта Netatalk, в котором указан порядок сборки программы, без сборки пакета. На момент написания поста актуальная версия этой инструкции — здесь.

На момент написания этого поста актуальный список зависимостей сборки устанавливался таким образом:

# apt-get install build-essential libevent-dev libssl-dev libgcrypt-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

За описанием, что зачем надо — ссылка на вики выше. Она на английском, но там всё предельно просто.

Дальше устанавливаем devscripts — коллекцию утилит для правильной сборки пакета Debian, а так же некоторые служебные пакеты для сборки:

# apt-get install devscripts
# apt-get install cdbs debhelper dh-buildinfo d-shlibs

Создаём у себя где-нибудь директорию для всего этого хлама, который нам предстоит собрать. В эту директорию кладём тарболл с исходниками Netatalk (брать на официальном ресурсе проекта), и debian sources для пакета (брать, например у меня в PPA). Распаковываем архив исходников:

$ tar jxfv netatalk-3.1.8.tar.bz2

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

$ dch -v 3.1.10 -D xenial

Проверяем необходимость накладывания патчей (актуален на данный момент лишь патч 114_fix_macusers_ps_parsing.patch):

$ vim debian/patches/series

Правим зависимости — они должны совпадать с теми, что есть в вики Netatalk:

$ vim debian/control

Правим сборочный скрипт для пакета — нам нужны опции configure, как в вики!

$ vim debian/rules

Теперь можно собирать сам пакет. Команда debuild — один из вариантов запуска сборки пакета. Другие варианты можно посмотреть, например, здесь.

$ debuild

Если сборка прошла нормально, то вы должны получить кучу файлов, среди которых будет собранный пакет для вашей системы. Если вы хотите поделиться пакетом со всеми, используйте debuild -S для сборки файла исходников, и dput для загрузки файла на сервера Launchpad-а.

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

Данный мануал и собранный пакет основаны на работе Jay R. Wen, за что ему большое спасибо.

Firefox для настоящего параноика

Сегодня вышел в свет Firefox 29, чему посвящён топик на ЛОРе. В этом топике один анонимус выложил список опций в about:config, влияющих на приватность. Весьма интересный и полезный, как мне кажется (особенно в нынешних российских условиях), список размещён под чертой.


media.peerconnection.enabled = false

— запрещает поддержку протокола WebRTC, текущая реализация которого позволяет незаметно для пользователя получить список IP-адресов в его локальной сети (с помощью JavaScript), что повышает уникальность пользователя. Пруф.

browser.safebrowsing.enabled = false
browser.safebrowsing.malware.enabled = false

— отключает передачу информации о посещаемых веб-сайтах Гуглу, база которого используется для предупреждений о мошеннических сайтах (какая ирония — называть опцию, сливающую данные «налево» — safe browsing…).

browser.search.suggest.enabled = false

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

dom.enable_performance = false

— отключает передачу браузером информации о времени начала и окончания загрузки страницы. Анализ этих данных позволяет определить факт использования прокси-сервера.

network.dns.disablePrefetch = true

— запрещает предварительное разрешение имён DNS для всех ссылок на веб-странице (пока пользователь сам не нажмёт на ссылку). Это может привести к утечке DNS-трафика при работе через анонимизирующий прокси-сервер.

network.proxy.socks_remote_dns = true

— отправлять DNS-запросы через прокси при использовании прокси. Иначе они пойдут напрямую и могут привести к раскрытию реального IP-адреса.

network.seer.enabled = false

— отключить Seer. Seer — механизм, включенный в Firefox 29, который отслеживает сайты, посещаемые пользователем. Например, при заходе на http://example.com/index.html браузер запоминает, что веб-страница запросила загрузку http://images.example.com/image.jpg, http://styles.example.com/style.css и http://scripts.example.com/jquery.js. При следующем посещении этого сайта браузер сразу откроет соединение с images.example.com, styles.example.com, и scripts.example.com, что позволит сократить время загрузки страницы. Важно заметить, что Seer не занимается предзагрузкой контента (предварительная загрузка управляется другой настройкой — network.prefetch-next, которую можно отключить с целью повышения уровня приватности), а лишь устанавливает соединение (включая предварительно разрешение имён через DNS и SSL-handshake). Кроме того, отслеживание не производится для https-соединений и в режиме приватности. Активность Seer и размер списка посещённых страниц можно регулировать с помощью настроек network.seer.enabled и network.seer.max-db-size (по умолчанию, размер файла seer.sqlite может достигать 150 мегабайт). Теоретически, владелец сайта может отслеживать время загрузки страниц браузером пользователя и использовать эту информацию, как дополнительный источник данных для составления более четкого «отпечатка браузера».

network.security.ports.banned = 4444,9050,9051

— запрещает сайтам установку соединений на критически важные порты, занятые I2P и Tor. Людям, которые данными сетями не пользуются, ставить данную опцию необязательно.

dom.battery.enabled = false

— запрещает отслеживать состояние батареи (уровень паранойи: расширенный).

dom.network.enabled = false

— запрещает определять параметры соединения с сетью (при этом передаётся тип соединения: LAN, Wifi, 3G и так далее).

network.proxy.no_proxies_on = (пустое значение)

— запрещает сайтам обращение к локальной машине, что позволило бы им анализировать список открытых портов. Подсмотрено у разработчиков Tor. Возможны проблемы при обращении на адреса типа ​http://127.0.0.1:631, используемые для конфигурации принтеров через CUPS и прочих устройств.

webgl.disable-extensions = true webgl.min_capability_mode = true

— тоже подсмотрено у Tor. Запрещает передачу сайтам подробной информации о графических возможностях системы.

browser.cache.disk.capacity = 0
browser.cache.disk.enable = false
browser.cache.disk.smart_size.enabled = false
browser.cache.disk_cache_ssl = false
browser.cache.memory.enable = false
browser.cache.offline.capacity = 0
browser.cache.offline.enable = false
dom.indexedDB.enabled = false
media.cache_size = 0
network.http.use-cache = false

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

dom.storage.enabled = false

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

general.appname.override = Netscape
general.appversion.override = 5.0 (Windows)
general.oscpu.override = Windows NT 6.1
general.platform.override = Win32
general.useragent.override = Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0
general.productSub.override = 20100101
general.buildID.override = 20100101
browser.startup.homepage_override.buildID = 20100101
```

— маскировка браузера под версию 24 LTS и самую распространённую платформу. Не забываем обновлять по мере выхода очередных LTS (и очередных виндов) (уровень параноий: расширенный).

app.update.auto = false
app.update.enabled = false
app.update.mode = 0
app.update.service.enabled = false

— отключает автообновление браузера (по большей части актуально для Windows и OS X).

browser.search.update = false

— отключает автообновление поисковых плагинов.

datareporting.healthreport.service.enabled = false
datareporting.healthreport.uploadEnabled = false
datareporting.policy.dataSubmissionEnabled = false

— не отправлять данные о производительности в Mozilla.

Дополнительные рекомендации анонимуса:

Для борьбы со скриптами и куками рекламных сетей рекомендуются подписки адблока (Enhanced Trackers List), Social List), расширение NoScript (режет все скрипты, пользователь может разрешать скрипты доверенным сайтам, например, разрешить скрипты, лежащие лишь на linux.org.ru, а гуглоаналитику на том же лоре — нет), расширение Cookie Monster (точно также режет все куки, кроме явно одобренных пользователем). К использованию рекомендуется и HTTPS Everywhere от Фонда электронных рубежей, форсирующее использование HTTPS на большом количестве сайтов (только придется рукаи отключить правило для Google services, поскольку оно ломает ютуб после того, как ютуб поменял дизайн).

Возможно, для кого-то эта информация будет полезной. Если у вас есть какие-то свои размышления на тему параноидального использования современной техники в эпоху АНБ — милости прошу в комментарии.

Ранее Ctrl + ↓