2010-12-01

Безопасность

Машина. Долгая поездка. Пристегнытй ремнем водитель, 2 пристегнутых пассажира, один непристегнутый.
ДТП. Итог:
Водитель с синяками.
Пассажир1 с синяками.
Пассажир2 с двумя переломами.
Непристегнутый пассажир погиб.

Вы в ответе за тех кого приручили. Соблюдайте элементарные правила безопасности. Пристегивайтесь в автомобиле.

2010-07-01

Фотошоп в руках мастера

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

2010-06-30

Питер

На прошлой неделе побывал в командировке в Питере. Ночи там может и белые, но очень мокрые :)

2010-06-08

Май закончился :)

Самый приятный месяц в году, безусловно май - на деревьях появляются листья, девчонки дружно одевают мини-юбки, много выходных, шашлыка и общения. Сплошной праздник одним словом. Для меня этот май выдался без выходных и нормального отдыха. Даже клочки одежды на симпатичных девках не заставляли играть воображение. День рождения был отменен. Работал, как негр на плантации.
И когда уже ничего не предвещало хорошего, май закончился :) Ура! :)

2010-02-21

book Новостная журналистика

По ссылочке от eao197 прочитал книгу Александра Амзина Новостная интернет-журналистика (pdf, ~400кб).

Краткая рецензия со стороны не-журналиста.

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

Сильные стороны книги.
  • Написана интересно. Читается на одном дыхании.
  • Написана по делу (имеет определенные цели и их достигает).
  • Написана толковым профессионалом знающим и любящим свое дело. Это важно. Содержит большое количество примеров.
  • Советы и рекомендации вызывают доверие. Это в свою очередь заставляет вдумчиво относиться ко всему материалу.
  • Не содержит очевидных ошибок и грубых ляпов. Детальная проработка материала вызывает уважение.
  • Какое-то количество идей и рекомендаций вполне можно использовать не только для новостей и не только для журналистики.
  • Имеет небольшой объем. 68 страниц, включая обложку. Чтение не займет много времени.
  • Навскидку не смог найти слабых сторон :)
Итог чтения. Увидел ляпы в своих текстах. Если точнее, часть из них видел их и раньше, но не понимал, как с их исправлять. Книгой очень доволен. Спасибо автору.

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

life.politics.impression


Путин: Роль Собчака в становлении новой России колоссальна
Росбалт.RU - все похожие новости: 193 »

google.news

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

2010-02-16

Бардак в управлении. Пример из жизни.

Время от времени в блогах встречаются темы о плачевном состоянии отечественного менеджмента и клиническом бардаке, создаваемом отдельными лоботрясами на важных постах. Особенно в гос. компаниях. Хочется дополнить список рассказов еще одной историей и заодно пояснить, что плохое бывает не только "у нас" и слабый менеджер явление, скорее планетарное, чем чисто отечественное. Речь пойдет о внедрении ClearCase в компании, где мне довелось работать. Думаю, что CC в представлениях не нуждается, но на всякий случай - ClearCase это такая дорогущая VCS (Version Control System) от Rational (IBM).


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

Предыстория aka "О компании".
Несколько слов о самой организации и культуре разработки в ней. Пациент - средних размеров (зарубежная) хардварная контора. Куча офисов по всему миру, но в этой истории, в поле нашего зрения будут только два из них.Офис разработчиков в Москве и офис разработчиков в Сан-Франциско (?).
Я работал в московском офисе, в отделе, занятом разработкой софта. Спустя какое-то время после устройства на работу, с удивлением для себя обнаружил, что система контроля версий в отделе/филиале/компании не используется. Соответственно, на ближайшем из совещаний предложил начать использовать (внутри отдела) этот полезный инструмент. Смысл ответа был примерно таким: пробовали, использовали, потом забили. "Зачем она нужна не очень понятно. И без нее все хорошо". Хорошо так хорошо, ответил я и тут же установил себе локальный SourceSafe. Была такая простая программулина от Microsoft. Несмотря на скромные размеры и возможности, вести с ее помощью небольшие проекты было весьма удобно. Контора жила своей жизнью, я своей и мы счастливо занимались каждый своими делами.

По сложившейся ситуации мои задачи лежали немного в стороне от производимых отделом embedded-проектов, поэтому созерцать происходящее удавалось немного со стороны.
(Разработка в основном велась на какой-то из версий Embedded Visual C++).

