воскресенье, 23 декабря 2007 г.

Ставим VS 2008 c битым фреймворком

Большую часть этих выходых я ставил VS 2008, а именно .Net Framework 3.5 :)
Приседал долго, решения моей проблемы в инете нет.

Итак, что же делать, если у вас не ставится Framework с такими вот сообщениями в логах:

Microsoft .NET Framework 3.0a: [2] Error: Installation failed for component Microsoft .NET Framework 3.0a. MSI returned error code 1603

Note: 1: 1935 2: 3: 0x80131107

MSI (s) (AC:94) [01:44:26:328]: Hello, I'm your 32bit Elevated custom action server.
MSI (s) (AC:10) [01:44:27:734]: User policy value 'DisableRollback' is 0
MSI (s) (AC:10) [01:44:27:734]: Machine policy value 'DisableRollback' is 0
Action ended 1:44:27: InstallExecute. Return value 3.

C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe ===
ServiceModelReg [01:22:22:796]: System.InvalidOperationException: Unable to generate a temporary class (result=1).
error CS2018: Unable to find messages file 'cscompui.dll'


Проблема в том, что у меня были как-то некошерно установлены Framework 2.0, 2.0SP1, 3.0
Как результат - установка 3.5 не видела Framework 2.0, сносила все из \Windows\Microsoft.Net\Framework\v2.0.50727, и запускала установку 2.0SP1. Установка же 2.0SP1 свою регистрацию обнаруживала и спокойно завершалась, ничего не устанавливая. Такая вот лапша.

Переустановка Framework 2.0 в этом случае не помогает, почему-то она не умеет себя чинить полностью.
Помогает установка Framework 2.0SP1.
После этого Framework 3.5 устанавливается нормально.

среда, 12 декабря 2007 г.

Цветовая схема в Visual Studio

Жаль, что Microsoft не поставляет с Visual Studio альтернативные настройки цветов для IDE - а-ля "чёрный-на-f0f0f0".

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

С VS 2005 дела обстоят несколько лучше - в сети доступно множество схем с пониженной контрастностью (Atwood хорошо все описал здесь).
На Is your IDE Hot or Not стащил ZenBurn, в целом доволен:



Пришлось поменять только цвета для выделенного текста.

Да, недавно ещё нашёл в Windows XP ClearType. Сижу, наслаждаюсь :)

понедельник, 26 ноября 2007 г.

Howto: contribute a patch to Open Source project

На выходных рылся в исходниках dasBlog, наткнулся на интересную статью Scott Hanselman-а: How to contribute a patch to an Open Source Project like DasBlog - подробное описание, как с помощью TortoiseSVN(TortoiseCVS) и Visual Studio сделать заплатку к open source-проекту, имея read-only доступ в репозитарий.

Жаль, dasBlog перестал развиваться - отправил бы русские resourcestrings, сделанные носителем языка, а не Babelfish :)

понедельник, 12 ноября 2007 г.

Android. Google не перестает удивлять :)

Первые слухи о GPhone поползли по сети около месяца назад. 26 октября Иван Красин, сотрудник Google, намекал нам о чем-то очень новом и очень закрытом. Похоже это и был Android :)

5 ноября Google объявили о создании Open Handset Alliance(Google-Motorola-HTC-etc) и технологии Android создания приложений для смартфонов нового поколения. Android позиционируется как Open source-платформа, доступная всем производителям аппаратуры и ПО.
12 ноября выпущен SDK для Android. Создатели лучших приложений (вернее, прототипов приложений - первые телефоны с Android появятся не раньше чем в апреле) для этой платформы получат поощрения из фонда Google размером в $10млн.

В промо-видео Sergey Brin и Steve Horowitz рассказывают о возможностях Android.
Google maps, интегрированная с Контактами, фотосервисы с геопривязкой, все это на смартфоне - выглядят потрясающе. Только вот примеры кода на Java жутковаты.

P.S. Sergey Brin на в видеороликах меня просто убивает :)

