понедельник, 30 июня 2008 г.

Определения

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

Опредление 1.
Назовем сложным то что кроме вас никто полностью(во всех мелочах) не понимает.

Следствие из Определения 1.
Явление или объект являются сложными если даже вы полностью(во всех мелочах) не понимаете его.

Определение 2.
Назовем простым то что кроме вас поймет любой балбес.

Следствие из Определения 2.
Если явление понятно каждому то оно гениально.

Теорема 1.
Систему или явление можно сделать простой если придумать простое тому объяснение.

Теорема 2.
Усложнить можно все что угодно.

ЗЫ: в каждой шутке только доля шутки :)

пятница, 27 июня 2008 г.

Отпуск ...

Что может быть лучше отпуска? Только два отпуска :) Но я собственно не о том.

Заметил такую интересную штуку, желание поработать во время отпуска возникает как то волнообразно. Первый "всплеск" как правило приходится на 3-4 день отпуска. Если нормально "пережить" этот период, то дальше работать не хочется уже с неделю точно - просто не тянет. Самое важное в этот период - не начать что нить делать. Это как правило приводит к плачевным результатам: потерянному времени (отпуска).

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

вторник, 17 июня 2008 г.

Ощущения от Firefox 3.0

Поставил третьего огненного лиса. Супер восхищения не ощутил поэтому сразу к делу.
Что не понравилось:
1. При установке на вторую версию обновились и встали нормально только два плагина. Работать без остальных конечно можно, но жутко неудобно.
2. Ребята из mozilla реально не рассчитали что после загрузки третьей версии все ломанутся грузить к ней плагины в связи с чем, видимо, этот ресурс стал недоступен.
3. Не появилось ничего "сногсшибательного". Обещали столько нового, а получилось что просто догоняют другие браузеры.

Что понравилось:
1. Как ни крути, но пиар-акция с "днем загрузки" классная штука.
2. Все встало достаточно быстро и шустро. Почти не было проблов при первом запуске (см недостаток №1).
3. Новая версия - новый интерфейс. Новые "фичи". Особенно классно - адресная строка начала реально экономить время.
4. Вроде стал пошустрее, но надо проверять.
5. Все смотрится пока немного "ненадежным".

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

пятница, 13 июня 2008 г.

И снова терминология

Возвращаясь к теме терминологии, почему большинство терминов сухие и безжизненные?
Вот пример: есть термин рециркуляция приложений (когда приложение восстанавливается после сбоя). Только что, роясь в блогах наткнулся на термин "сервер реинкарнации". По моему звучит просто отпадно! Вот так надо называть системы.

четверг, 12 июня 2008 г.

Терминология да и только

Сегодня услышал от брата новый термин (может он его сам придумал, может где слышал) - замкадовец (человек, живущий за МКАД). Звучит примерно как иностранец.
Кто еще знает новые термины?

понедельник, 9 июня 2008 г.

На волне Web 3.0.

Что вы ищете в интернете? Информацию! В каком виде? Как правило в виде текста.
А кому приходилось искать образы? Приведу простой пример из жизни.
Для продукта потребовались иконки. Прога была маленькая и покупать для нее набор иконок не было возможности, да и напрягать дизайнера не хотелось. Что делать? Искать в интернете или рисовать самому. Я бы и рад сам нарисовать иконки, но что именно рисовать? Вот вопрос. Нужен ассоциативный ряд образов и понятий, причем не как попало, а такой, чтобы воспринимали все пользователи.
Попробуйте найти в инете иконки или образы по какому нибудь неоднозначному понятию, например - образ для понятие "Обработка гиперссылки".
Появилась идея создания ресурса для поиска готовых образов. Как все это может работать:
1. В ресурс публикуется какой либо образ (в виде картинки например).
2. Образ рассылается нескольким пользователям (+ создатель образа публикует его название).
3. Пользователи ставят образу некоторое его описание.
4. Описания анализируются и записываются в регистр.
5. При обращении пользователя к некоторому образу ему предлагаются соответствующие образы, а также смежные с ними.
6. Из найденных образов выбирается один и ставиться в соответствие поисковой фразе дополняя описание.

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

На мысль навела Алена C++. За что ей огромное спасибо.

воскресенье, 8 июня 2008 г.

Игры в которые играют люди ...

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

суббота, 7 июня 2008 г.

Что нужно программисту ... и не только

Наткнулся на статью Сергея Архипенков "Антипаттерны руководства командами разработки ПО".
Достаточно подробный обзор типов руководителей. Поучительно. Вот что оттуда вычитал:

Программист устроен просто. Он состоит из четырех компонентов: тело, сердце, разум и душа.
  1. Телу необходимы деньги и безопасность.
  2. Сердцу - любовь и признание.
  3. Разуму – развитие и самосовершенствование.
  4. Душе – самореализация.
Предоставьте все это вашим сотрудникам, и эффективность их труда возрастет многократно. В противном случае профессионалы найдут все это в другой компании, а в вашей останутся только посредственности.

Кроме того, применимо это по моему не только для программистов, но и для любой другой профессии.

среда, 4 июня 2008 г.

Ошибки важнее.

Кто обращает внимание на типы ошибок при проектировании ? Только честно ?
Лично я не обращал на них особого внимания. Перехват, обработка и запись в логи - это да, это всегда делал, но никогда почти не задумывался о том что туда пишется. До недавних пор.

А все началось с того, что у меня генерились ошибки в методах сервиса. Ну и что, скажете Вы.

А то что при падении любой необработанной ошибки вызывается FaultException и валится проксик в состояние Fault. И поднять его уже нереально - только пересоздавать и переоткрывать что просто нереально долго и жрет ненужные ресурсы.

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

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


воскресенье, 1 июня 2008 г.

Творчество или просто работа.

В работе программиста есть два существенных момента: использование существующих технологий и архитектурный подход для построения структуры приложения.
Так что же первостепенно? Что представляет из себя профессия программиста? Это творчество или рутина?

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

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

А каково ваше мнение о профессии? Кто такие программисты? Это свободные "художники" или все же работники, занимающиеся рутинным разгребанием кода?