Итак о происходящем. Время от времени меня звали на помощь, когда речь шла о какой-то нетривиальной ошибке.
Тогда я имел удовольствие познакомиться со структурой наших проектов. Эта прелесть заслуживает отдельного описания. Когда-то давно, один умный человек написал первое приложение под одну из наших железяк. Вскоре кому-то другому понадобилось писать следующее приложение, во многом похожее на первое (скорее всего речь шла об адаптации под новую железку). Сделано это было с подкупающей простотой - первый проект был скопирован в директорию по соседству, а затем в него были внесены необходимые изменения. Процентов 90 кода осталось прежним. Потом потребовалось третье приложение - и рядом с первыми двумя, выросла третья директория. Потом еще одна. И еще. Так их стало количество выросло до 15-20. Тогда кому-то в душу начали закрадываться сомнения "а правильным ли путем мы идем"? Его сосед, будучи не в силах отказаться от паттерна копи-паст, чтобы не травмировать коллегу, копировал давно знакомый код уже не в общую, а во вложенную папку - количество проектов снаружи не изменилось, а что там внутри - дело десятое.
Спустя несколько лет каждый файл оказался скопированным бессчетное количество раз и разобраться во всем переплетении кода не могла ни одна живая душа.
Когда это безобразие всем порядком поднадоело, достойные люди договорились, что большие никто не будет плодить новые директории, а будут использованы файлы из существующих проектов.
Однако бардак вышел на качественно новый уровень, потому как быстренько было найдено противоядие. Никогда не догадаетесь какое. Директории уже действительно не копировались, но! Когда в какой-то из файликов требовалось внести изменение, внутрь добавлялась конструкция #ifdef #else #endif. После #else использовался старый код, а после #ifdef новый. Потом - в настройках проекта определялся макрос. Макрос определялся для одного единственный файла (!!) проекта. Обнаружить такую пакость в среднем проекте практически нереально.
Часто, компиляция рабочего проекта превращалась в подбор необходимых макросов в каких-то cpp файлах. Это был реальный кошмар.

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

Присказка закончена. Теперь сама история.

В один прекрасный день менеджмент решил поощрить инженеров и было принято решение о дорогостоящей покупке, позволяющей упростить жизнь разработчиков: ClearCase!
Когда начальник сообщал об этой новости он всеми силами пытался выдержать оптимистичный тон и рассказать насколько это полезное приобретение и как оно упростит жизнь. Да и квалификацию поднимет. Получалось у него не очень убедительно. Коллеги изрядно приуныли. Я сочился счастьем - наконец-то! Такая полезная вещь!
Кстати, о стоимости внедрения. Счет исчислялся миллионами. Из них треть была направлена на покупку лицензий ПО и две трети на обучение персонала. (Имел ли место здесь откат и если да, то сколько он составлял - понятия не имею).

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

Расскажу об очень интересной практике - способе мержинга файлов.
Сразу после начала использования ClearCase (внезапно) оказалось, что код написанный разными командами, надо как-то объединять (тут должен стоять смайлик с кривой ухмылкой). Делать это каждый день оказалось слишком хлопотно, поэтому для простоты, мержинг между кода решили проводить раз в неделю - в пятницу. Коммуникации между командами были откровенно слабыми.
В начале рассказа я упоминал, что один офис разработчиков находился в Москве, второй в Калифорнии. На практике это означает 11 часов разницы между офисами. Т.е. последний московский трудоголик уходил из офиса до того, как первый американский приходил на работу. Поэтому специалисту занимавшемуся мержингом кода оставалось только догадываться, что там написали другие люди в другой стране со своими другими проблемами.
Когда стало понятно, что мержинг это отдельная задача и она требует отдельных усилий, было принято решение поручить ее какому-то сотруднику. Ни за что в жизни не догадаетесь кому.

Ответственным за мержинг проектов был назначен системный администратор!!! Описываю гениальную схему работы. Последний русский трудоголик вносит изменения в ClearCase в 18-00 по Мск. Спустя 11 часов (18-00 в С-Ф) последний американский трудоголик вносит изменение в ClearCase и делает автоматический мерж (и случается ахтунг). Админ запускает студию и исправляет ошибки.

У нас был "хороший админ" (это цитата). Он исправлял ошибки (компиляции, конечно) и уходил домой с чистой совестью. Действительно, хороший админ. Безусловно, это был второй ахтунг и почище первого - как может человек будучи не в курсе проектов вносить в них изменения?!

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

