Свежие комментарии

Title Comment
Все же сложнее. - Есть

Все же сложнее.
- Есть писаные правила (вроде ограничения скорости), которые постоянно нарушаются. Более того, я вот читал текст о дорожной ситуации в Калифорнии, где принято потоку на автостраде ехать значительно быстрее лимита по правилам (+10 миль, к примеру). Автор утверждает, что если бы все ехали по лимиту, то был бы коллапс, а если фактический лимит 65 а не 55 mph, то все еще терпимо.

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

- Есть, наоборот, неписаные правила ("общественная мораль"), скажем "супружеская измена - это плохо". За нарушение их - писаные правила никаких санкций не предусматривают.

- Ну и градации есть. Много людей ездит без билета, но далеко не все из них готовы хладнокровно кого-нибудь убить.

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

А главное - если проводить границу совсем жестко, то ведь все население останется по одну ее сторону. Сложно найти человека, который никогда не превышал скорость, не переходил в неположенном месте, не пользовася незарегистрированной радиостанцией (и/или GPSом без разрешения), не скачивал из сети 50-тысячные секретные генштабовские карты, всегда платил все налоги и так далее.

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

Это понятно, что какие-то из

Это понятно, что какие-то из правил могут быть неактуальными для конкретного момента. Но, в таком случае перед человеком встает фундаментальный по своей сути и смыслу вопрос: соблюдать ли вообще какие-то там правила? Предполагая их соблюдение как форму общественной договоренности, таким образом взаимодействовать с обществом. Либо же ну их вообще нах... поступать нужно так, как подскажет ему собственное эго сейчас? Соблюдение таких правил в данном случае - это дань самому принципу общественной договоренности. Это примерно как стоять на красный свет на безлюдной улице. Да, глупо. Но в окне дома напротив за Вами наблюдает ребенок. И Вы об этом не знаете...

В этом смысле, - по механизмам принятия решения, - практически нет никакой разницы между человеком, считающим откровенно глупым придерживаться 90 км/ч по ровной сухой и пустой дороге, и человеком, решившим пострелять с вертолета каких-то вшивых архаров, которые никому в народном хозяйстве не нужны, и вообще ничьи. В обоих случаях - только своя личная целесообразность, то есть целесообразность для себя самого и только. Заметим также, что подавляющее большинство людей попросту не способно, - в силу своей некомпетентности в вопросах, - ни просчитать, ни предвидеть возможные последствия. Будь то превышение скорости, охота ли с вертолета, или лов осетра... По сути все тут одно - отсутствие отношения к любым общественным договоренностям, и поведение, обусловленное лишь своей персональной и сиюминутной выгодой... По сути, жизнь вне общества на ментальном уровне. Сравни, скажем, с понятием стыда в японской или корейской культуре...
см. http://miumau.livejournal.com/1074115.html - историю номер 1

