November 2007 Blog Posts

SQL Server 2008. HierarchyId.

30 November 2007 |

Новость, может и не новость а "баян", кому надо тот уже давно знает, кому не надо и не надо. В SQL Server 2008 будет добавлен новый тип данных HierarchyId, для помощи в работе с иерархиями, т.е. значения этого типа будут хранить полный путь в дереве для данного элемента. Подробнее здесь.

В данном случае у Microsoft дела не разошлись со словами. После добавления в SQL Server 2005 типов типа nvarchar(max), xml итд, они сказали, что будут развивать это направление. И HierarchyId замечательный пример.

Architecture Journal Reader

30 November 2007 |

Microsoft выпустило новое приложение под названием "Architecture Journal Reader". Довольно простенькое приложение, предназначено для получение и чтения статьей журнала "Architecture Journal". Кто занимается разработкой на технологиях Microsoft знает такой журнал, выходит в виде pdf, содержи статьи на архитектурные темы, SOA, интеграция итд... Так вот это приложение позволяет получать новые номера этого журнала и читать их.

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

С моей же точки зрения это приложение наилучшем образом иллюстрирует написанную ранее статью Desktop VS Browser applications. И вполне очевидно, что оно будет работать на Silverlight 2.0 (ранее называемую как Silverlight 1.1), т.е. в режиме браузера.

ODF VS OOXML

30 November 2007 |

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

Но это все ерунда, по сравнению с великой битвой, которая началась давно, и со временем становиться все более и более захватывающей. Конечно вы уже догадались, что речь идет о Java VS .Net. Я лицо заинтересованное, но кажется, что тренд успехов, говорит за победу .NET. Разработчики на платформе Java, с которыми я общался придерживаются противоположного мнения. Время рассудит.

SMS + выборы

29 November 2007 |

"2 ДЕКАБРЯ ПРИХОДИТЕ НА ВЫБОРЫ! ВАШ ГОЛОС ВАЖЕН ДЛЯ СТРАНЫ!!!"

Вот такое сообщение пришло мне сегодня на мобильный телефон. Подозреваю, что не мне только. Казалось бы пришло и пришло, стер и пошел дальше по своим делам. Но можно и задуматься, а что это собственно такое. Формально это наверное подходит под категорию спам: "Спам (англ. spam) — сообщения, массово рассылаемые людям, не дававшим согласие на их получение. В первую очередь, термин «спам» относится к электронным письмам.". Хотя с другой стороны может и не спам, все таки рассылает, это провайдер. Четкой классификации этого явления я для себя дать не смог.

Наверное нужно посмотреть на задачу шире. К примеру как бы вы отнеслись получив это же самое сообщение через другие каналы: Телевидение, газета, звонок по телефону, звонок в дверь, письмо на электронную почту, письмо на обычную почту, другое...

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

PS Интересно с Юридической точки зрения это в рамках закона.

Власть и глупость

29 November 2007 |

Довольно интересная статья в компьютерре. Но самое интересное в ней это цитаты, лаконично и точно передается понятие глупости.

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

 

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

Последнее особенно здорово: "Власть одних нуждается в глупости других". Это уже не очевидное высказывание.

Синдром золотой рыбки

26 November 2007 |

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

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

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

Итак заказчик и разработчик пришли к соглашению. Разработчик понимает потребности заказчика и срочность проекта. Существует 3 возможных сценария развития событий: разработчик не успевает сделать в строк, разработчик делает все примерно в срок, разработчик успевает сделать все раньше срока. С первыми двумя вариантами все более менее понятно. Третий редок, но иногда возможен, обычно он обусловлен "pride a workmanship".

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

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

Первый раз на зимнюю рыбалку

25 November 2007 |

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

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

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

Оборудование для ловли - обычно об этом в первый раз заботится тот человек который пригласил вас на рыбалку. Как правило в этот набор входят 2 удочки и мотыльница. Единственная вещь о которой вам придется заботиться самостоятельно это складной стул или ящик - на чем сидеть. Ящик предпочтительней, так как он защищает от ветра, стул более доступен. Полезно иметь с собой шумовку, чтобы выгребать лед из лунки.

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

  • Бутерброды - простые бутерброды хлеб + колбаса. Взять лучше чуть побольше, так как на свежем воздухе аппетит обычно хороший.
  • Чай/Кофе - обязательно взять с собой в термосе чай или кофе. Не надо брать с собой минеральную воду, сок и другие прохлаждающие напитки, навряд ли вы их захотите и они очень скоро превратятся в лед
  • Шоколадку - калорийно и бодрит
  • Из алкоголя можно брать с собой коньяк. Он согревает и хорошо сочетается с кофе и шоколадом

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