вторник, 30 октября 2007 г.

WSS for internet sites

Очень интересная статья на spsfaq: How do I know work out the licencing for MOSS 2007, especially with an Internet facing site? .

Как легально выставить Sharepoint-сайт в интернет?
Для MOSS нужны Client Access Licences ($100/шт) на каждого пользователя или MOSS for internet sites ($40k). Цены здесь

Для WSS 3 не нужно ничего, кроме лицензии на Windows Server. Если вы пользуетесь SQL 2005 Express. Почувствуйте разницу :)

Образ приложения на примере Lotus Notes

В блоге Khoi Vinh - substraction.com эмоции автора по поводу рекламы Lotus Notes 8:
Эта утка рождена разрывать мозг
Эта утка рождена разрывать мозг

Я делаю все, чтобы мои пользователи не представляли моё приложение как нечто этакое

пятница, 26 октября 2007 г.

Встреча Google со студентами ПГУ

23 октября в актовом зале 1го корпуса Пермского Государственного Университета прошла встреча Google со студентами этого самого университета.

О встрече этой я узнал 23 октября, как и большинство пришедших. От ПГУ присутствовало где-то 80 человек, от Google я насчитал троих.

Иван Красин, разработчик в Google, рассказывал нам о вкладе Google в историю человечества и новых сервисах Google.

С презентациями Иван уложился в течение часа (Don't be evil, books.google, orkut, docs.google, gmail, Google Calendar, Google Earth, maps.google, Subscribed links, Don't be evil), потом были вопросы.

Выяснилось, что студентам ПГУ больше всего интересна работа в Google и геоинформационные сервисы Google.

На выходе раздавали одежду и канцтовары.

четверг, 25 октября 2007 г.

Simian - Similarity Analyser

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

Simian это command-line утилита, об интегрировании Simian в интерфейс Visual Studio написал Howard van Rooijen в своем блоге.
Способ вызова в последней версии (2.2.17) отличается от описанного по ссылке, вот скриншот с верными настройками Simian 2.2.17 для сканирования всех cs-файлов в Solution-е:


Simian бесплатен для использования в некоммерческих проектах и для ознакомительных целей.

Мне пора завязывать со Static code analysis tools - последнее время мне кажется, что они могут приносить какую-то пользу :)

среда, 17 октября 2007 г.

Яндекс, поисковая реклама и Народ 2.0

Сегодня в Перми прошел семинар Интернет-реклама: итоги и перспективы. Рекламные возможности Яндекса.

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

Интересно другое - из 200 человек, собравшихся в актовом зале главного корпуса ПГТУ, по крайней мере 100 пришли на семинар по делу. В зале нашлись и люди, размещающие рекламу, и веб-дизайнеры, и люди, занимающиеся поисковой оптимизаций. Нашлись бета-тестеры новых сервисов яндекса и вебмастера-страдальцы, забаненые Яндексом. Степень проникновения Яндекса в наш городок-миллионер оказалась для меня неожиданной :)
В связке постоянно используемых мной сервисов Яндекс не числится - хотя бы потому, что 6 рекламных объявлений на странице результатов поиска для меня тяжеловато. Я адепт сервисов Google / bloglines / del.icio.us. Тем более для меня удивительно, что к концу семинара сотрудники Яндекса достаточно убедительно играли роль властителей рунета.

Были ещё 2 факта:
1) по утверждению Алексея Амилющенко, более 100 участников семинара вышли на страницу регистрации участника семинара с медийного баннера, рассказывающего о семинаре. Этот баннер был размещен Яндексом на Яндексе, и в течение нескольких недель крутился с геотаргетингом на Пермь. Мне почему-то казалось, что большая часть придет по прямому адресу.
2) к концу 8-часового семинара Алексей Амилющенко обмолвился о формировании в Яндексе команды для работы над Народ 2.0. Сам я не пользуюсь народом, но для многих моих друзей эта новость, уверен, окажется интересной. Быстрый lookup словосочетания "Народ 2.0" в сети ничего не дал, и это даёт мне основание надеятся, что я с этой новостью займу место в мировой истории наряду с Прометеем :)

