среда, 9 марта 2011 г.

Начал читать про mercurial

Начал читать про mercurial. Основные заинтересовавшие меня моменты.
  1. Centralized VCS (CVCS): Два пользователя заливают одни и те же файлы в репозиторий. Первый просто заливает, второй делает merge. Его личные изменения нигде не сохраняются.
    Distributed VCS (DVCS): все индивидуальные изменения сохраняются в виде отдельных ревизий.
  2. Можно дать полноценные ревизии коллеге (в специальном архиве - bundle), не выкладывая их в центральный репозиторий (самое интересное, что bundle для системы выглядит как обычный read-only репозиторий, его не надо как-то хитро распаковывать). В свою очередь, коллега может, например, сделав Code review, уже сам закинуть эти ревизии в центральный репозиторий.
  3. Нельзя быстро порушить систему, тупо убив центральный репозиторий.
  4. Можно парой команд получить список ревизий, которые не приняты сверху в свой клон репозитория и наоборот - которые не отправлены наверх.
  5. Можно посмотреть граф ревизий (кто для кого является родительской).
  6. В отличие от TFS есть полноценный откат ревизии с нормальным сохранением истории (что делается именно откат).
  7. Есть grep, который ищет по всем файлам и всем ревизиям (можно наложить фильтры, чтобы искать не по всем).
  8. Теги хранятся не в мифических метаданных, а обычным файликом (с поддержкой версионности). Причем могут быть локальные (только для своего репозитория) и глобальные.
  9. Нет встроенной утилиты для слияния (кто не любит ручками ставить meld, ediff, winmerge и т.п., будут плакать).
  10. Нельзя задать имена для веток в графе ревизий репозитория (named branch). Хотя здесь не до конца разобрался, надо читать дальше и пробовать.
  11. Для команд можно задавать алиасы (чтобы не писать большую портянку).
  12. Есть готовая команда для поиска багов (и прочей лажи) по ревизиям  методом половинного деления.
  13. Можно автоматом слать патчи и/или бандлы по почте.
  14. Есть встроенные инструменты для фиксации отдельных изменений (отдельными ревизиями) в большом файле.
  15. Есть интерфейсы к веб-серверу и Trac'у.
  16. Для категорических противников командной строки есть GUI-клиент (TortoiseHg) и интеграция с IDE (Eclipse, IntelliJ IDEA, Visual Studio).
  17. Есть нормальная поддержка патчей на уровне системы (они не будут прятаться в обычных ревизиях, а могут развиваться вместе с репозиторием).
Долго не мог понять, почему же merge в mercurial проходит намного легче, чем в CVCS. Оказалось: из-за более подробной истории изменений (история из локального репозитория разлетается дальше). Не совсем пока разобрался в связке working copy с локальным репозиторием - но это, видимо на практике пробовать надо.

В итоге достаточно легко делать штуки, от которых разработчики, использующие SVN или TFS просто шарахаются:
  • заводить отдельную ветку (репозиторий) на фичу;
  • дать разработчикам выкладывать код в репозиторий "testing", а из него в "stable" - только тестерам.

вторник, 8 февраля 2011 г.

Как расти

Есть две технологии роста (людей, компаний, да чего угодно).

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

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

пятница, 28 января 2011 г.

Почему я не люблю DVD

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

Итак, что видит пользователь, вставив диск в плеер?

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

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

В-третьих, якобы жутко удобное меню. Вообще, сама возможность хороша, спору нет. Вот только пользоваться ей производители дисков не умеют. Попробуйте выбрать мультфильм с диска-сборника. А теперь попробуйте то же самое на плеере DivX. Есть разница? Если и есть, то не в пользу DVD: постоянно скакать по экранам, а потом выбирать элемент на текущем экране бывает весело только первый раз.

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

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

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

Грустно все это. Хочется русский iTunes, но с эппловским отношением к России его не приходится ожидать в ближайшее время.

воскресенье, 16 января 2011 г.

Про лицензионное ПО

Нельзя сказать, чтобы я одобрял пиратство. У меня дома сейчас два ноутбука (временно может оказаться и три). И на них нет ни одной пиратской программы. Но то, что иногда вытворяют правообладатели... После этого наименее грубое слово, которым их хочется называть, это "копирасты".