fisherman

Программа для скорой помощи

20 November 2007 |

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

- Хочу автоматизировать составление графика дежурств
- Бери Excel и вперед... мы то тут при чем
- Нет там трудно, не получиться....
- (Чувствую крутит, просто ленится, делать ему ничего не хочется) Почему не получиться? У Всех получается, а у тебя не получиться.
- Бла бла бла....

Так слово за слово, и решили написать. Время есть, почему бы не помочь товарищу, может и он когда нибудь поможет. "Ты мне, я тебе. Базар какой то получается". И вылилось это в целый месяц работы по 3 дня в неделю. Закончил как раз 15 ноября 2007, очень вовремя так как 19 ноября появилась уже другая работа.

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

Пошло это в жизнь или нет еще не понятно. Наше дело протянуть соломинку утопающему. А уж куда плыть вверх или вниз, это его полное право, так сказать право на самоопределение. И самое главное, что программа передана безвозмездно в пользование на подстанции 20 и 36. Филантропия - стареем наверное.

"Тоже ведь она по-своему несчастная, эта самая лесная голытьба"

PS К чему бы все, это? Да ни к чему, просто так, зарисовки из жизни.

Cockroach (Таракан)

16 November 2007 |

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

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

Интересная научная статья, есть возможность посмотреть видео, ссылки в конце статьи.

Windows ClearType Tuner

16 November 2007 |

Microsoft тратит тратит кучу денег на технологии отображения текста, вы можете потратить 30 секунд, чтобы всем этим воспользоваться. Возможно отображение шрифтов у вас уже настроено, а может и нет, проверьте.

Опрос

16 November 2007 |

Представьте себе такую ситуацию. Террористы захватили 3-х заложников и они в обмен на их жизни требуют выдать 1-ого человека, чтобы убить его. Заведомо известно что вы им помешать не можете, и все произойдет именно так как они говорят. Ни те 3-ое, ни этот один не являются виновными в чем либо. Обычные люди не хуже не лучше друг друга. Вам необходимо принять решение обменять жизнь одного на жизни 3-х. О том что вы приняли это решение никто знать не будет. Отказаться от принятия решения невозможно. Вопрос, какое решение вы примите. Проголосовать можно здесь в блоге на панели справа.

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

Project Estimate

14 November 2007 |

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

Краеугольный камень в управлением проектами это конечно планирование. И самый показательный этап это оценка трудозатрат. Вот где становятся отчетливо видны проблемы компетенций менеджмента. Как обычно происходит оценка проекта если это не presale. Очень грубо примерно так проект делится по задачам, разработчкам предлагают оценить трудозатраты, результаты "суммируют" и получают оценку проекта. Многие менеджеры в этот момент любят "блеснуть" своим мастерством - пытаясь сделать так чтобы разработчики считали эти оценки обязательствами. В подавляющем числе случаев это элементарное перекладывание проблем с больной головы на здоровую - попытка компенсировать низкую квалификацию менеджмента, за счет психологических уловок.

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

Да, да... мы уже слышим ваши возражения, ну что же теперь не оценивать, не планировать, без этого же нельзя. Конечно мы с вами согласны без этого нельзя, но во первых это прямая обязанность менеджера и лучше что здесь можно сделать это повысить его квалификацию. Начинается все с шаманского умножения на число Pi, затем начинают задумываться об управлениях рисками и самое главное менеджер должен быть в курсе как в жизни выглядит разработка ПО.

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

Snippet Editor

14 November 2007 |

Пользователи VS2005 и VS2008 в курсе что такое Snippet. Тем кому приходиться писать много кода, понимают всю ценность этого механизма. Не требуется объяснять насколько полезна возможность редактирования этих самых Snippet. А вы знаете как их редактировать? Проще всего для этого использовать небольшую утилиту. На слово VB в названии утилиты не обращайте внимание.

К примеру в моем коде часто встречается вот такая конструкция:

private readonly string value;
public string Value { get { return value; } }

Государство и IT

12 November 2007 |

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

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

Desktop VS Browser applications

10 November 2007 |