update: Материалы с семинара пользуются спросом, потому выложу прямую ссылку на Яндексе - все презентации (ppt-формат)

Фотографии с семинара есть здесь, я там есть.

Если соберусь, скоро напишу про "Встречу Google со студентами ПГУ 23.10.2007" .

вторник, 16 октября 2007 г.

Thoughts on “Enterprise Software’s Youth Drain”

В блоге Chareles Hudson More Thoughts on “Enterprise Software’s Youth Drain” статья на интересную тему - передовая американская молодежь не стремится в Enterprise Software development.

То, что она вообще не очень стремится в Software development, известно :). Констатируется другое - софтверные компании, производящие "тяжелые" решения для бизнеса, постепенно стареют.
Причины для этого:
- всеобщая помешанность на Web 2.0 и социальных функциях сети
- руководящие должности в Enterprise Software development компаниях чаще занимают убеленные сединами ветераны
- образ клиента (лица, принимающего решения на стороне клиента) таких компаний - не молодые люди
- карьерная лестница в таких компаниях выше и сложнее, чем в software shops и стартапах
- для web-стартапов образ клиента - молодые люди
- перспективы в web-стартапах и просто небольших компаниях кажутся бОльшими и легче достижимыми, чем в Enterprise Software development

Все эти аргументы можно оспаривать, но мне почему-то хочется с ними соглашаться

понедельник, 15 октября 2007 г.

ASP.NET MVC Framework

Scott Guthrie в своем блоге ясно описал новую uber-технологию от Microsoft: ASP.NET MVC Framework, и её преимущества.