Многие из правил (в

Многие из правил (в частности, законы и прочие должностные инструкции) являются откровенно глупыми, либо выглядят таковыми. Разуваться в аэропорту, ехать 90 км/ч по прямой, сухой и пустой дороге днем, получать разрешение на сотовый телефон (да, некоторые глупости иногда отменяют). А за другие нарушения - не наказывают, или наказывают мало (безбилетники в электричке).

То есть проблема игнорирования (части) правил - в том числе и по той причине, что часть правил - глупая, и это всем понятно.

Вот о чем подумалось: 1.

Вот о чем подумалось:

1. Понятно, что люди они без внутренних тормозов и ведут себя как саранча: пока из было мало, их деятельность по поеданию (к вопросу "а мы для прописания...") еще компенсируется экосистемой. Как только таких "поедателей" становится больше, выжирается все вокруг. Пример - бизоны Северной Америки. В данном случае "для пропитания" я рассматриваю и случай "продал икры заезжим, купил муки и водки"

2. Поскольку ситуация может быть критичной для экосистемы и соответственно для будущего самих людей (будущие поколения не будут знать вкуса икры, а общество потеряет гены осетра полностью) люди принимают законы. Эти законы прописывают что можно что нельзя, иногда никому нельзя, иногда можно только местным, ну это уже частности. Главное, что законы приняты, и как любые законы они имеют смысл, если распостраняются на весь социум, иначе будет эррозия внутри людской популяции. Именно поэтому "осетра всегда низзя!" по крайней мере сегодня. Даже для того, чтобы икру продать и купить водки и хлеба.

3. Люди, которые полагают, что законы писаны не для них, и "пусть другие их придерживаются, а мы не будем", в сущности наплевали на сообщность. То есть, они живут сами по себе, общзество для них психологически отчуждено. Это касается как чиновников с их привелегией постреливать с вертолета, так и простого рабочего мужика, знающего что низзя, но если ему лично хочется, то вперед!

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

Сделаешь LibRaw - просят фоток с Монголии. Сделаешь фоток с

Сделаешь LibRaw - просят фоток с Монголии.
Сделаешь фоток с Монголии - спрашивают "а когда новые камеры будут в LibRaw"

Пока я иду по количеству запросов, про LibRaw спрашивали больше.

Лёха, а где фотки с Магнолии? ;)

Лёха, а где фотки с Магнолии? ;)

Можно ещё добавить edge

Можно ещё добавить edge detection... И края рисовать через кросс-кореляции а плавные области -- через сплайн. Хм. Жалко, я совсем плохо в этом понимаю и е могу быстро в Математике (Октаве) набросать код для эксперимента :(

Типичный современный алгоритм

Типичный современный алгоритм интерполяции пытается как-то построить и проинтерпретировать кросс-корреляции между каналами.

Чтобы если у нас в канале 1 резкий пик (а каналов 0,2 и 4 в этом пикселе нет), то и в пропущенных каналах нарисовать похожий на правду пик/провал.

А сплайн с большой сеткой вряд-ли будет принципиально лучше банальной билинейной (ну, ладно, бикубической) интерполяции.

Ну вот, не всё так просто

Ну вот, не всё так просто оказалось.

Кстати, а никто не пробовал алгоритм интерполяции, который строит двумерный сплайн по каждому цвету и вычитывает недостающее из этого сплайна? Ну, так, сеткой где-нибудь 32x32?

Вскрытие показало, что для

Вскрытие показало, что для X1-Pro работают только линейная интерполяция и VNG

Оба - подправлены мальца (шаг алгоритма) под эту камеру.

А, вот сейчас писал Changelog и вспомнил. Еще же ваш wf-deb

А, вот сейчас писал Changelog и вспомнил.

Еще же ваш wf-debanding. Он был в 0.15-unstable и переехал, как и было обещано, в 0.15 (т.е. в master)

0.15-Alpha0 ожидается сегодня, ближе к вечеру.

Ну если учесть, что изрядная

Ну если учесть, что изрядная доля кода LibRaw - по жизни копипаста из dcraw.c (правда скриптом и C preprocessor, а не вручную), то остальное уже мелочи.

То есть цель - чтобы изменения в dcraw импортировались по git merge. В данном случае - не получилось, слишком глобальные изменения, но вообще - работает.

Добавлю про 500-ки: сравнил с окрестностями Питера. Населенк

Добавлю про 500-ки: сравнил с окрестностями Питера. Населенка, дороги и т.д. - абсолютно современные. Но что сразу бросается в глаза - рельеф. Явно понизили сечение рельефа, так что информации о рельефе почти не осталось. В горах это может быть и не актуально, но у нас на старых 500-ках был любой холмик или овражек виден, а на новых - ни шиша!

Я не изучал - может в младших

Я не изучал - может в младших этих битах ничего хорошего нет, а режут их за дело. Не знаю.

В RawDigger текущем эта пимпа уже есть (Preferences - Data Processing - Sony ARW2 Hack), желающие могут изучить.

мдаааа. интересно, когда у

мдаааа. интересно, когда у сони вместо плейстейшна с функцией видеосъемки начнут нормальные фотоаппараты получаться...

Ко всем ARW2 это

Ко всем ARW2 это относится.

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

Смысла в таком делении нет, посему в LibRaw 0.15 проковыряна дырочка для его отключения, вдруг кому надо.

а что там такое веселое у

а что там такое веселое у сони в их ARW2, и к каким камерам это относится?

Думаешь, тушеный осман был тоже в научных целях? "А не пора

Думаешь, тушеный осман был тоже в научных целях? "А не пора ли его ловить"?

разница в том, что в C++ есть

разница в том, что в C++ есть более православные решения чем копипаста. но и то, и то работает

=== cut === The official reason that Japan gives for whale h

=== cut ===
The official reason that Japan gives for whale hunting is "scientific research". They say the only way to determine the whale's age is to kill it. The purpose of the "research" is to prove that whale populations have improved enough to allow commercial whaling which was banned by the International Whaling Commission in 1986.
=== cut ===

Да какая разница, какой язык

Да какая разница, какой язык используется.

Постановка простая: есть объект LibRaw, которым могут быть обработаны много файлов.
Следовательно, нужен учет ресурсов (втч. и в коде, который не я писал, но откуда может прилететь исключение) и их освобождение по свистку.

В деструкторе - тоже recycle()

Но goto cleanup не спасет. Только longjmp, только хардкор

можно ещё и goto cleanup :)