Для работы с блогом стал использовать Windows Live Writer. Это бесплатное desktop приложение от компании Microsoft. Позволяет редактировать, публиковать сообщения. Контраст с редактором который предоставляемым Google, такой сильный, а пример настолько жизненный, что напрашиваются очень значимые выводы. Windows Live Writer послужил катализатором, который убил сомнения, а положение вещей сделал предельно ясным.

Наиболее значимые темы в этом контексте следующие:

  • Направление развития разработки приложений на основе Internet.
  • Ситуация на рынке разработки ПО. Microsoft - монополист.
  • Проблемы разработки ПО, как области человеческой деятельности.

Что такое приложение на основе Internet? Приложения использующие Internet как транспорт и интеграционную среду. На настоящий момент существует пассивное противостояние двух возможных вариантов будущего. Первый это AJAX, Web2.0, Silverlight и другие модные слова, одним словом речь идет о приложениях работающих в рамках Browser-а. Второй это SmarClient, desktop приложение, серверная часть которого находится на Internet сервере. Здесь наблюдается классическое противостояние, преимущства одного являются недостатками другого и наоборот. На эту тему существует множество мнений. Мне кажется, что браузеры разовьются в мини операционную систему, в которой будут запускаться desktop приложения, технология WPF еще одно подтверждение этому тренду. В свете всего вышесказанного, будущие не Windows операционых систем, в качестве клиентских ОС, становится туманным. Сложность барузеров нового поколения, создаст заслон для выхода альтернативных ОС на рынок клиентских ОС. Вот таким образом, Internet обещавших равенство всех ОС, будет могильщиком этих же самых ОС.

Microsoft является монополистом в области операционных систем. В последнее время компания активно пытается расширить свою монополию на средства разработки и на интернет технологии, которые потенциально станут самим интернетом. Если все пойдет по этому сценарию, то у Microsoft не просто не будет конкурентов, ни не будет даже возможности вести с ним конкурентную борьбу. Отсутствие конкуренции может быть как благо так и принести проблемы для отрасли в целом. И в первую очередь внушает опасения ценовая политика Microsoft. Так же пугает позиция конкурентов таких как Google. Google делает ставку на AJAX, но все больше и больше становиться очевидно, что данная технология устарела еще в момент своего появления, и не может конкурировать с теми же desktop приложениями. И здесь уже можно говорить что сила Microsoft не только в монополизме, но и в умении разработки приложений, Microsoft научилось разрабатывать хорошие приложения.

Говоря о разработки ПО нельзя не упомянуть Java и OpenSource сообщество. Это явное противопоставление технологии и политики разработки от Microsoft. Причем ни технология Java ни OpenSource по отдельности не могут противостоять Microsoft. Успешность их противостояния будет определятся тем перевесят ли плюсы децентрализованного развития их минусы, и тут в сил вступает диалектика от конкретных людей и компаний уже мало что зависит. Чья позиция окажется ближе к законам мироустройства, тот и одержит победу.

IE7 feature

10 November 2007 |

В IE7 добавлена хорошая функциональность - закладки. Стандартным для переключения между закладками в таком интерфейсе является сочетание клавиш [Ctrl+Tab]. Но в IE7 есть и другое способ переключиться между закладками, возможно более удобный, попробуйте сочетание [Ctrl+Q], главное не ошибиться и не нажать [Ctrl+W].

Кстати эта заметка создана с помощью Windows Live Writer, но это уже другая тема и может не одна.

ListView & ToolTip

09 November 2007 |

ListView - в практике часто используемый элемент управления. Обычно его используют в режиме View.Details, фактически режим таблицы. Иногда содержимое ячеек в них не помещается, чтобы увидеть значение приходиться увеличиваться размер столбца. А в случае если содержимое ячейки содержит символ перевода сроки, то все содержимое посмотреть не возможно. Решить это затруднение можно, сделав так, чтобы при наведение курсора мыши на ячейку показывался ToolTip-е, содержащий значение ячейки, если это значение не помещается полностью в ячейку. Бывают такие ситуации, когда такое решение из желаемого становиться необходимым. Код компонента который решает эту задачу: ToolTipManager.cs.

DataGridView & ContextMenu

07 November 2007 |

Закон дырявых абстракций вновь напомнил о себе, можно подумать что мы о нем забыли. Вы когда нибудь работали с таким замечательным контролом как DataGridView (153 свойств, 87 методов и 187 событий), чувствуете мощь. Да, вызывает уважение. Кто бы мог подумать что возникнут проблемы с такой ерундой как контекстное меню, тьфу и растереть.