Явное разделение кода Web-приложения на Models (data access в моем представлении), Views (отображение данных как таковое) и Controllers (организация взаимодействия с пользователем, логика работы web-морды) даёт:
  • Unit-тестинг и TDD-разработку web-приложений естественным образом. Models и controllers могут разрабатываться и тестироваться без ASP.Net как такового. Неудобно тестировать только Views - но в них объем проблемного кода по идее минимален.
  • Модульность и расширяемость всего приложения

  • Дополнительно в ASP.NET MVC Framework обещают
  • "very powerful URL mapping component" для RESTful адресов на подобие "~/products/edit/4". По-моему очень чисто и удобно :)
  • полную поддержку существующих фич ASP.Net - "forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture, etc". Поменяется только модель postback-а страниц - теперь все вызовы будут проходить через Controllers, а не по обычному ASP.Net page lifecycle

  • Такой вот подход Microsoft к облагораживанию и awesome-изации Web-разработки - заставить разработчика делать все правильно, исходя из самой технологии MVC.

    P.S. по ссылке есть записанные дрожащими от возбуждения руками Scott Hanselman-а презентации MVC Framework на ALT.NET Conference

    среда, 10 октября 2007 г.

    Stump's Workshop: Стартапы среди нас.

    В Stump's Workshop статья Стартапы среди нас о Pawlin Technologies из Дубны, пытающихся сделать из нейронных сетей продукты для фотографов / дизайнеров / служб безопасности.
    Боюсь, для этого им потребуется быть очень упорными и очень везучими - как и всем стартапам :)

    вторник, 9 октября 2007 г.

    PoliticalBase.com - Web 2.0 о политике

    В newsfeed-е http://news.ycombinator.com нашел сайт с очень даже неплохой идеей :)


    politicalbase.com - сайт только о политике в США.

    Пополняется как модераторами, так и пользователями. Огромная база по действующим лицам, база политических вопросов, идущие и завершившиеся избирательные кампании, источники финансирования кандидатов. Справочная информация по всем вопросам, которые мне приходят на ум, когда я слышу "politicalbase.com". Форумы и какое-то модерируемое блого-вики.

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

    Интересно, когда кто-нибудь отважится делать politicalbase.ru?

    пятница, 5 октября 2007 г.

    Права в WSS3

    В блоге Joel Oleson появилось четкое объяснение, какие классы нужно использовать при раздаче прав:
    SharePoint Roles Assignments.

    Вкратце - права раздаются с помошью Role Assignments: SPRoleDefinition задаёт RoleDefinition с правами на SPWeb, SPList или SPListItem.

    SPWeb site = SPContext.Current.Site.AllWebs["Site_Name/Subsite_Name"]; //определяем роль с правами участника на нужном узле

    SPRoleDefinitionCollection roles = site.RoleDefinitions;

    SPRoleDefinition roleDefinition = roles["Definition_Name"];

    roleDefinition.BasePermissions = SPBasePermissions.AddListItems |

        SPBasePermissions.BrowseDirectories |

        SPBasePermissions.EditListItems |

        SPBasePermissions.DeleteListItems |

        SPBasePermissions.AddDelPrivateWebParts;

    roleDefinition.Update();



    SPRoleAssignment используется для добавления пользователя к роли.

    SPWeb site = SPContext.Current.Site.AllWebs["Site_Name/Subsite_Name"]; //добавляем пользователя к роли

    SPRoleDefinitionCollection roleDefinitions = site.RoleDefinitions;

    SPRoleAssignmentCollection roleAssignments = site.RoleAssignments;

    SPRoleAssignment roleAssignment = new SPRoleAssignment("DOMAIN\\User_Alias", "User_Alias@Somewhere.com", "Display_Name", "Notes");

    SPRoleDefinitionBindingCollection roleDefBindings = roleAssignment.RoleDefinitionBindings;

    roleDefBindings.Add(roleDefinitions["Role_Definition_Name"]);

    roleAssignments.Add(roleAssignment);



    Проверять, есть ли у пользователя нужные права на узел, список, или элемент списка, нужно методом DoesUserHavePermissions(SPBasePermissions permissionMask) соответсвующего класса - SPWeb, SPList или SPListItem.

    The Future of Web Startups

    Paul Graham из Y Combinator пророчит рай на земле: The Future of Web Startups
    В частности - массовые стартапы (десятки тысяч единиц в год), стандартизация в отрасли и облегчение жизни простого стартапера за счет все той же массовизации.
    Хорошо сказано и о новом отношении к образованию, месту его получения и т.п.

    Если кто-то и может вдохнуть в меня жизнь в последние дни уральской осени, то это Paul Graham :)

    вторник, 2 октября 2007 г.

    Яркость и контрастность на LCD-мониторе

    В блоге Coding Horror Jeff Atwood в очередной раз отмочил:
    статья Computer Display Calibration 101 открыла мне глаза на правильные настройки монитора :)
    Наибольший интерес в ней представляют две картинки (Jeff выдрал их из мастера настройки Windows Media Center, я воспользовался результатами его труда):


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


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

    Яркость на моем SyncMaster 205bw потребовала небольшой настройки, но вот настройки контрастности меня удивили.
    Снизив контрастность с 80 пунктов из 100 до 60, я едва стал различать пуговицы. Экран стал пугающе темным.
    Я обнаружил, что фон текста в блоге не белый, а бледно-серый :)

    Я предпринял усилие над собой и проработал около получаса с такими настройками.
    Результат - я чувствую себя гораздо более комфортно как при открытом браузере, так и окне Visual Studio с белым фоном/черным текстом, глаза заметно меньше устают.
    Такое вот открытие.

    понедельник, 17 сентября 2007 г.

    Найди миссию своей компании на Dilbert.com

    "We have committed to continually network corporate data so that we may quickly pursue progressive sources to stay competitive in tomorrow's world"

    - Dilbert.com Mission statement generator

    Как перенести Web User Control в Sharepoint

    Это скорее напоминание себе, чем полноценоое описание, но и такое описание найти непросто :)
    Итак, у вас есть ASP.Net-приложение, простроенное из "пользовательских контролов", или ascx-файлов, и вам хочется это приложение или его часть перенести на Sharepoint-портал. Простой способ выставить любое работающее веб-приложение в интерфейсе портала - стандартная "Веб-часть просмотр страниц", которая отобразит существующее приложение в iframe-е:



    Такой способ, однако, не всегда подходит - если вам нужна какая-либо функция портала (авторизация, управление правами, хранение данных и т.п.), или вы собираетесь переносимое приложение в дальнейшем теснее интегрировать с порталом, мужайтесь - приложение придется переносить.
    Переписывание интерфейса на web-части (server controls) может стать самой трудоёмкой задачей при переносе, поэтому логично в интерфейсе воспользоваться кодом существующих ascx-контролов.

    Вот неполный и весьма поверхностный список задач, выполняемых при переносе интерфейса:

    1. Выделите контролы, которые будут размещаться на страницах как веб-части. В грамотно написаном приложении некоторые ascx-контролы "верхнего уровня" прямо соответствуют веб-частям в будущем интерфейсе
    2. Поменяйте структуру приложения:
    2.1 Все ascx-контролы разместите в папке UserControls или UserControls\имяПриложения
    2.2 Файлы ресурсов (картинки, css-стили, js-скрипты) разместите в папке wpresources или wpresources\имяПриложения
    2.3 Вынесите весь код из ascx-файлов в code-behind файлы - проще будет потом решать проблемы с моделью безопасности Sharepoint
    2.4 Весь код, не относящийся к интерфейсу, вынесите в отдельную сборку
    3. Добейтесь работоспособности измененного приложения :)
    4. Скачайте и разверните на сервере SmartPart - веб-часть, позволяющую отображать на портале Web user control-ы
    5. Выделите участки кода, которые необходимо выполнять с правами пользователя-администратора или с "повышенными правами".
    Чаще всего на портале включена имперсонация, поэтому код по умолчанию будет исполняться от имени пользователя - это обычно ломает код работы с БД, код работы с объектной моделью Sharepoint и т.п. Для исполнения кода с чужими правами ищем "user impersonation .net", или используем SPSecurity.RunWithElevatedPrivileges
    6. Разверните приложение на сервере Sharepoint:
    корень приложения - C:\Inetpub\wwwroot\wss\VirtualDirectories\номерПорта,
    используемые сборки копируются в bin,
    user controls - в UserControls,
    ресурсы - в wpresources.

    Asсx-контролы затем размещаются в экземплярах SmartPart на страницах портала.

    воскресенье, 9 сентября 2007 г.

    Почему MSF так скушен?

    Уже которую неделю я борюсь с освоением Microsoft Solutions Framework - для экзаменов 70-300,70-301. Я пытаюсь читать Whitepapers, книжки и т.п. Это чудовищно скушно - учебные курсы Microsoft по чисто техническим дисциплинам выгялдят куда более оживленными и ориентированными на читателя.
    Не говоря о независимых авторах - James Shore в своей книге по Agile на каждой странице четко фокусирует внимание читателя на насущных проблемах и способах их решения.
    Microsoft же в учебных курсах на 400 страниц с трудом вмещает два столпа MSF - Process Model и Risk Management.

    P.S. Ресурс Microsoft по MSF http://www.microsoft.com/msf теперь переадресует на страницу Visual Studio Team System Developer Center.

    Этот блог не о Sharepoint

    Из подзаголовка моего блога может показаться, что я в нем буду много писать о Sharepoint-технологиях - мне и самому так казалось по началу. Но опыт показал - это не так, я НЕ являюсь узким Sharepoint-специалистом. Я пишу много кода, мордой для которого выступает WSS 2, WSS3, изредка MSSPS2003/MOSS2007. Я сертифицированный специалист по разработкам на WSS3. Но я не Mike Walsh.

    Большую часть своего времени я посвящаю огромному количеству задач, связанных с разработкой программных продуктов в целом - написанию Data Access / Business Logic слоёв, организации автоматизированного тестирования, развертыванию приложений у заказчика. Я специалист настолько широкого профиля, что иногда я даже разговариваю с заказчиком.

    Поэтому и писать я буду на темы, которые меня в данный момент занимают - автоматизированном тестировании, .Net, WSS, ASP.Net, LAMP/WAMP, eLance.com, MSF, книжках там всяких :)

    пятница, 24 августа 2007 г.

    SemanticSearch

    SemanticSearch это учебный проект, разрабатываемый мною и ещё двумя студентами Пермского Государственного Университета - Михаилом Пановым и Алиной Архиповой. В SemanticSearch мы пытаемся использовать семантическую сеть и алгоритм её обхода для улучшения поиска по ключевым словам в различных источниках.

    Существующий прототип ищет в html-файлах на диске, семантическая сеть составляется пользователем в графическом редакторе.
    Понятия семсети и их связи используются для составления более "плодотворного", чем пользовательский, запроса к Full-text search-механизму, и в алгоритме расчета релевантности полученных результатов.

    Проект находится в pre-alpha-версии, поэтому не ожидайте, что его можно действительно использовать.

    Если SemanticSearch Вам интересен, свяжитесь со мной: svolegov-at-gmail.com, или оставьте сообщение на форуме.

    четверг, 23 августа 2007 г.

    Наш проект на Sourceforge

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

    После IronPython и dasBlog пришло время NHibernate и Sourceforge/SVN. Параллельно я готовлюсь к 70-300 :).

    SourceForge - мой первый Online source repository, и я горд тем, что теперь управляю проектом почти таким же, как и Azureus, NUnit, или Notepad++.

    Регистрация проекта на SourceForge заняла у меня около 3 часов, через 24 часа после отправления заявки с кратким описанием проекта я мог залить в SVN первую версию проекта. Для работы с репозитарием я использую TortoiseSVN.

    понедельник, 20 августа 2007 г.

    Как я сдавал 70-315

    Сегодня я сертифицировался по номинации "Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET", сдав MS 70-315.
    Сдал на 943 из 1000, допустив по одной ошибке в Creating User Interfaces и Consuming and manipulating data. Как и во всех экзаменах из ряда 70-315-316-320, от испытуемого ожидается отличное знание ADO.Net и config-файлов, и виртуозное умение отлаживаться из Visual Studio. Сложные вопросы были по обслуживанию и настройкам безопасности (опять же, большая часть касательно config-файлов), был вопрос по SQL Server connection string с странными вариантами ответов.
    Подготовиться к экзамену большого труда не составляет - для этого очень полезно просмотреть Preparation guide и книжку Microsoft Press "Разработка Web- приложений на Microsoft Visual Basic .NET и Microsoft Visual C#" - в них очень хорошо расставлены акценты.

    понедельник, 13 августа 2007 г.

    Scaling to Extremely Large Lists and Performant Access Methods

    В блоге Joel Oleson описал новый sharepoint whitepaper: Working with Large Lists in Office SharePoint Server 2007, содержащий ответы на наболевшие для многих вопросы :).
    Тесты проводились на MOSS, но большая часть информации актуальна и для WSS.

    Если кратко - SPList/Foreach очень плохо, SPQuery хорошо. WSS 3 умеет работать с большими списками, но для этого нужно использовать CAML.

    четверг, 19 июля 2007 г.

    Элементы, созданные на этой неделе

    На gotdotnet.ru всплыл вопрос о выводе элементов списка Sharepoint, созданных на текущей неделе.
    Это просто - нужно всего лишь выполнить несколько уродливых действий с вычисляемым столбцами и датами:
    1. Создается вычисляемый столбец Создан_неделя с формулой "Создан-ДЕНЬНЕД(Создан;2)+1" и типом реультата "Дата",
    2. В фильтре представления списка указывается условие - значение столбца создан_неделя больше или равно "[Сегодня]-7"

    Почему в WSS к версии 3.0 включительно нет фильтрации по произвольной формуле - мне не известно.

    среда, 18 июля 2007 г.

    Коротко Web 2.0

    На bash.org запостили краткое описание экономической модели Web 2.0:

    - please describe web 2.0 to me in 2 sentences or less.
    - you make all the content. they keep all the revenue.

    понедельник, 16 июля 2007 г.

    Как я вирус победил

    Оффтопик, но примечательный.

    Третьим изученным мной ЯП был Assembler для x86. Мне было 14 лет, и я писал дисковые утилиты (теперь мне страшно их запускать), резиденты, и даже какой-то ascii art. Ещё я интересовался написанием вирусов - простейший com-вирус у меня был, полиморфный DOS EXE-вирус я так и не дописал. По-моему, в тот момент я открыл для себя C++ :).
    С тех пор я руководствовался простым тезисом - вирусы писать легко и выводить их тоже легко. И он действовал достаточно долгое время - большую часть троянов, ко мне попадавших, я убивал своими руками.
    Пример кунг-фу, сходного с моим, описал в своем блоге Jeff Atwood.

    Но я недавно я проиграл. Мой домашний компьютер был осажен сворой вирусов, изрядно действовавших мне на нервы: гад,  
    идентфицируемый некоторыми источниками как Trojan.Dllhost, 
    регулярно прелагал мне залогинится на собственный компьютер,
    Microsoft Passport и MSN Spaces:

     
    Следы пребывания его и ещё нескольких логгеров видны в Sysinternals Process Explorer:


    Я использовал Msconfig. Sysinternals AutorunsUnlocker. Удаление в safe mode. Безрезультатно. Я просто не мог разобрать лапшу из файлов, в которых вирусы дублировали свой код.

    Потом были DrWeb CureIt и Spybot S&D.
    Помог мне только третий из опробованных сканеров, AVG Anti-Spyware.

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

    P.S. Почему я заразился? Отсутствие нормального firewall-а, непропатченный Internet Explorer, любовь к торрентам.

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

    В блоге Serge Luca (MVP Windows Workflow Foundation) публикуется серия статей по созданию Workflows в Visual Studio 2005: Step by Step Tutorial. Creating Workflows for Windows Sharepoint Services and MOSS2007
    Статьи очень длинные и очень детальные - как и все статьи по WWF :)
    Придется читать.

    вторник, 10 июля 2007 г.

    Как я сдавал 70-541

    Сегодня я сертифицировался как Microsoft Certified Technology Specialist по номинации "Microsoft Windows SharePoint Services 3.0 - Application Development". Согласитесь, неплохая тема для первой записи :)
    После 70-316 с вопросами на знание объектной модели WinForms этот экзамен показался суровым. Первая, и самая большая секция - Deploying Windows Sharepoint services and custom components преполагает хорошее знание feature framework - onet.xml, webtemp*.xml и т.п. Именно на ней я и допустил больше всего ошибок (рейтинг ниже moderate), в остальных секциях ошибок меньше - рейтинг moderate/strength.
    Конечный рейтинг - 864/1000, где-то 7 ошибок в 55 вопросах. Планирующим сдавать подобный экзамен советую зубрить WSS3.0 SDK, все возможные случаи развертывания features и \Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\*.xsd :)

    Спасибо Олегу Балаболину, Михаилу Дроздову, Петру Меленеву, Кириллу Родионову (RoKir) - без опыта сотрудничества с вами я вряд ли сертифицировался бы.
    Спасибо форуму gotdotnet.ru по Sharepoint, на котором периодически всплывают и обсуждаются многие вопросы теста.
    Спасибо сотрудникам Центра Информационных и Финансовых Технологий, заботливо напоившим меня кофе перед тестом - без вашего участия день был бы не таким веселым :)

    P.S. Долго думал, на каком языке писать этот блог - русском или английском. В конце концов пришлось признать, что для написания грамотного ангийского текста мне приходится затрачивать слишком много усилий :). From now on, this blog is written in Russian