Потом "хороший админ" уволился (или повесился). Пришел плохой админ. Он не знал C++ и не мог мержить файлы. Как-то раз он даже приезжал в Москву с целью поговорить с моим начальником и привести безобразие к какому-то нормальному виду. Начальник делал каменное лицо и с головой уходил в работу. Когда каменное лицо переставало помогать, начальник прятался от админа по всем щелям. Щелей было много, а дней командировки мало. Так и уехал админ домой, даже не обсудив толком проблему.
Тогда поведение начальника вызывало мое хмурое неодобрение, но сейчас понимаю, что этот мудрый человек видел невозможность улучшений в сложившемся болоте.

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

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

Какие выводы удалось сделать для себя.
1. Решать надо реально существующие проблемы. Наиболее простым способом. Без лишних затрат.
2. Любой инструмент можно использовать неподобающим образом. Чем сложнее инструмент тем более неподобающим образом он может быть использован.

Надеюсь, Вас подобные ситуации будут обходить стороной :)

C&C freeware

Electronic Arts подарила поклонникам Command & Conquer три игры
Издательство Electronic Arts выложило для бесплатного скачивания три игры сериала Command & Conquer, сообщает 1UP. Проекты Command & Conquer (также известный как Command & Conquer: Tiberian Dawn), Command & Conquer: Tiberian Sun и Command & Conquer Red Alert можно скачать на официальном сайте серии.

Первая часть Command & Conquer вышла в 1995 году. Стратегия Red Alert, являющаяся приквелом к событиям первой части и положившая начало серии ответвлений, появилась в продаже в 1996 году. В 1999 году был выпущен сиквел к первой части, получивший подзаголовок Tiberian Sun. Вместе с Tiberian Sun пользователи могут загрузить дополнение Firestorm.

Решение издательства выложить три игры для бесплатного скачивания связано с тем, что в марте в продаже появится стратегия в реальном времени Command & Conquer 4: Tiberian Twilight. В Северной Америке релиз игры состоится 16 марта, а в европейские магазины она поступит 19 марта.

http://www.lenta.ru/news/2010/02/15/forfree/
http://www.commandandconquer.com/classic


C&C это масса ярких впечатлений: первые стратегические игры, первые сетки и сетевые игры, видео (!) между миссиями, стада мамонтов, сражения до глубокой ночи ... :)
Роскошная новость!

2010-02-13

РСДН.flames

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

Постепенно, там сложилась своя форма общения. Более вольная. Более жесткая. Не принимающая оппонента.

В последнее время, завсегдатаи флеймовых форумов начали переносить свой тип ведения разговоров в тематические форумы. Как это выглядит:
  1. Люди не готовы признать ошибки или отойти от своего мнения. Видимо, это равносильно признанию поражения.
  2. При выборе между скандальным развитием топика и нормальным, выбор делается в пользу скандального.
  3. Если есть возможность перевести общение на оппонента, его недостатки или непонимание чего-либо, этот переход делается. Желательно в унизительной форме.
  4. Активно используются различные виды софистики.
  5. Притупляется чувство нормального общения. Т.е. для людей переход за грань хамства не является проблемой, возможно они даже не замечают этого. И как следствие пункта 1 не принимают комментариев по этому поводу.
Мне попалось на глаза лишь несколько таких случаев, но они достаточно показательны.

Выводы простые.
  • К сожалению сама по себе эта зараза никуда не денется - терпение модераторов растянуто "Священными войнами" и тонкие нарушения правил они пропускают на автомате.
  • Не допускать сваливание топика в ругань и сохранить себе нервы относительно легко - достаточно игнорировать священных персонажей.
LangDetecten>ru YahooC
непростых

2010-02-08

Оскал копирайта

Признаться, ютуб начал надоедать такими сообщениями:
Это видео содержит материалы от партнера Sony Music Entertainment. Для вашей страны доступ к этим материалам больше не предоставляется.


Чем дальше - тем больше их начинает появляться. Причины возникновения непонятны.

Задать вопрос в официальный форум уже нельзя.
http://www.google.com/support/forum/p/youtube?hl=ru
Этот форум теперь является архивным. Это означает, что Вы можете искать и просматривать старые сообщения в этом форуме, но Вы больше не можете задавать свои вопросы на этом форуме.


Вообщем, даже если ты не хочешь становиться злом, то тебя им сделают.

2010-02-06

2010-02-02

2010-01-28

Ожидание эволюции нетбуков