Исходная задача заключалась в следующем, есть таблица, в ней ячейки, пользователь должен иметь возможность вызвать контекстное меню для каждой ячейки. Вы видите здесь проблемы, вот и мы тоже не видели. Помните про 153 свойств, 87 методов и 187 событий. Быстренько выяснились следующие проблемы, контекстное меню выскакивает даже если мы кликнем и не на ячейку, если кликать правой кнопкой, то ячейка на которой кликнули не выделяется (проблема знакомая по TreeView), если вызывать контекстное меню с помощью клавиатуры, то оно выскакивает посередине контрола, а не рядом с текущей ячейкой. Ну какие же это проблемы, усмехнетесь вы, обычные рабочие задачи. Что же, да совершенно верно, задачи станут проблемами как только вы попытаетесь решить.

Исследования, привели к неожиданному результату, без WndProc эти проблемы корректно не решаются, вы все еще помните про 153 свойств, 87 методов и 187 событий и дырявые абстракции. Ну может мы и преувеличили, было сделано решение без использования WndProc, суть его заключалась в добавлении нового свойства - НашеКонтекстноеМеню и написание обработчиков которые показывают его, когда и где надо, т.е. теперь 153 + 1 свойство 3 из них контекстные меню. Неплохо бы вспомнить правило: "Не множьте сущностей без необходимости.". В итоге было выбрано, самое маленькое и аккуратное решение, хотя и пришлось лезть через дыру в абстракции. Возможно вам пригодиться:

Показать Код. Наследник DataGridView.

Photo RFrolov

07 November 2007 |

Многим будет интересно посмотреть фотографии "RFrolov" с Байкала, может не все видели, на мой взгляд очень красивые.

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

Цивилизованный интернет современности

06 November 2007 |

Телевизор смотрю редко, когда смотрю то смотрю новости по EuroNews. Есть у меня почта на mail.ru для спама итд И вот заходя на почту увидел ссылку "Путин после Путина видео". Название любопытно, кликнул, стал смотреть видео. Смотрел до середины, думал что черный пиар, судя по всему ошибся. Но мимо такого шедевра проходить нельзя, "рукописи не горят". Любопытно какое на вас произведет впечатление ЭТО видео - "День народного единства". Когда учился в лицее, то висела вывеска: "Вы будущая интеллигенция России", вспомнилось как-то, грустно что тогда не понял намек.

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

Binding case study

04 November 2007 |

Все началось с того что столкнулся с задачей: синхронизировать прокрутку по горизонтали у двух элементов управления DataGridView.

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

Показать Код

Многие знаю, другие подозревают, что приведенный шаблон не является единственным, а если приглядеться к стратегии Microsoft в области языков программирования, то и не является самым лучшем. С наступлением WPF все больше внимание уделяется механизму Data Binding. И для решение данной задачи, правильней использовать этот механизм. Все мы прекрасно знаем что чудес не бывает, и не обошлось без трудностей. Для того чтобы механизм Data Binding работал как надо, пришлось внести изменения в DataGridView.

Показать Код класса наследника DataGridView

Показать Код синхронизации

Отличие здесь не в объеме кода а в подходе к задаче. В очередной раз приходится заметить: Для того, чтобы оставаться на месте, нужно всё время бежать вперед.

Книга о людях и жизни

04 November 2007 |

Хорошая книга должна заставлять читателя задуматься и в конечном счете измениться, желательно к лучшему.

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

Не обращайте внимание на название книги, это не биография... PS Читается книга легко.

Visual Studio Experience

03 November 2007 |

Постоянно использую VS начиная с версии VS .NET 2002 до VS 2008 beta2. Как следствие имеются устоявшиеся настройки среды и приемы работы. Изменение настройки среды, даже и не помню по какому поводу сделанное, привело к существенному повышению эффективности работы в среде. На сочетание CTRL+W было повешено закрытие текущего окна. Удивило значение ROI. На словах это звучит не очень серьезно, но попробуйте, может тоже удивитесь.

На всякий случай. Коэффициент рентабельности инвестиций (Return On Investment, ROI) - финансовый показатель, характеризующий доходность инвестиционных вложений.

2+2=?

02 November 2007 |

Господа Товарищи не могу, и не буду притворятся, что понимаю про что говориться в заметке. Абсолютно не ясно, почему автору не нравятся нанотехнологии, почему не нравиться СССР.

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

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

Ящур - опасная болезнь скота, и можно только удивляться, что здесь он плавает на свободе.