I write mostly about security, mail, web and linux. My contacts are: mail://me@andreybondarenko.com and shaman007 all around Telegram, FB chat, WhatsApp.
DISCLAIMER: это я нашел статью, которую напислал 5 лет назад для Vas3k, с тех пор что0то поменялось.
Умерла моя ДИСКРЕТНАЯ звуковая карта, сегодня я ее починил и вьетнамские флешбеки догнали меня с вопросом: “почему я вообще заморачиваюсь на эту тему?” Ведь любому разумному человеку знакомы опыты с вешалкой и слепые тесты самых дешевых DAC’ов пятнадцатилетней давности против самых дорогих DAC’ов современности, а ESI Juli@ сейчас стоит… Да нихрена она не стоит.
Времена, когда компьютеры были большими, я не застал, потому что родители мне не разрешали. Мой первый компьютер я получил на первом курсе, в 1998 году. Это была система, собранная из почти, но не совсем, устаревшего железа (тогда негде было узнать про компонетны, кроме Фидо и магазинов, а в Фидо ты попадал уже с как-то купленным “собранным” компьютером, обычно выяснялось, что тебя наебали в магазине). Родители были против развлекательных функций, но Creative Sound Blaster AWE 64 “Овца” Value нашел-таки свой путь в недра моей пекарни.
Ретроспективно, Sound Blaster был де-факто стандартом звуковых карт для игр, потому что слушать музыку на компьютере никому в голову не приходило. Например, у нас дома для этого существовал (и существует как артефакт эпохи) Marantz 63 SE , который был конечно сильно качественнее уже тогда дешевого CD-привода (нет).
Чем были AWE 32 и 64? Во-первых, они были звуковыми картами на шине ISA 16, которую уже не встретишь в современных компьютерах. Во-вторых, цифры после названия не означали ничего, что бы относилось к качеству прослушиваемого вами материала или количеству каналов звука. Все они были стерео, все они не могли больше 16 бит дискретизации и 44100Гц частоты дискретизации. Цифры – это были аппаратные (вмешался маркетинг и стало не так) MIDI инстументы, которые карта могла прожевать: то есть, теоретически, AWE 32 могла одновременно сэмулировать 32 одновременно используемые клавиши пианино (тут нужно некоторое уточнение: клавиша фортепиано используется не когда нажата тоже, когда она все еще звучит например, при этом дудка всегда будет одноголосной сколько ни было бы дырок на вашем тромбоне).
AWE 64 в свою чередь могла изобразить две рояли на 32 клавиши одновременно: одно аппаратно, одно программно. Сегодня это вообще никому не интересно, но в 90х музыка в играх в основном была в виде MIDI-файлов (чиатай – ноты) + сэмплы, загружаемые в звуковую карту. Из интересного, AWE 32 позволяла использовать стандартные для того времени SIM’ы, а 64 требовала собственный блок расширения памяти, который стоил примерно в 10-100 раз дороже рынка.
Даже нашлись энтузиасты, выпустившие адаптер на SIM’ы, которыми двигало то, что этот блок памяти просто невозможно было купить ни за какие деньги!
Но я отвлекся: мечтал ли битард в 90е о Саунд Бластре?
Нет, не мечтал. Мечтать тогда надо было о Гусе, то есть Gravis Sultrasound. Gravis UltraSound PnP Pro можно было втретить в РФ, чип AMD, их MIDI-синтезатор AMD InterWave хорошо звучал в играх, но главное, что Гусь мог преобразовывать цифровой сигнал в аналоговый и не шипеть, как это делал Sound Blaster. Это было некоторое волшебство того времени: MIDI не шипели нигде, CD не шипели почти, но когда включаешь MP3 через твой любимый WinAMP, SNR давал о себе знать как сейчас не шумят копеечные звуковые карты USB-to-3.5mm.
Еще можно было мечтать о Turtle Beach Pinnacle, но о ней только легенды ходили.
Потом произошло сразу несколько событий с точки зрения технологии воспроизведения звука на компьютере. Во-первых, умерло MIDI в играх и многоголоисие звуковых карт стало ненужно: с одной стороны, полностью программный синтезатор не жрал ресурсов примерно никак и не упирался в размер сэмплов на карте, с другой стороны, уже небыло проблем положить все звуки в саму игру. Во-вторых, PCI (еще не PCI-e) звуковые карты получили качественные дешевые AC97-кодеки с программным микшером. Аналоговый микшер старых ISA-кард ничего не стоил для операционной системы, но он очень сильно шумел, потому что был дешевым для “домашнего применения”. В третьих, каналов стало сильно больше двух, MIDI умерло для этого сценария вообще совсем, кодеки на много каналов с адекватным динамическим диапазоном и АЧХ стали буквально укладываться в 1 доллар. Весь целиком аппаратный пост-процессинг на компьютере тоже не взлетел, потом у что он во-первых почти никому не нужен, во-вторых очень вычислительно дешев. Звуковые интерфейсы стали типичным commodity. Top-tier попытались сохранить свой added value, прифигачивая к картам бесполезные панельки на пятидюймовыйо отсек для флоппи-драйвов (помнитие такие?)
Почему же нужны дискретные звукокарты в том или ином виде в 2021м году? Во-первых, latency, когда у вас комьютер – это микшер для гитары и клавиш. Я не настоящий сварщик, но знакомые музыканты говорят, что им очень важно когда ты нажал на клавишу и когда ты услышал то, что получилось после всех фильтров и эффектов. Во-вторых, latency в играх, потому что для некоторых встраиваемых в матплату интерфейсов он говно. В моем случае, это Realtek HD для которого внезапный случайный лаг в пол секунды без причин – норма жизни. По всем параметрам он хороший, просто иногда звук пропадает, ничего страшного!
Я здесь пропускаю весьма быстрый расцвет и закат дешевых и качественных PCI AC97 Windows-only звукокарт: Yamaha разных наименований и цены отличающиеся только драйвером, Turtle Beach Vortex 2, Pinnacle уже отдельно от Turtle Beach…
Сейчас звуковые интерфейсы крайне высокого качества встраиваются практически во все устройства, где есть звук. Если у вас нет специальных задач, которые требут низкой задержки, вам подойдет вообще все что угодно, что есть на рынке. Все эффекты и процессинг ушли в софт, железки же почти все стали качественными.
My personal price to buck (для дома) в 2000м и сегодня
Problem: if you’re hosting your own Mastodon instance and subscribe to some feed with images, your instance footprint would grow like hell. You can purge ‘old media,’ but that’ll ruin your bookmarks. This snippet will get all your media from bookmarks.
Generate a list of S3 URLs for media attached to bookmarked statuses. Output: export/bookmarked_media_s3_urls.txt
# script/list_bookmarked_media_s3.rb
#
# Generate list of S3 URLs for media attached to bookmarked statuses.
# Output: export/bookmarked_media_s3_urls.txt
require "fileutils"
require "uri"
S3_HOST = "https://s3.andreybondarenko.com"
S3_BUCKET = "mastodon" # path-style bucket
EXPORT_DIR = Rails.root.join("export")
OUTPUT_PATH = EXPORT_DIR.join("bookmarked_media_s3_urls.txt")
FileUtils.mkdir_p(EXPORT_DIR)
puts "Writing S3 URL list to: #{OUTPUT_PATH}"
File.open(OUTPUT_PATH, "w") do |out|
Bookmark.includes(status: :media_attachments).find_each do |bookmark|
status = bookmark.status
next unless status
status.media_attachments.each do |media|
begin
uploader = media.file if media.respond_to?(:file)
next unless uploader
key = nil
# 1) Try file.path (often S3 key or local path)
if uploader.respond_to?(:path) && uploader.path.present?
path = uploader.path.to_s
# If this is a local path with /system/ in it, strip everything up to /system/
if path.include?("/system/")
key = path.split("/system/", 2).last
key = "system/#{key}"
else
# Otherwise assume it's already a key
key = path.sub(%r{^/}, "")
end
end
# 2) Fallback: parse from file.url if path wasn't usable
if key.nil? && uploader.respond_to?(:url) && uploader.url.present?
url = uploader.url.to_s
if url.start_with?("http")
uri = URI(url)
# If path starts with /mastodon/, strip that as bucket prefix
# /mastodon/system/... -> system/...
path = uri.path.sub(%r{^/}, "")
if path.start_with?("#{S3_BUCKET}/")
key = path.sub(%r{^#{Regexp.escape(S3_BUCKET)}/}, "")
else
# If it's already like system/..., accept as key
key = path
end
else
# relative url like /system/media_attachments/...
key = url.sub(%r{^/}, "")
end
end
unless key && !key.empty?
warn "Could not determine key for media #{media.id}, bookmark #{bookmark.id}"
next
end
full_url = "#{S3_HOST}/#{S3_BUCKET}/#{key}"
out.puts(full_url)
rescue => e
warn "Error for bookmark #{bookmark.id}, media #{media.id}: #{e.class} #{e.message}"
end
end
end
end
puts "Done."
Welp, if you’re using Sieve with the Dovecot (like you should), the client may behave strange, due to Sieve needs some dot-files and they naturally may come in your mailbox/maildir dir. Some clients are aware, some clients not, but the best way is to put dotfiles somewhere else. Like:
У меня есть мнение насчет последних событий с неким Павлом, которое я оставлю при себе.
Но вот эта уверенность людей в том, что “компании могут/будут/хотят заботиться о моей приватности”, особенно в контексте некоего Павла…
Смотрите, быстрый privacy-101:
– информация, которую вы не хотите раскрывать никому не должна попадать в места, в контроле которых вы не уверены. Идеально: ее не будет существовать. Понятный краевой пример из жизни: если вы сняли эротический контент со своим участием, то лучше всего будет сразу отправить его своим родственникам, начальству, друзьям и Римскому Папе. Если вы не готовы так делиться – не создавайте этот контент. Вот так просто! Аналог air gap.
– информация, которую вы хотите раскрыть, но не хотите иметь с ней связь в глазах тов. майора не должна касаться ничего с вами как-то связанного. Это не так уж и сложно на самом деле, но требует усилий.
– чтобы там не заявлял поставщик услуг, все ваши “приватные аккаунты”, “подзамки”, “только для друзей” доступны просто невероятному количеству людей. Часть из них продажны, часть из них дегенераты. Нет ни какого подзамка в приватном аккаунте, не было, не будет.
Разумеется, есть good enough случаи. Например, если вы не PEPs, не активист и т.п., то использование респектабельного менеджера паролей будет хорошей идеей, шифрование данный просто средствами ОС будет достаточно.
Разумеется, никто ради вас не будет палить уязвимость в AES.
Разумеется, если вас уже взяли в работу, то никакое шифрование вам не поможет. Есть вполне себе научная работа, показывающая, что реальная угроза лишения зрения и/или иссечения гениталий ломает 100% людей. Я эту работу читал, вы не хотите, просто на слово поверьте, что таки да.
Но, пожалуйста, используйте менеджеры паролей, шифрование файловой системы, не ставьте российское и китайское говно (Opera, все от Yandex или Mail.ru/VK)! Если у вас просто украли ноутбук и там все просто зашифровано средствами ОС, то вы 146% защищены, что ваши данные попадут в какие-то большие “сливы” и потом их как-то используют против вас.
Навеяно постом адвоката Сологуба, который я воспринял близко к сердцу: потеря архива документов для меня – страшный сон. А тут – чужие документы!
DISCLAIMER: Я не буду долго расписывать теорию и почти не коснусь события “ОБЫСК“. Я буду считать, что хранимое не приводит к гибели людей или серьезным потерям юрлиц. Будем считать, что у вас может произойти 3 события:
ОШИБКА
СБОЙ
КАТАСТРОФА
ВАМ ПОНАДОБИТСЯ 3 копии:
Оперативная копия (КОПИЯ! Не сами файлы!). Это копия документов в вашем же компьютере или ноутбуке. Она предназначена для события ОШИБКИ: вы серьезно испортили документ и поняли это через 2-3 часа (дня). Для этого в вашем ноутбуке на ОС Mac OS X работает Time Machine. Она версионирует буквально всё, не идеальна, но когда надо быстро поднять копию “за день до” – это она. В Линуксе у меня для этого есть cronjob, в виндоусе не знаю, но такой софт есть.
Спасательная копия на случай СБОЯ: у вас ноутбук сгорел и не восстанавливается. Для этого вам надо сходить в ближайший овощной магазин и купить там накопитель, даже плохой по цене огурцов. Лучше всего USB HDD, но пойдет даже SD-карта (просто поверьте, что это лучше, чем вообще ничего, хоть и полный пиздец, просто если кроите, купите их несколько). Положите его в шкаф или сервант, но не втыкайте в компьютер. На этот накопитель вы сбрасываете свои файлики все целиком, когда вспомните. Так у вас будет копия вашей деятельности свежести 1-3 месяцев. Плохо? Но гораздо лучше полной потери.
Иисусья копия на случай КАТАСТРОФЫ: раз в 3 месяца вы отдаете SD-карту (шутка, разумеется что-то лучшее) с вашими файликами бабушке, любимой соседке или лучшему другу. Они их хранят в серванте. Если у вас сгорит дом, то хотя бы проблемы полной потери своего архива у вас не будет. Это будет пиздец, это будет сложно, все будет плохо, но чуточку лучше. Вот у моего дяди сгорел дом в котором был подвал: если бы он там держал самый дешевый сейф из ОБИ с украшениями жены и документами на все, то дом бы все равно сгорел, но проблем было бы меньше!
Если можете, купите подписку Backblaze или CrashPlan. Правда. С установленным их софтом вы скорее всего как-то внятно восстановитесь.
БОНУС!
Но ведь воры! Но ведь ОБЫСК. Это проблема. Воры от обыска отличаются тем, что воры не будут угрожать вас кастрировать или выколоть глаза (я сейчас не приведу ссылку на исследования, но эти 2 угрозы после череды пыток работают всегда, просто понимайте, что пытки ломают всех и вас тоже сломают), а АКАБЫ могут. По этому ваши файлы всегда должны быть зашифрованы. В Mac OS этo Vault, в Windows это BitLocker и они достаточно хороши, просто не отмечайте опцию “хранить запасной ключ в облаке”.
Для события ОБЫСК существует отрицаемая криптография, но мы не будем ее касаться. Тем не менее не надо Акабам упрощать жизнь, до стадии вырывания ногтей за пароль доходят не все Акабы.
А как у меня?
во-первых, я не использую облака, кроме своего собственного и в нем организована первая копия
во-вторых, так как потеря или компрометация моих данных не приведет к проблемам третьих лиц, все копируется в Backblaze. По договору, они мои данные расшифровать не могут. Ради меня они не будут рисковать, даже если и могут, good enough. Это третья копия сама по себе (первой копии) и еще одна копия второй копии.
в третьих, на некоторые устройства происходят нерегулярные и неавтоматические копирования раз в 2-3 недели. Зато про них никто не знает. Это вторая копия.
Все носители зашифрованы. Backblase гарантирует, что они тоже зашифрованы. Даже если это не так, ради меня они не будут это светить.