вторник, 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 с белым фоном/черным текстом, глаза заметно меньше устают.
    Такое вот открытие.