Pull to refresh
85
1.2
Влад @lorc

Embedded разработчик

Send message

И давно у С++ появилось стабильное ABI? Где бы об этом почитать?

Мне вот сильно интересно как поймать в Java исключение выброшенное из С++ либы.

Ну да, просто джаваскрипт от очередной веб-статискики/банера/etc сдампит ваши куки/вводимые пароли/номера карточек. Ничего страшного.

Потому что у математиков может подгореть от такого. "Сумма двух периодических сигналов - это всегда периодический сигнал" - правда.

А вот банально sin(x) + sin(x) = 2sin(x)

2sin(x) - это уже не синусоида. Это уже удвоенная синусоида. А если попробовать построить график чего-то более сложного то синусоиды вы там вообще не увидите:

https://www.desmos.com/calculator/2n72guvuk9

Сильно это похоже на синусоиду?

Проблема в том, что вы не понимаете как оно работает. Но почему-то высказываете какие-то дикие теории.

Я написал "в первую очередь" потому что есть вы вдруг решите заменить USB3.0 кабель с помощью сетевой витой пары (где тоже как-бы есть 4 дифференциальные пары) то у вас скорее всего он не заработает.

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

Окей, чем по вашему "качественный" USB кабель от "некачественного"? Как это будет влиять на звук?

"Другая история", потому что это влияет на зарядку. Там, знаете, токи большие ходят. Толщина провода на это прямо влияет.

Ну блин, из пайтона я тоже могу открыть /dev/mem , дернуть mmap и пойти гулять по памяти как захочу. По вообще всей память компьютера, заметьте. И что он теперь, небезопасный?

С# позволяет кастить сырые данные к управляемым объектам и обратно. Что, он тоже небезопасный?

Про яву не знаю, но думаю что тоже можно, если захочется.

Окей, считайте что "безопасные" это такое сокращение от "безопасные при работе с памятью". Так лучше? Собственно, это и имелось в виду, когда этот термин придумывали. Просто англоговорящие обожают все сокращать.


А Rust еще и дает нефиговые гарантии для многопоточности...

Или добавить еще два плюсика и получится C#

Или взять следующую букву алфавита и получится D. Который типа и является "безопасным С++", правда, не таким безопасным как Rust.

Ну я надеюсь вы не будете отрицать, что ошибки при работе с памятью не исключают логических ошибок? Вы же не утверждаете, если бы все писали все исключительно на C, то учетки никто не тырил бы и платежные данные не утекали б, правда?

Небезопасные языки добавляют еще один очень веселый класс ошибок, но никак не уменьшают количество других типов ошибок. Вот если бы все писали на Coq, например... Тогда да.

А представьте, если бы через javascript еще и память можно было портить. У всего браузера сразу. Вот крутота то была б!

Помните как все спешно чинили heartbleed, кстати? А ведь это всего лишь одна маленькая ошибка при работе с памятью. А шороху навела больше чем все XSS вместе взятые.

Абсолютно пофиг. "Не пофиг" начинается когда этот человек начинает ходить и рассказывать что у него единственно правильный сетап, что те кто не купил позолоченный кабель питания из бескислородной меди вообще не имеют права слушать музыку, что он может на слух отличить 48кГц от 96кГц, и FLAC от WAV и так далее.

Покажите мне кабель по которому можно 1.5 мегабита, а 480 - нельзя. Хоть один. Поудивляемся вместе.

Чем эти кабеля отличаются?

Количеством линий данных в первую очередь. В USB2 - одна пара которая работает и на прием и на передачу. В USB3.0 - их уже три: одна пара для совместимости с USB2, одна на прием и одна на передачу на высоких скоростях. Так же, из-за того что в USB3 выше частоты усилились требования к экранированию и волновым характеристикам кабеля.

В USB3.1 таких пар уже 5: одна старая низкоскоростная для совместимости с USB2 и еще 4 высокоскоростных.

Кабеля физически разные, там в них разное количество проводников. Поэтому и разная скорость. А еще толщина некоторых проводников влияет на скорость зарядки, да. Но это другая история.

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

А USB3 ?

А что с USB3? Его bandwidth тем более покроет любые требования к передачи звука. И если вы о том что плохие кабеля могут приводить к проблемам - да, они могут. Это будет выглядеть как полное отваливание устройства.

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

Прикиньте, если у вас не музыка играется по USB, а файл пишется на диск. Вам понравится случайное изменение в одном бите? Никому не понравится...

И в чём разница между проводами? А материале? В качестве изготовления? В экранировании?

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

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

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

Это все правда. Но при чем тут качество кабеля?

USB2 выдает 420 мегабит/с по паспорту. Этого достаточно для любого звука.
Кабель на это никак повлиять не может. Он либо будет работать, либо не будет. Два варианта. Все.

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

Интересно как оно работает в больших и действительно распределенных сетапах. Особенно там, где патчами обмениваются через email.

Да и вообще, у нас в команде очень редко коммит с первого раза попадает в master. Обычно происходит несколько циклов ревью перед этим и иногда коммит изменяется до неузнаваемости.

Или может MS просто не сломали всю архитектуру к черту, а встроили свою фичу как надо. Не могу сказать что это в духе MS, но чем черт не шутит.

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

Вы так говорите - будто композиторы это что-то плохое. Типа давайте, у нас изображение на экране будет зависеть от того как приложения быстро отрабатывают запрос на перерисовку окон (забыли уже "шлейфы" от окон в виндах или равномерно закрашенные прямоугольники в иксах, да?), заодно откажемся от аппаратного ускорения и будем делать блиттинг в софте, поимеем обратно проблемы с проигрыванием видео (забыли зеленые или розовые подложки в окнах видеоплееров, да?) и так далее...

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

Information

Rating
1,224-th
Location
Украина
Date of birth
Registered
Activity