October 2007 Blog Posts

Дилберт на русском

30 October 2007 |

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

Чтобы понять рекурсию надо понять рекурсию

File Encoding

30 October 2007 |

Проведём мысленный эксперимент. Предположим что у вас есть 30 текстовых файлов в кодировке cp866 (Cyrillic DOS) и вам требуется перекодировать их в UTF-8. А теперь вопрос: как вы это сделаете? Если смысл ответа: посмотрю какие программы могут это сделать, посмотрю в интернете итд..., то приходиться признать, не способность совершить такую элементарную вещь. Столкнувшись с такой проблемой, я был удивлён и ещё больше был удивлён когда поиск не дал быстрого решения. Через 30 минут, пришло понимание, что быстрее и надёжней написать самому.

Скачать программу можно отсюда.

Agile Management by Insanity

29 October 2007 |
Сегодня разошлась по интернету ссылка на статью. На всякий случай продублирую, вдруг до кого не дошла. Статья из серии интересно почитать.

Сохрани мысль...

27 October 2007 |
Бывает такое, приходит в голову хорошая мысль, или слышишь афоризм, хочется запомнить. Чудес не бывает, а голова не бездонная емкость, в которую можно
бесконечно складывать все что хочется. Забывания это нормальное и даже полезное свойство мозга. Осознание всего этого не избавляет от желания вернуться к мысли или афоризму позже, когда она уже забудется, ведь было так здорово в первый раз.

Читать дальше...

Ясность речи - ясность мысли.

Repeated "баян" in Software Engineering

26 October 2007 |

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

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

Вы матросские робы, кровавые ваши мозоли
Не забудьте, ребята, когда-то надев кителя!

Для своих...

23 October 2007 |
Тем кто имеет отношение к СИ, будет забавно.

Life in expression

22 October 2007 |
По сообщению ИТАР-ТАСС, после божественной литургии в Богородице-Рождественском женском монастыре Москвы патриарх Алексий обратился к лидеру партии «Справедливая Россия» Сергею Миронову со словами: «Благословляю вас на участие в выборах, на дела праведные во имя счастья народа».
Как передает ИТАР-ТАСС, председатель правительства России Виктор Зубков принял решение ввести персональную ответственность чиновников за выполнение правительственных решений или поручений. «Раньше, к сожалению, такого не было», — заявил Зубков.
По информации газеты «Вашингтон пост», руководство американских телекомпаний NBC и СBS отказало администрации Белого дома в просьбе предоставить эфир Госсекретарю США Кондолизе Райс в воскресных информационно-аналитических программах. По информации газеты, руководство телекомпаний мотивировало отказ недостаточным авторитетом Госсекретаря США в вопросе войны с Ираком, бывшем темой этих программ.
Уполномоченный по правам человека в Чечне Нурди Нухажиев заявил, что Гарри
Каспаров, помимо законных мер, может быть наказан и с помощью (цитирую) «других
мер, которые допускает Кавказ».

Все приведенные цитаты взяты отсюда.

.NET 2.0 MonthCalendar VS Vista

20 October 2007 |

В .NET 2.0 есть элемент управления: MonthCalendar. А у него есть свойство BoldedDates - массив дат, которые показываются жирным шрифтом. И все бы было хорошо, если бы не было плохо. Оказалось, что в Windows Vista не показываются эти даты жирным шрифтом. Не большое расследование показало, что во всем виновата плохая "тема" - "Windows Vista", кстати говоря стоящая по умолчанию. По всей видимости, это не единственное свойство, которое не работает по этой причине. Вот в какую неприятную ситуацию можно попасть, или просто "попасть"...

На картинке некоторые даты выделены жирным шрифтом. Видите суслика? Нет? А он есть.

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

Показать Код. На примере наследника от MonthCalendar.

А вот и результат. Так "суслика" видно лучше, не правда ли?

Мораль: Спасибо Microsoft, что заботится о разработчиках. Разработчики всегда будут нужны, пока нужно сопровождать программы при переходе на новые версии ОС.

F# news

18 October 2007 |
А вы знаете что..., или вот. Не слишком ли много языков, по всей видимости не обошлось без политики, ходит мнение, что Microsoft все больше и больше превращается в бюрократическую организацию, на подобие IBM.

Лидеры западного софтосроения

18 October 2007 |

Статья – сравнение, Microsoft и Google. Только факты, "No Comment", может сделаете для себя какое нибудь интересное умозаключение. Для меня, к примеру, было интересно, что в качестве Office Suite в Google используют Google Docs.

Screencast что, зачем, как...

14 October 2007 |

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

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

"Так всех нас в трусов превращает мысль..."

Первый и фактически единственный вопрос, который возникает после желания создать screencast, это "Каким приложением воспользоваться?". Дальше дело техники. Когда у меня возник этот вопрос, сразу возникло неприятное ощущение, что придется читать обзоры, пробовать различные программы, и заниматься различными другими скучными вещами. К счастью практически сразу выяснилось, что существует такой продукт как Windows Media Encoder 9 Series, на этом обзор продуктов закончился. Это скорее всего не самый лучший продукт, но я его выбрал сразу, даже не рассматриваю другие продукты по двум основным причинам. Во первых продукт бесплатен и во вторых поддерживается компанией Microsoft.

