пятница, 27 марта 2009 г.

Полечиться не хотите?

... на Марсе :)

среда, 18 марта 2009 г.

Склонение слов

Случайно обнаружил проект по склонению слов - Morpher . Интересен тем, что дают .Net dll бесплатно для некоммерческого использования. Насколько качественно работает алгоритм пока что мне известно только со слов авторов :) Главное - оно умеет спрягать глаголы!!! Думаю попросить и попробовать использовать в составе переводчика... Еще есть проект Яндекс.Склонятель . По запросу выдает xml с вариантами склонения слов. К сожалению - работает только с именами и фамилиями....

понедельник, 16 марта 2009 г.

Библиотека для замены XmlSerialiser

Очень интересная библиотека - YAXLib .

Основные особенности:

  • контроль за процессом сериализации при помощи атрибутов.
  • сериализация стандартных коллекций и совместимых с IEnumerable
  • контроль за процессом десериализации - можно определить действия, совершаемые при отсутствии нужных данных в файле

Пример использования:


public class Warehouse
{
    [YAXAttributeForClass()]
    public string Name { get; set; }

    [YAXSerializeAs("value")]
    [YAXAttributeFor("Location")]
    public string Address { get; set; }

    [YAXSerializeAs("value")]
    [YAXAttributeFor("Area")]
    public double Area { get; set; }
}

Результат:

<Warehouse Name="Foo Warehousing Ltd.">
   <Location value="No. 10, Some Ave., Some City, Some Country" />
   <Area value="120000.5" />
</Warehouse>

Хорошая новость!

Хорошие новости - в Британии музыканты первой величины создали специальную коалицию по защите своих прав, чтобы бороться с лейблами и упырскими организациями типа IFPI и BPI, представляющими интересы правообладателей. Два дня назад исполнители заявили, что поддерживают нелегальное распространение своей музыки. 

А уж список исполнителей там...

суббота, 14 марта 2009 г.

Полностью согласен!

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

2) У меня есть антивирус.
Мне не нужны ваши убогие потуги изобразить его, перехватывая влияние одного процесса на другой, при этом конфликтуя с настоящей антивирусной программой. Вместо дурацких проверок на adware лучше увеличьте базу известных приложений, чтобы мне не приходилось создавать правил для стандартных почтовых и ICQ клиентов.

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

4) Сделайте автоматическое разрешение для отслеженных попыток соединения.
Каждый фаервол ведёт журнал событий, где указывается программа, адрес, порт и так далее.
Не желаю выписывать их из журнала на бумажку (потому что они ещё и не копируются из журнала), а потом вручную создавать для них правило.
Я хочу просто выбрать строку в журнале, нажать кнопку "разрешить эти соединения" - и чтобы именно эти соединения стали разрешены.

5) Не мешайте работе компьютера.
Тормозящий на двухпроцессорнике фаервол - жалкое зрелище. Фаервол, который влезает с вопросами и предупреждениями в полноэкранные игры, полностью их завешивая - ещё более жалкое зрелище. Фаервол, который выкидывает синий экран из-за конфликтов - это вообще за гранью. Отлаживайте.
 

Каждый программист написавший программу ОБЯЗАН поработать с ней НА РЕАЛЬНЫХ ДАННЫХ как минимум месяц!

четверг, 12 марта 2009 г.

Контекстная реклама :)


Настоящая контекстная реклама! Для производителей-конкурентов Microsoft Office :)

пятница, 6 марта 2009 г.

Статья про OWL

Довольно интересная статья про OWL, онтологии и проблемы описания нечетких знаний. Рекомендую.

четверг, 5 марта 2009 г.

День обломов...


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

   .... и на работе сегодня взорвался счетчик - тоже пол-дня без света...

воскресенье, 1 марта 2009 г.

Новое в C# 4.0 - именованные аргументы функций

Что такое именованные аргументы функций и зачем это надо? Как известно, C# не имеет поддержки значений по-умолчанию для аргументов у функций. Так вот - именованные аргументы нужны как раз для этого :)

Синтаксис выглядит так:


public class ContactList
{
    List SearchForContacts(
        string name = "any",
        int age = -1,
        string address = "any") { ... }

    static void Main()
    {
        ContactList list = new ContactList();
        var x = list.SearchForContacts(age:26);
        var y = list.SearchForContacts(address:"home", name:"sam", age:30);
    }
}

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

Источник