5/29/2007

Хостинг: IIS 7.0 на Windows Server 2008 (Longhorn)

Абсолютно бесплатно предоставляется:

  • web-сайт под управлением Internet Information Server 7.0 на платформе Windows Server 2008 (Longhorn);
  • загрузка собственного приложения на aspx или PHP;
  • FastCGI для PHP приложений;
  • Удаленное управления настройками IIS через Web Manager;
  • 50 Мб дискового пространства;
  • 30 Мб базы данных на MS SQL 2005;
  • Starter Kits

Для того, чтобы воспользоваться сервисом, нужно зарегистрироваться (IIS7.parking.ru). Cервис тестирования предоставляется до момента официального релиза Windows Server 2008. О прекращении сервиса  сообщат не менее, чем за 14 дней.

5/28/2007

Single-Instance Apps

Очень часто на форумах встречается одна и таже тема под разными заголовками, например: "Один экземпляр приложения", "Защита от повторного запуска", "Как определить запущено приложение или нет", "Одна копия приложения ... как лучше".
 
В ответ предлагаются разные решения (на основе Mutex, Semaphore и т.п.), но все они не учитывают "подводные камни", о которых сказано в статье "Stream Decorator, Single-Instance Apps" (MSDN Magazine). 
 
В .NET 2.0 есть стандартное решение (см. Figure 5 Using SingleInstanceApplication):
 
static class Program
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        SingleInstanceApplication.Run(new Form1(),
            StartupNextInstanceHandler);
    }

    static void StartupNextInstanceHandler(
        object sender, StartupNextInstanceEventArgs e)
    {
        // do whatever you want here with e.CommandLine...
    }
}
Класс SingleInstanceApplication находится в сборке Microsoft.VisualBasic.dll в пространстве имен Microsoft.VisualBasic.ApplicationServices. Правда, эта сборка в C# проекте выглядит необычно, но работает отлично :)
 
 

Перевод текстов и страниц

Google открыла службу перевода текстов. На странице нет ничего лишнего, не то, что на translate.ru :)
Есть возможность "Translate Text" и "Translate a Web Page". Поддерживаются следующие языки:
 
ar|en - Arabic to English BETA; zh|en - Chinese to English BETA; zh-CN|zh-TW - Chinese (Simplified to Traditional) BETA; zh-TW|zh-CN - Chinese (Traditional to Simplified) BETA; en|ar - English to Arabic BETA; en|zh-CN - English to Chinese (Simplified) BETA; en|zh-TW - English to Chinese (Traditional) BETA; en|fr - English to French; en|de - English to German; en|it - English to Italian; en|ja - English to Japanese BETA; en|ko - English to Korean BETA; en|pt - English to Portuguese; en|ru - English to Russian BETA; en|es - English to Spanish; fr|en - French to English; fr|de - French to German; de|en - German to English; de|fr - German to French; it|en - Italian to English; ja|en - Japanese to English BETA; ko|en - Korean to English BETA; pt|en - Portuguese to English; ru|en - Russian to English BETA; es|en - Spanish to English;
 
Пример перевода с английского на русский. Вот оригинал:
 
"While this single-instance application functionality is easily accessible to developers using Visual Basic, the kind folks on the Visual Basic team have implemented this capability in such a way that other languages can also take advantage of it. Here I'll demonstrate how to create single-instance Windows Forms apps in C#. All of the functionality just described is available from the WindowsFormsApplicationBase class as part of the Microsoft.VisualBasic.ApplicationServices namespace in Microsoft.VisualBasic.dll. If you examine in ildasm.exe a single-instance application created with Visual Basic, you'll find a class called MyApplication that derives from WindowsFormsApplicationBase. This class's constructor sets various protected properties on the base class, including one called IsSingleInstance. You can do the same thing in C#."
 
А это перевод:
 
"Хотя это один случай применения функции легко доступны для разработчиков с использованием Visual Basic теплые ребят на Visual Basic группы осуществили этот потенциал таким образом, что можно на других языках также воспользоваться им. Здесь я буду демонстрировать, как создать единый инстанции Windows Forms приложений в C #. Все только что описанные функции можно получить WindowsFormsApplicationBase класс в рамках Microsoft.VisualBasic.ApplicationService ы имен в Microsoft.VisualBasic.dll. Если вы посмотрите в ildasm.exe одного случая применения, созданные с помощью Visual Basic вы найдете класс под названием MyApplication, что вытекает из WindowsFormsApplicationBase. Этот класс в конструктор наборы различных охраняемых объектов, включенных в базовый класс, в том числе организация IsSingleInstance. То же самое можно сделать в C #."
 
Как видно, до совершенства еще далеко :)

5/27/2007

На основе Facebook создадут "операционную систему"

Как сообщает Reuters, основатель Facebook Марк Цукерберг намерен превратить социальную сеть в "операционную систему", внутри которой будут функционировать сервисы других компаний. Иными словами, Facebook перестанет быть закрытой сетью, превратившись в платформу, к которой сторонние разработчики смогут подключать различные веб-сервисы, в том числе платные.

По словам Цукерберга, поддержать новую инициативу согласились уже 65 компаний. В их число, как сообщается, входят корпорация Microsoft, онлайновый магазин Amazon.com, популярный фотосервис Photobucket, музыкальный сайт iLike, сервис по обмену мгновенными сообщениями Twitter.com и другие. Кстати, Amazon.com уже создала приложение, при помощи которого пользователи Facebook могут обмениваться друг с другом обзорами литературных произведений. Кроме того, подписчикам сети предлагается программа для обмена видеозаписями, сделанными при помощи веб-камеры. >>

--

см. Popfly

Социальные сети вымрут как мамонты

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

Почему домашние серверы получат распространение? Хотя бы потому что производителям оборудования надо что-то производить :) Продать несколько сотен миллионов серверов вместе с сопутствующими товарами - это очень заманчивая перспектива.

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

В итоге, распространение домашних серверов сильно изменит сеть. Поиск станет менее централизованным. А в результатах поиска сократится количество шума. И огромные деньги, которые сейчас текут от рекламодателей к владельцам поисковых машинам, станут течь к владельцам домашних серверов или к сообществам таких владельцев, этаким p2p сетям, состоящим из домашних серверов. Но до этого еще далеко ... пока что ждем, когда же в Microsoft решат, что WinFS пора выпускать на волю :) Ну, а пока найти что-то на своем компе - это тихий ужас. Я уже успел набрать этот текст, а поиск, запущенный минут 5-ть назад по файлам на всех дисках, и паралелльно запущенный в OneNote 2007, все продолжается.