30 December 2012

2012: итоги

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


#1. Виталина Александровна растет, радуя папу и маму. Это главное. Это -- неиссякаемый источник радости и счастья в моей жизни.


#2. О вещах более приземленных -- о гаджетах.

Еле-еле продал NEX-3 и взял Sony A33 с фиксами 35 и 85 мм. Стекла решают, а на NEX с этим по прежнему все не шибко весело. Текущей конфигурацией я вполне доволен, дальше если куда и расти -- только полный кадр (жену уже начал подготавливать). Поползновения в сторону других кропов расцениваю как всем известную болезнь -- зуд гаджетный ональный -- бью себя по рукам, принимаю таблетки и пока, вроде как, справляюсь.
За этот год в Lightroom обработал и экспортировал в семейный альбом почти пять тыщ снимков. Однако.

В семье появился new (и в том, и в другом смысле) iPad. Старенький, первого поколения, на пенсию не ушел -- дедушка с бабушкой используют его как фотоальбом с фотографиями, размещенными в облаке. Новый iPad планшет замечательный, хотя товарищи из Apple осенью и пытались испортить нам настроение.


Раз в два года меняю телефон. В отставку ушел Samsung i8000 на маргинальной Windows Mobile, на смену заступил Galaxy S3 на Android, которая скоро будет стоят в каждом утюге. Каких-то особых сюрпризов ни ОС, ни железо не принесли, все достижения прогресса я воспринял как вещь само собой разумеющуюся.

27 December 2012

Fujifilm: сеанс черной магии с полным ее разоблачением

Довольно давно присматриваюсь к беззеркалкам Fuji. И сенсор у них такой хитрый, типа левая резьба. И с шумами там какие-то чудеса. И начали они линейку оптики с хороших фиксов. И podakuni регулярно всякие интересные сравнения с этими камерами делает (не без финансовой помощи заинтересованных лиц, разумеется).


И вот решил я покрутить в Lightroom тестовую сценку для X-Pro1, которую мужики из dpreview давно выложили. Было, правда, на этом пути одно серьезное препятствие -- я по прежнему использую Lightroom третьей версии, для которого давно перестали выходит обновления с поддержкой raw файлов для новых камер, и, соответственно, файлы X-Pro1 моя версия не понимает. А на новый Lightroom я не сильно спешу переходить, во-первых, потому, что наряду со всякими вкусностями, там вроде как сильно упала производительность, а во-вторых, я до сих пор использую старую-добрую WinXP, а четверка требует для своей работы минимум "висту". Решение, в итоге, было найдено -- фирма Adobe давно пытается (совершенно безуспешно) победить бардак, который творится с raw файлами (у каждого производителя здесь свой велосипед), и для этих целей придумала типа универсальный DNG формат файлов, т.е. это такой универсальный raw с открытой спецификацией. А самое главное, что у Adobe есть бесплатная и оперативно обновляемая софтина, предназначенная для конвертации всех известных проприетарных raw файлов в DNG файлы. Ей я и воспользовался.

24 December 2012

История одного бана

Начну несколько издалека.
Я всегда крайне скептически относился к беззеркалкам Nikon и считал их несчастной жертвой маркетингового аборта. Объясняю почему.

Главный смысл вообще всего направления беззеркалок -- возможность получить качество изображения как у классических зеркалок при значительно меньших габаритах связки фотоаппарат + объектив. Т.е. практически в любом беззеркальном решении самое важное это гармоничное сочетание двух ключевых моментов -- высокого качества изображения и компактности.

Качество изображения есть сущность, главным образом зависящая от единственного и хорошо понятного параметра -- размера сенсора. Большой сенсор дает две вещи. Первое -- возможность снимать при высоких значениях ISO. Второе -- возможность получать маленькую ГРИП, и эту возможность очень трудно переоценить. Самый главный объект подавляющего большинства снимков -- человек. Возможность снять портрет, в котором за счет маленькой глубины резкости будет сделан акцент на портретируемом -- штука просто бесценная, и каждый, кто когда-то снимал портреты в таком ключе, вряд ли захочет вернуться к съемке, когда у тебя все резко, вот от этого кустика и до той пачки из-под сигарет, валяющейся вон под тем забором.

Портрет с маленькой ГРИП это как-то так

Теперь посмотрим на беззеркальную систему Nikon. В страхе породить конкурента своим собственным зеркалкам, эти товарищи поставили сенсор очень скромных размеров, поэтому качество изображения в этих камерах соответствующее -- шумы и просто физическая невозможность пользоваться при съемке преимуществами, которые дает маленькая глубина резкости. Добавьте сюда еще совершенно невыдающиеся габариты -- на рынке, например, присутствует несколько моделей Sony NEX, которые более компактны и содержат в себе сенсор с площадью в три (!) раза большей. И добавьте сюда еще совершенно конский ценник -- за беззеркалки Nikon просят деньги, за которые можно взять множество конкурирующий решений, дающих на голову более качественную картинку...