Я купил на своем Android-смартфоне Need for Speed Shift. По поводу процесса покупки ничего плохого сказать не могу: и Android Market и Google Checkout работают вполне корректно (расстраивает правда срок возврата ПО - всего 15 минут, за это время и не успеешь толком понять, подходит ли тебе программа/игра).

После первого запуска игра доложила, что ей надо докачать 150 мегабайт данных Ну ладно, что с тобой делать, качай. Благо интернет безлимитный. А вот дальше началось самое интересное. Запускаю игру - появляется заставка, висит пару секунд, потом черный экран и игра вылетает.

Ну нас на такое не возьмешь. Внимательно читаем отзывы и видим, что надо качать "кеш" (те самые 150 мб) с пиратского сайта 4pda.ru. Идем, качаем и ... О, чудо! Игра прекрасно работает.

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

вторник, 4 января 2011 г.

Фотокамеры не для всех

Более двух лет назад Panasonic анонсировал необычную фотокамеру: Lumix LX3. Она обладала довольно продвинутыми (для компакта) возможностями (в т.ч. размером матрицы) и светосильным объективом (1:2.0 на коротком конце). Сейчас уже появился преемник этой камеры - LX5 и конкурент от Samsung - EX-1 (да, я в курсе, что решения в этом же сегменте есть и у Canon, но про них я ничего сказать не могу - в руках не держал, примеры фотографий не видел, даже обзоры не читал).

На первый взгляд кажется, что такие камеры должны стать мегахитами, ведь они позволяют сделать снимки очень высокого уровня. И это по вполне вменяемой цене (Samsung EX-1 стоит менее $450). На зеркалках с такими же характеристиками, к примеру, можно разориться - посмотрите, сколько, стоят объективы Canon L-серии со светосилой 1:2.0).

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

Сразу хочу оговориться, что все личные впечатления у меня основаны на камере Samsung EX-1, а не на Panasonic Lumix LX3 или LX5. Для начала расскажу, почему я взял именно Samsung. В чем он лучше Panasonic:
  • дешевле (по крайней мере, был дешевле у моего поставщика на момент покупки);
  • оснащен объективом Schneider-Kreuznach светосилой 1:1.8-2.4;
  • имеет AMOLED-экран (не бог весть какое преимущество, но все-таки очень эффектно смотрится, когда фотографируешь не для себя и сразу показываешь снимки кому-нибудь).
Чем Samsung хуже (если верить сравнительным обзорам):
  1. Меньше физический размер матрицы. Ненамного, конечно, но что есть - то есть.
  2. Значительно хуже возможности съемки видео. Это факт. Но на момент покупки фотокамеры у меня уже была видеокамера Panasonic HDC-SD60, которая по качеству съемки оставит любой фотоаппарат далеко в ... позади.
  3. Нет автоматического поворота снимков. С одной стороны это бывает неудобно, но с другой стороны, если уж говорить о массовом пользователе, то автоматический поворот снимков игнорируется проводником Windows и потому здесь у камер наблюдается паритет. Плюс к тому же отсутствие поворота позволяет рассматривать любой снимок во весь экран камеры, не на маленькой его части.
  4. Гораздо беднее набор аксессуаров. Если побродить по форумам dpreview, то можно обнаружить подходящие вспышки, оптический видоискатель и сверхширокоугольный конвертер. Но, например, телеконвертера уже не найти. По сравнению с чемоданом аксессуаров от Panasonic - совсем слабенько.
Но перейдем к нашим баранам тому, почему таким камерам не быть мегахитами. Ответ очень прост: потому что они не дают идеальных снимков в режиме "нажал и снял". Как и более дешевые камеры. "А если не видно разницы - зачем платить больше?" Что же мешает получать высококлассные снимки "одним кликом":
  1. Множество режимов. Для съемки одного и того же сюжета часто подходят несколько режимов (автомат, сюжетный, с приоритетом выдержки-диафрагмы или с "ручными" настройками). Но все они дают разный результат. Надо и обладать определенным багажом знаний, и сделать пару тестовых снимков, чтобы понять, какой именно режим съемки лучше применять прямо сейчас.
  2. Ручная активация вспышки. На Samsung EX-1 вспышка включается вручную механически. Соответственно, неподготовленный человек не включит ее и гарантировано запорет снимок при контровом свете (а снимать так, чтобы освещение было более благоприятным, он просто не догадается).
  3. Широкий угол (24 мм) на коротком конце. Типичный сюжет массовой фотографии - портрет. А портрет на 24 мм - это тихий ужас. По сравнению с ним портрет на 38 мм (коротком конце обычной простенькой камеры) выглядит на порядок лучше. Заставить рядового лемминга заучить мантру "отойди подальше и включи зум" - совершенно нереально.