В качестве примера приведу screencast для заметки. Преимущество в доходчивости очевидно, по сравнению с существующем текстом заметки.

Visual Studio Debugger Trick

11 October 2007 |

Большинство разработчиков любит проектировать и реализовывать приложения с "богато-запутанной" объектной моделью. Для таких приложений отследить жизненный цикл объекта становиться затруднительно, где, кем и как он там обрабатывается. В Visual Studio существует возможность, которая поможет в этом деле... "Object ID" позволяет отслеживать жизненный цикл КОНКРЕТНОГО объекта в режиме отладки, как бы глубоко вы в этот режим не погрузились.

Показать Код примера (C# 3.0)

Установите breakpoint
В режиме отладки наведите курсор на переменную
На появившемся выплывающем окне кликнете правой кнопкой
В контекстном меню выберете "Make Object ID"

В окно Watch добавьте строку 1#

Теперь в режиме отладки перемещаясь с помощью F10 и F11 вы будете видеть объект и его состояние.

Более детально смотрите здесь.

Command line in real life

09 October 2007 |

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

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

Матчасть
Windows предоставляет два способа использовать командную строку для запуска приложений: панель Адрес и диалоговое окно "Запуск программы" - (Win+R).
"Панель Адрес"
- если строка не команда и состоит из одного слова, то интерпретируется как URL
- если строка не команда и состоит более чем из двух слов, то интерпретируется как "выполнить поиск по словам"
- помнит историю только Web адресов
"Запуск программы"
- если строка явно не Web адрес, то интерпретируется как команда. (Не google.ru, а http://www.google.ru/)
- помнит историю запуска как команд, так и Web адресов

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

Итак, вы хотите создать команду с "хорошим" именем выполняющим нужные вам действия, для этого вам необходимо:
1. Создать bat файл, см пример. Внимание расширение у файла должно быть именно bat, а не cmd.

Показать Пример bat файла. l.bat

2. Разместить этот файл в одной из директорий прописанных в переменно PATH

После описанных выше действий в командной строке можно будет выполнять команды вида: [имя bat файла] [команда из файла]. Для l.bat это к примеру: [l blog].

Мораль
Возможности определяют потенциал. Не наоборот.

О СМИ...

07 October 2007 |
Вы смотрите телевизор? Читаете газеты? Все это вы делаете перед едой?

Удивительно интересный репортаж показали по телевизору. Удивительно что интересный и удивительно что показали. Если вдруг вы его не смотрели, обязательно посмотрите http://www.euronews.net/index.php?page=interview&article=444208&lng=10. Его надо именно смотреть. Проводить параллели не буду, во первых их много и они разнообразны, во вторых «я еще слишком молод...» и в третьих каждый это сможет сделать сам, а тот кто не сможет тому и смотреть не надо.

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

Панель задач

06 October 2007 |
Недавно обнаружил полезную функциональность у такой обыденной вещи как «Панель задач». Распространенная ситуация: привыкнув к чему то, перестаешь искать и видеть новые возможности, действуешь по шаблону, выключая голову. Открытием стали две панели: панель «Адрес» и панель «Проигрыватель Windows Media».

Панель «Адрес»

Большинство людей, скорее всего, видело эту панель, вопрос сколько из них придало панели какое либо значение и сколько людей пользуется ей. Смотря на панель не трудно догадаться, что набрав в ней адрес веб страницы вы ее и увидите, интересное наблюдение, не правда ли. Удивило другое, если вы наберете к примеру «cmd», «regedit» то получите результат, который позволит вам сделать вывод, что не смотря на заголовок «Адрес», это еще и командная строка. Раньше для подобных операция я пользовался «Win + R». И еще одна может не столь полезная, но любопытная функциональность: начните вводить имена ярлыков или папок находящихся на рабочем столе или просто путь к файлу...

Панель «Проигрыватель Windows Media» Здесь особо говорить не о чем. Windows Media Player возможно и не самый лучший проигрыватель, но если вы уж им пользуетесь и не используете эту панелью, эээ.... даже удивительно, как у вас это получается.

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

Вот вы говорите mht

06 October 2007 |
Многие знакомы с таким форматом offline хранения веб страниц как mhtIE выбрать «Файл - Сохранить как – Тип файла mht»).

Недавно столкнулся с такой особенностью. Если файл в своем имени содержит знак #, к примеру «C#.mht», то этот файл не откроется в IE. Чтобы все исправить достаточно переименовать файл или открыть его с помощью MS Word.


Огорчает, что IE сохраняет файлы с "плохими" именами. Будьте бдительны берегите свои нервы.

К чему бы все это...

05 October 2007 |
Зачем вам нужен блог?
Если я скажу что блог нужен для друзей это будет не верно. Блог нужен мне, чтобы общаться с друзьями.
Почему вы решили воспользоваться такой формой общения?
Со временем друзей и знакомых становиться больше а времени меньше. В этих условиях блог является удобным средством чтобы сообщать новости, делится информацией и мыслями. Я бы это не назвал общением, скорее это дополнительный канал для передачи информации.