Позитив

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

Разумеется, это все не правда. И сегодня хотелось бы привести положительный пример того, как надо программировать на C++, чтобы случилось невозможное и тебя похвалил ворчун CD-RIPer.

Материал с хабра -- WebServer как тестовое задание.
Было очень приятно заглянуть в исходный код -- чисто, аккуратно, надежно, на высоком уровне и без велосипедов. Умные указатели, boost/std::function, интерфейсы, описанные в enum константы, RAII для захвата ресурсов, нигде не забыт boost::noncopyable, и даже для описания типов исключений использованы макросы.

И что тут скажешь? Когда молодцы -- тогда молодцы. Жаль только, что такой код в наше время большая редкость.

зы. Кстати, такое тестовое задание пару лет назад делал сам, и плодами его (легковесным http сервером для доступа к файлам в указанной папке) активно пользуюсь и по сей день. Полезная вещь в хозяйстве.

20 December 2012

Про пятнышки

Попалась в руки интересная книжка "Фотография как...", написанная недавно скончавшимся метром фотографии Александром Лапиным.


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


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

Не стал оригинальничать в этом смысле и товарищ Лапин, который на момент выхода своей книги разменял шестой десяток. Цифровую камеру он так в руки и не взял. Только пленка. Только чб. Только хардкор. С фотошопом метр вроде как знаком, но считает его презренным инструментом для лузеров, а сам, если и использовал эту программу, то только для того, чтобы вскрыть для анализа некоторые особенности заинтересовавшей его картинки.
Процесс фотографирования считает мистикой и делом провидения. Лучшие снимки -- почти всегда случайностью. Томительное, зачастую многодневное, ожидание от спуска затвора до проявки и печати снимков -- ожиданием хоть и мучительным, но зачастую сладостным. Ну а те, кто никогда своими руками не печатал снимки и собственноручно не намешал несколько кубических литров фоторастворов -- вообще ничего в фотографии (с большой буквы Фэ) не понимают!

18 December 2012

Про общее

Есть такая вот нехитрая табличка

ПараметрСмартфонПланшетПК
Диагональ экранамаленькаябольшаябольшая
АрхитектураARMARMx86


Глядя на нее, в Apple решили, что у планшетов и смартфонов главное -- общая архитектура ARM, поэтому они должны работать на iOS.

А когда на эту же таблицу смотрели в Microsoft, они посчитали, что большая диагональ экрана делает планшеты больше похожими на ПК, поэтому они работают на большой Windows, а смартфоны -- на маленькой.

Вот так вот по разному можно смотреть на одни и те же вещи.

13 December 2012

Старые фото

Что-то как-то подумалось -- жаль, у меня с институтских времен нет ни одного хорошего портрета.

Нет, конечно, куча банальной бытовухи, снятой на широкий угол пленочной мыльницы у меня есть. Но это все не то, не то. Даже если бы и был правильно снятый портрет типа из серии "сделано в советской фотостудии" -- тож не то. Хорошие фотографии -- те, которые сняты in wild life, и не когда ты позируешь, а когда кто-то добрый снимает тебя незаметно, пока ты увлечен каким-то делом... Вот был бы у меня такой портрет -- можно было взглянуть на себя таким, каким ты был много лет назад, попытаться понять каким ты был, что в тебе изменилось.


Хорошо нынешней молодежи.
Даже самые отсталые имеют какой-никакой телефон с камерой. Страничку в социальной сети. Твиттер. И сами они окружены точно такими же людьми, для которых щелкнуть тебя на телефон и выкинуть в фотку в твиттер -- вообще ничего не стоит. Какой-никакой, но след в истории останется, причем практически без усилий с твоей стороны. Заностальгируешь -- будет где искать. И куда вернуться.

11 December 2012

The Next Big Thing

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

Хотелось бы вступить с автором в некую полемику по теме, плюс самому немного порассуждать о том, на чем же будут программировать завтра.

10 December 2012

Дырка от Пакмена

Думаю, что все, кому это интересно, уже в курсе, что бесстрашный мексиканец Маркес в четвертом поединке против филиппинца Пакьяо безжалостно поделил оного на ноль в самом конце 6-го раунда.


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

