Полностью не спасёт, а на контурах и в один глаз видно. Параллакс-маппинг хорош только если смотришь на него прямо или почти прямо, а под большими углами ломается.
Ну раз уж речь зашла о морали, позвольте намазать вину размашистыми мазками во все стороны:
а) Уанья — негодяй, мерзавец и провокатор, совершающий отвратительный и гадкий поступок; юридически, предположительно, ответственности за это не несёт;
б) Уасья — некомпетентный лопух, который не осознаёт, что в интернете могут сказать разное и даже очень вредное, выполняет дурацкие советы не понимая смысла того, что делает, не вникая в суть проблемы и вообще не приходя в сознание; юридически, предположительно, полностью виноват в последствиях;
в) разработчики юникс-образных систем с их безумно неудобным, крайне замысловатым и неочевидным интерфейсом командной строки, где один пробел может отделять безобидную операцию от катастрофы (привет, Bumblebee epic patch!).
Поправьте, если ошибаюсь, но вроде бы применяемое в видеокодировании дискретное косинусное преобразование (DCT) может напрямую измерить размытость изображения (чем более размыто — тем сильнее завал высоких частот).
Возможно, разработчики хотят реализовать принципы и подходы, не использующиеся (и не могущие быть использованными) в готовых Linux дистрибутивах и посмотреть, как будет выглядеть и как себя поведёт построенная на них ОС и удастся ли добиться желаемых преимуществ.
А почему двоичные разряды идут в противоестественном порядке? Надо же от старшего к младшему. Ну и подписывать их — это, конечно, вообще не суровый киберпанковский хардкор ни разу.
Строго говоря — невозможно при наличии определённых ограничений («in-place» и всё такое). Так-то всякие зануды и буквоеды легко могут предъявить counting sort, который работает за O(N) в лучшем и худшем случаях.
Тем, кто не знает, на кого Успенский намекал фамилией «Вьючков» (я, к примеру, когда первый раз читал, не сообразил) — так это Владимир Александрович Крючков, председатель КГБ СССР.
Плюс-то важный, но я о другом. Я о том, как стремительно в результате перехода от одного косвенного признака к другому в мозгу эйчаров выстраивается цепочка «нам нужен тот, кто сделает такую-то часть продукта» — «нам не нужен тот, кто болезненно реагирует на замечания код-ревью» — «нам не нужен кто-то без чувства юмора» — «нам не нужен тот, кто не улыбнулся, глядя на картинки в приёмной». После чего они с упорством карго-культистов начинают руководствоваться конечными звеньями таких цепочек в духе «нам не нужны те, кто родился в июле или октябре», «нам не нужны те, кто использует сочетание зелёного и серого цветов в одежде», «нам не нужны те, кто не увлекается сноубордом или лыжами», «нам не нужны те, кто пришёл на собеседование, не зная имена с отчеством и дни рождения руководства»…
Соискатель-программист посидел в переговорке, где на столе лежит набор картинок с шутками на тему. Эти шутки он уже давным-давно и многократно видел в интернетах, а недавно успел налюбоваться на них в переговорках других компаний, куда он ходил на собеседования. Он окинул картинки равнодушным взглядом и закрыл глаза. «Э, да ведь улыбка не тронуло его лицо! У него совсем нет чувства юмора, он нам не подходит!», проницательно заключил кадровик, тайком подглядывавший из надёжного укрытия.
Тут вопрос поставлен с ног на голову. СКВ предназначены как раз для человекочитаемых форматов. Если данные не предназначены для редактирования вручную, нет особого смысла ни делать формат человекочитаемым, ни контролировать версии через СКВ.
Тут по обстоятельствам. Иногда готовый формат превосходно подойдёт, а иногда лучше всё-таки создать свой, хорошо приспособленный к конкретным требованиям.
Все пудели — собаки, но не все собаки — пудели. То, что в XML есть древовидность, вовсе не означает, что для древовидного формата нужен именно XML или что-то ему родственное.
Это всё из-за того произошло, что я в свою очередь тоже попал в плен своей парадигмы, в которой мне не нужно редактировать и сохранять файл с незнакомыми тегами. Что тоже в общем-то подтверждает главную мысль.
Кажется, автор попал в плен XML-дискурса. Ему подавай или XML, или XML-лайт, или бинарный XML. А ведь он изначально проектировался из соображений человекочитаемости (ну да, не получилось, но тем не менее).
Если требования человекочитаемости нет, то намного лучше делать свой формат, разумеется, бинарный, не придерживаясь идеологии иных форматов, которые делали с совершенно другими целями и исходя из других соображений. Например, вместо хранения ключей (названий параметров) в строковом виде, можно использовать числовые идентификаторы, а лучше хэши. Это упрощает формат и экономит место. Расширяемость формата обеспечивается попросту тем, что парсер игнорирует незнакомые ключи.
Когда не ограничиваешь себя изначально чужими парадигмами, можно создать формат, превосходно подходящий под свои конкретные задачи, «срезая углы» там, где это допустимо и акцентируя то, что требуется. Важно не стремиться чересчур сильно его обобщить.
а) Уанья — негодяй, мерзавец и провокатор, совершающий отвратительный и гадкий поступок; юридически, предположительно, ответственности за это не несёт;
б) Уасья — некомпетентный лопух, который не осознаёт, что в интернете могут сказать разное и даже очень вредное, выполняет дурацкие советы не понимая смысла того, что делает, не вникая в суть проблемы и вообще не приходя в сознание; юридически, предположительно, полностью виноват в последствиях;
в) разработчики юникс-образных систем с их безумно неудобным, крайне замысловатым и неочевидным интерфейсом командной строки, где один пробел может отделять безобидную операцию от катастрофы (привет, Bumblebee epic patch!).
Тем, кто не знает, на кого Успенский намекал фамилией «Вьючков» (я, к примеру, когда первый раз читал, не сообразил) — так это Владимир Александрович Крючков, председатель КГБ СССР.
Если требования человекочитаемости нет, то намного лучше делать свой формат, разумеется, бинарный, не придерживаясь идеологии иных форматов, которые делали с совершенно другими целями и исходя из других соображений. Например, вместо хранения ключей (названий параметров) в строковом виде, можно использовать числовые идентификаторы, а лучше хэши. Это упрощает формат и экономит место. Расширяемость формата обеспечивается попросту тем, что парсер игнорирует незнакомые ключи.
Когда не ограничиваешь себя изначально чужими парадигмами, можно создать формат, превосходно подходящий под свои конкретные задачи, «срезая углы» там, где это допустимо и акцентируя то, что требуется. Важно не стремиться чересчур сильно его обобщить.