Летом 2008 года купил себе один из первых появившихся нетбуков - MSI Wind U100, проявивший себя как удачная и достойная модель.
Впоследствии, отслеживая события на железячном рынке, стало понятно, что для полного счастья в нетбуке не хватает тачскрина. Поразмышляв еще немного пришел к выводу, что сам по себе тачскрин радости принесет не много - т.к. им будет неудобно пользоваться. В итоге мечты об идеальном нетбуке приобрели завершенность - если монитор сможет разворачиваться на 180 градусов вокруг вертикальной оси и потом опускаться на клавиатуру обратной стороной, то компьютер за пару секунд сможет легко превратиться в удобный планшет, который исходя из моей практики использования Wind-а требовался гораздо чаще, чем классический ноутбук.
Появление нетбуков с тачскрином казалось вопросом времени, а вращающийся монитор - вопросом смекалки производителей. Время однако показало, что тачскрин в качестве стандарта на рынке не прижился и как следствие, трансформер нетбук-планшет в продаже не появился.
Столь длинное вступление посвящено появлению iPad-а :), который как мне видится, может оказаться очень перспективной моделью. Нетбука из него, конечно, не сделаешь, но лично для меня планшет сейчас гораздо интереснее.
Плюсы:
  • монитор на IPS матрице!
  • 10 часов работы. Даже если будет тянуть 8, это очень хорошо.
  • тачскрин
  • цена не выглядит запредельной (есть чему удивиться)
Минусы:
  • отсутствие usb (прямо, загадка)
  • однозадачность. Это в наше-то время (?!)
  • в устройстве было бы приятно видеть отсутствующий ридер для sd/sdhc карточек
  • есть опасения, что вес под килограмм, это много. Надо пробовать
  • со стороны, жизнь владельцев iPhone выглядит сплошным мучением в поисках возможности нормально перепрошиться. Как бы подобная судьба не ожидала склонных к экспериментам обладателей iPad
Несмотря на тему дня - ругань Apple, это первый из продуктов яблочников, который я буду ждать и даже возможно куплю :)

2010-01-21

ДТП

Однополосная дорога. Пробка. Машина спереди. Машина справа. Первый водитель ведет машину дерганно, резко трогает и резко останавливается. Второй обогнал две машины по обочине и пытается влезть вперед. Пускать хама на дорогу нет никакого желания. Максимум внимания правой машине - чтобы не притереться. Водитель спереди резко останавливается. Я замечаю это поздно и не успеваю затормозить, хотя скорости минимальные, может 5 км/ч...
Через минуту разговариваем с водителем передней машины. Оба спокойны, смотрим повреждения. Его жена кричит и нервничает. В итоге разъезжаемся. Итог - мелкая потертость на бампере и разбитый бочек омывателя.

2010-01-18

Убийство 5000 спамерских комментариев.

На днях решил реанимировать HTMLayout Lab. Этому сильно мешали ~5 тысяч спамерских комментариев. Wordpress, к сожалению, не предоставляет возможности удалить разом все ожидающие модерации комментарии.

В стандартной поставке (без плагинов) предлагается три режима проверки комментариев: поштучный, Mass Edit Mode (по 20 штук) и просмотр всех комментариев гаком.
Поштучное удаление было забраковано сразу как бесперспективное, все комментарии на одной страничке Wordpress показывать отказался сославшись на ошибку внутри себя.
Пришлось довольствоваться удалением пачками по 20 штук. Ровно через 40 минут пришло понимание, что удалены жалкие проценты от общей массы, а для полной очистки от хлама придется провести за компьютером всю ночь. Тормозной хостинг настроение тоже не поднимал.

Помощь была найдена в лице плагина Akismet. Нюанс заключался в том, что после установки Akismet, потребовалась его активация. Для получения кода активации потребовалась регистрация на wordpress.org. Для получения регистрации пришлось заполнить анкету и провести активацию аккаунта (не путать с активацией самого акисмета). Одним словом, по объему головной боли разные способы борьбы со спамом отличаются несильно :)

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

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

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

Как следует проматерившись поправил все значения и почти сразу движок заработал, выдавая по 175 сообщений на страничку (потребовалось еще расширить некий буфер с 25 до 200 сообщений). Еще через полчасика, таки удалось очистить весь спам.

Хеппи энд, блин.

Два дня спустя Akismet гордо заявляет о 200 прибитых спамерских сообщениях. Похоже, работает :)