Вот и получается, что такие камеры остаются уделом:
  • энтузиастов, сознательно (или из экономии) купивших ее вместо зеркальной или беззеркальной камеры;
  • профессионалов - в качестве камеры на каждый день - можно сегодня нащелкать тестовых снимков, а завтра прийти с нормальной среднеформатной камерой, точно зная, что тебя ждет и как надо камеру настроить.

понедельник, 13 декабря 2010 г.

Про Android

Пересел с Nokia 5530 на LG Optimus One. Соответственно, с Symbian^1 на Android 2.2 (Froyo). Что я могу сказать по этому поводу.

Во первых, собственно про железку. По оснащению они практически сравнимые. Это я не про внешний вид (кому-то милее глянец Nokia, а кому-то софт-тач пластик LG). Нокия выигрывала камерой и более качественным экраном. С другой стороны, у LG экран хоть и похуже (и по качеству, и по разрешению), но все-таки больше физически (т.е. в него не надо пялиться в упор), ну и плюс имеется совершенно честный GPS (против ориентирования по сотам от Nokia). И да, я в курсе, что если брать для сравнения не 5530, а, скажем, 5800, то по начинке LG пожалуй, и проиграет.

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

Но самое главное изменение - это, конечно, платформа. После свежей версии Android, старая версия Symbian^1 вспоминается как древний компьютер, который не умел думать сам и понимал только четкие и, самое главное, предельно простые указания. Что мне сразу бросилось в глаза:
  • автопереключение сетей (при выходе из зоны действия WiFi все (sic!) программы начинают работать через 3G/EDGE/GPRS);
  • при попадании в зону действия сети WiFi таковая мгновенно обнаруживается и информация об этом попадает в панель уведомлений;
  • можно одинаково легко (и даже совместно) оперировать локальными и сетевыми объектами (галереи фотографий, календари);
  • разработчики не "забили" на новую платформу, а совсем на оборот: есть куча софта, отсутствующего под Symbian - например, Evernote;
  • здесь не тормозит YouTube!
Можно продолжать еще долго, тем более, что в Android очень много хорошо продуманных мелких фишек, которые делают пользование аппаратом значительно более удобным.

Стоит, пожалуй, добавить и ложку дегтя в бочку меда: я пока не смог найти столь же удобного twitter-клиента, как Gravity. Twitter for Android не нравится единственной цветовой гаммой (белой), а Twidoyd - это вообще тихий ужас с точки зрения эргономики.

Кто-то может сказать, что можно было остаться с Nokia и взять смартфон на Symbian^3 (N8 или C7). Можно? А вот и нет. Во-первых, это будет стоить практически в 2 раза дороже. А во-вторых, я больше не игрок в лотерею со 100% браком Nokia (хватило динамика 5530).

пятница, 20 августа 2010 г.

Дороже - не значит лучше

Software is like sex, it's better when it's free
Linus Torvalds

Время от времени сталкиваюсь с мнением, что если за что-то заплачены деньги - оно всегда и во всем лучше полученного за бесплатно. Причем "всегда и во всем" возводится в абсолют.

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

Теперь следующий пункт. Здесь ситуация очень интересная. Почти всегда в бесплатном аналоге можно найти хоть какой-нибудь момент или аспект, который будет сделан значительно лучше, чем в дорогом решении. Банальный пример, который меня уже давно напрягает: проводник Windows 7 (из коробки) не умеет автоматически поворачивать фотографии на 90 градусов согласно Exif. Думаю, можно не называть вслух ОС, в которой это работает :-)

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