можно ещё и goto cleanup :) тогда точно будет C

А ресурсы подчистит

А ресурсы подчистит LibRaw::recycle(), включая и созданные в open_file() потоки.

Во, вот тут в комментариях

Во, вот тут в комментариях обсуждение: http://blog.lexa.ru/2011/12/28/ob_isklyucheniyakh_c.html

Так как смысла ловить ... чтобы его потом rethrow - никакого нет вообще (что делать с чужим неизвестно каким исключением?) то, собственно, и было принято решение ловить только std::exception (ну и до кучи bad_alloc вокруг new)

да, увидел что свои

да, не увидел что свои датастримы

А в случае open_file -


А в случае open_file - создаются свои (из состава LibRaw) потоки.
Все что может вылететь из своих датастримов, созданных в open_file - в open_datastream и поймается: там ловятся LibRaw_exceptions (свои) и std::exception (от стандартных потоков).

понял, не увидел что датастримы свои.


Если тут покопаться в блоге - мне где-то объясняют, что ловить *все* под виндой - очень плохая практика т.к. какие-то еще механизмы рантайма винды работают на exceptions.

если не ловить - тогда RAII, иначе очень легко что-то где-то забыть

Свои имплементации в этом

Свои имплементации в этом месте исключений не генерируют.

А чужая - не пройдет через open_file(), а исключение пусть ловит тот, кто датастрим создал и засунул в open_datastream().

в

в https://github.com/LibRaw/LibRaw/blob/master/src/libraw_cxx.cpp
на 652 строчке

int ret = open_datastream(stream);

а там внутри на 706:

if(!stream->valid())

что нибудь вылетает.
кто сделает delete stream; ?

А почему он потерян? Туда

А почему он потерян? Туда передается datastream, уже созданный пользователем библиотеки. Путь он его и убивает если вдруг че.
Это если кто open_datastream позвал.

А в случае open_file - создаются свои (из состава LibRaw) потоки.
Все что может вылететь из своих датастримов, созданных в open_file - в open_datastream и поймается: там ловятся LibRaw_exceptions (свои) и std::exception (от стандартных потоков).

Если тут покопаться в блоге - мне где-то объясняют, что ловить *все* под виндой - очень плохая практика т.к. какие-то еще механизмы рантайма винды работают на exceptions.

да, я догадывался, что

да, я догадывался, что задумка такая.

Но, на первый взгляд, у вас ведь код не рассчитан на такие метеориты: например, в LibRaw::open_file если что-то вылетит из
int ret = open_datastream(stream);
то stream потерян. в общем нужно RAII

Pages

Subscribe to comments_recent_new