Честно говоря, перед этим боем я сильно переживал за Маркеса. Да, он абсолютно несгибаемый боксер с железной силой воли, но чудес не бывает -- в следующем году Хуану стукнет, ни много, ни мало, 40 лет. Для его весовой категории это ОЧЕНЬ много, а при встрече с одним из самых быстрых боксеров современности, который, к тому же, еще и на шесть лет моложе... Секрет успеха Маркеса заключается в том, что Пакьяо абсолютно линейный и очень предсказуемый боксер. На его атаки практически невозможно во время реагировать физически, полагаясь на зрение, но его можно просчитывать, предугадывать, чувствовать. Вот этому мексиканский боксер учился от боя к бою, и с каждым разом у него получалось все лучше и лучше. Очень характерным моментом была повторяющаяся из раза в раз ситуация, когда Маркес все-таки пропускал первый удар правой в длинной и очень быстрой серии, но он никогда не пропускал все последующие удары, и главное -- второй удар левой, на котором был собственно акцент серии.

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

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

Что дальше?

Маркесу, пожалуй, стоит прямо сейчас завершить свою карьеру. Вряд ли у него в жизни еще будет шанс уйти так красиво, во время, и на такой высокой ноте.
Ему уже далеко не 20 лет. И даже не 30. Денег, думаю, он уже заработал более чем достаточно. Имя вписано в мировую историю бокса, а у себя на родине он просто национальный герой, живая легенда.
Соперники? Еще один бой с Пакьяо вряд ли имеет хоть какой-то смысл, особенно в ближайшей перспективе. А уже через пару лет Хуану определенно не стоит выходить в ринг -- не тот возраст. Второй бой с Мэйвезером? Никакого смысла. Результат будет точно таким же -- разгромное поражение. Маркес отлично читает Пакмена, но никто не может прочитать Флойда...
В общем, я надеюсь мексиканец наконец-то уйдет на честно заслуженный отдых, и мы не будем расстроены, как в случае с Гатти, Роем Джонсом, Моралесом или Холифилдом.

Перед Пакменом два варианта -- или уйти, или начинать все с начала. Если в следующем бою он встретится с Флойдом, я абсолютно уверен, это будет третье поражение подряд. Чтобы вернуть интерес к этому бою нужны громкие имена и уверенные победы. Готов ли Мэнни к этому?

Фредди Роуч. Вот уж кому точно пора на пенсию.
Чему новому он научил Пакмена за последние годы? Какой была их стратегия на четвертый поединок с Маркесом? "Обычная" стратегия? Вот и я об том же. Если Мэнни думает продолжать, ему определенно стоит поменять тренера.

Флойд Мейвезер. Думаю, этот парень чертовски зол на Маркеса -- 8-го декабря этот мексиканец очень сильно уменьшил деньги, которые можно было бы еще вчера заработать на мегафайте века. Трудно сказать, чего ждал Флойд, но винить ему кого-то, кроме самого себя, просто не кого...


Итого -- эти парни нам подарили определенно лучший бой 2012-го года, а возможно, вообще один из лучших боев всех времен и народов. Именно такие схватки лучше всего показывают, за что миллионы людей во всем мире любят этот яркий и жестокий спорт.

07 December 2012

Ответ на C++ задачку

Собственно решение для этой задачи.

Смысл в том, чтобы поручить управление мьютексом временному (безымянному) объекту, время жизни которого ограничено временем жизни полного выражения, в котором он используется. Маленький нюанс -- если мы хотим, чтобы этот временный объект был копируемым, то надо сделать подсчет ссылок, типа как в shared_ptr, и при смерти последней ссылки освобождать мьютекс. Дабы не велосипедить, для этих целей отлично подходит сам shared_ptr (см. приведенный код).

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

Как-то так.

06 December 2012

Наизнанку

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

Шли годы. Появился интернет. Потом Youtube. Наступили реалии нового мира.
Для малой я соорудил большой плейлист на ютубе с клипами самых разных групп, от Queen до The Offspring. Так вот, каждую неделю из этого плейлиста выбивают по несколько вещей -- ролики выпиливают добрые "правообладатели", которые не хотят, чтобы ты смотрел эти клипы. А если и смотрел, то только на их канале.


Или вот мегаорганизация добра под названием VEVO. Под их крыло попала львиная доля всех видеоклипов, снятых на Западе. И вот эти толстожопые дяденьки решают, можно ли смотреть ихний клип в твоей стране или, например, можно ли этот же клип смотреть на твоем айпэде (любой пользователь планшета от Apple знает, что еще совсем недавно количество музыкальных клипов на Youtube там стремилось к нулю).

И вот я сижу и думаю. А как же так, блядь, получилось, что еще вчера создатели видеоклипа были рады любому просмотру их творения -- от MTV до хреновенькой записи на VHS кассете, а сегодня сборище алчных пидарасов пытается на всем этом бессовестно наживаться?
Как-то очень неправильно устроен этот мир, вам не кажется?


зы. Пока запись отлеживалась в черновиках, iTunes взял да и пришел в Россию и Украину.
Ну здравствуй!


Бог свидетель -- пока это пидарасы будут использовать DRM, я не отдам им ни копейки.

05 December 2012

Маленькая задачка по C++

Часто бывает так, что в классе полем лежит объект, с которым работать надо только через мьютекс. 

Вот пример из нашего кода, имеется некий объект -- хранилище статистики по работе класса --плюс защищающий его мьютекс:

class IvOverlay
{
    Platform::Mutex m_mutexStat;
    OverlayStat m_stat;

    // ... 

    void Render() 
    {
        // ...

        {
            Platform::MutexLocker _(m_mutexStat);
            m_stat.AddRenderTime( tProf.Get() );
        }
        
    }
    
    // ...

    void PutMsg(const Cmd& cmd, int sz = 0) 
    {
        // ...
        
        {
            Platform::MutexLocker _(m_mutexStat);                
            m_stat.PushFrameToQueue();
        }
        
    }    
    
};

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

Идеи? 

03 December 2012

Обыкновенный фашизм

Счастие мое с джейлбрейком на планшете длилось, увы, не долго.
В один прекрасный день (будь он проклят!) что-то как-то заметил я, что вкладки в iCab сильно часто перезагружаться стали -- верный знак, что мало свободной RAM осталось. Сколько себя помню -- память в iOS течет. Даже и без джейлбрейка. Течет не сильно, но раз в месяц сделать перезагрузку совсем не помешает, хотя в случае планшета с гигом RAM это не так уж и критично.


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

Сначала снес SBSettings. В конце деинсталяции предложили мне классическое "Restart Springboard". Мацнул. Все задумалось вечным сном -- подождал, приличия ради, минуту-другую и принудительно ребутнул намертво зависший iPad. Грузился он подозрительно долго (я успел несколько раз перекреститься), но таки дошел до SpringBoard, которая, правда, стартанула почему-то в safe mode.
Я, баран, сразу кинулся в Cydia сносить Activator. Снова "Restart Springboard". Снова висяк. Ребут, и через пару секунд загрузки планшет рисует мне веселую картинку -- "а не подключится ли тебе, брат, к iTunes?!".
Бля! Как я тут заматерился! Аж дочь с женой в страхе под диван забились.

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

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

Жизнь и судьба

Замечательный режиссер Урсуляк снял свой очередной сериал под названием "Жизнь и судьба" по роману Гроссмана. Если коротко, то Урсуляк гавна не снимает. Были шикарные "Ликвидация" и "Исаев", теперь к ним добавился не менее мощный двенадцатисерийный труд.


До выхода сериала про такого писателя как Гроссман я вообще никогда ничего не слышал. Оно и не удивительно. Человек этот, начавший писать еще в довоенные годы, всю войну прошел военным корреспондентом. Потом написал большой роман о войне -- "За правое дело" с которым маялся несколько лет, так как его упорно не хотели публиковать по множеству причин, которые всегда легко находили (подробности этой истории). Роман "Жизнь и судьба" -- продолжение этого многострадального детища и при его написании Василий Семенович решил не наступать на горло собственной песни и писать все как есть, наплевав на цензуру. Но не смотря на смерть Сталина, XX съезд и критику "культа личности", роман оказался слишком смелым для своей эпохи. Рукопись конфисковали, а писатель до конца своей дней пребывал в опале.

Но роману все-таки повезло, не смотря на его нелегкую судьбу. Сохранилась одна из копий романа, она была переправлена за границу и там напечатана в начале 80-х. Во времена перестройки роман был напечатан уже в СССР.

Насколько я знаю, роман очень сложный, многослойный, с большим количеством персонажей. Эту работу очень часто сравнивают со знаменитым романом Льва Толстого. Это я все к тому, что взять из романа главное, провести более менее связанные сюжетные линии и уложить это все в жалкие 12 серий -- очень и очень не простая работа, с которой блестяще справился Эдуард Володарский, это была фактически его последняя большая работа перед самое смертью.

Теперь, собственно, о самом кино.
На мой взгляд, это очень яркий и честный слепок тех непростых дней. Это, несомненно, лучший фильм о Великой Отечественной войне, из всех, которые я видел, и рядом с ним можно смело ставить те несколько достойных вещей, которые были сняты еще в СССР, типа "Они сражались за Родину". Это -- лучший ответ полному импотенту Михалкову, который грозился показать нам "настоящую войну".
Оборона дома 6/1 -- вот она, история настоящей войны.

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


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

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