Pirates: to be or not to be.

Published 4/23/2009 by e0ne in Offtopic
Навеяно судовым процессом над The Pirate Bay.

Сейчас всё чаще от правообладателей звучат угрозы в сторону торрент трекеров в частности и пиратов в общем. Их позиция понятна: они теряют прибыль. Пользователям, с одной стороны - хорошо, надо тратить меньше денег, с другой - они получают менее качественный продукт, но на это многим наплевать многих это не беспокоит. А вот моё субъективное мнение.

Начну с продуктов компании Microsoft, а именно - Microsoft Office. Из всего офисного пакета я активно пользуюсь Word, Excel, Outlook, иногда OneNote и PowerPoint. Но! Покажите мне редакцию MS Officе, где есть только эти продукты. Такой нет, а переплачивать за ненужные мне продукты - не хочется. Что мешает Microsoft дать возможность пользователям выбирать то, что им нужно, а не то, что им навязывают? Вот и получается, то есть желание, но нет возможности купить нужное ПО.

Дальше идут игры. Честно говоря, не понимаю людей, которые пользуются пиратскими версиями. Единственное преимущество - они стоят намного дешевле. Но стоят ли сэкономленные на этом деньги потраченному на запуск таких игр времени и нервам? Я думаю что нет. Нужно установить несколько приложений, запускать их в определённом порядки и только потом, если всё будет хорошо, можно насладится игрой. Опять же, если она не будет вылетать каждые 15-30 минут из-за очередного кряка. Игры - удовольствие, а за него, как известно, нужно платить. Только, почему-то,это мало кто понимает.

 Музыка и фильмы. С этой категорией продуктов всё на много хуже. Качество даже лицензионных дисков часто оставляет желать лучшего, полиграфия тоже не радует глаз. Я уже не говорю о том, что некоторые диски/фильмы просто невозможно купить. К пример, диск выпущен в 1998-м году, и его не переиздают, а послушать любимого исполнителя хочется. Ведь можно же, к примеру, переиздавать диски раз в пять лет малым тиражом. Почему этого никто не делает? Издатели боятся, что никто не купит, а в тоже время они возмущаются по поводу торрент трекеров, где практически всегда можно найти нужный диск. Не понимаю этого.

Что мы получаем в итоге? Потребители просто не могут купить нужное им всё из-за тех же правообладатаелей. А ещё... Ещё сборники mp3 музыки с красивой голографической наклейкой - лицензия! Да не нужна мне такая лицензия! Хочу иметь возможность купить то, что хочу, а не то, что предлагают! Сделайте сначала так, что бы была возможность пользоваться легальными продуктами, а потом уже и боритесь с пиратами!..


Вчера столкнулся с интересным моментом при генерации *.designer.cs-файлов. Сначала подумал что это баг, но после недолгих размышлений пришел к выводу, что это не баг, а фича ("багофича" (с)). 

Всё началось с того, что на одной из страниц сайта нужно было создать некоторую функциональность, которая уже была доступна дадругой странице. Сразу же было решено поместить эу функциональность в UserControl.После достаточно стандартных действий, copy&pase нужной разметки из страницы в только что созданный контрол, уже собирался писать в нём логину, но... Но студия ругалась на любое упоминание о вебконтроле, расположенном в mycontrol.ascx. "Странно" - подумал я и посмотрел содеримое файла mycontrol.ascx.designer.cs. В нём оказалось пусто. Тут же вспомнились похожие баги Visual Studio 2005 без установки на неё Service Pack 1 и было принято решение (как озакалось потом - ошибочное) руками дописать нужный код. Дописал. Сайт скомпилировался и даже попытался запуститься, но run-time ошибка не дала ему нормально функционировать.

Ошибка достаточно ясно указывала на источник проблемы: при копипасте я забыл добавить в контол директиву <%@ Register TagPrefix="pref" TagName="Popup" src="~/UserControl/Popup.ascx" %>

После добавление этой директивы в mycontrol.ascx, mycontrol.ascx.designer.cs был успешно сгенерирован автоматически и всё заработало, а я ещё раз убедился, что от copy&pase не стоит дать ничего хорошего.


На работе возникла необходимость отправить архив с ..., с чем-то очень важным. По привычке, быстро сделал rar-архив, прикрепил его к письму и уже собирался нажать кнопку Send, но вовремя остановился. Вспомнил что в одном из писем мне присылали файлы, запакованы в zip-архив. Быстро переархивировал нужные файлы отправил письмо и задумался о Windows, Microsoft и архивах.

Вчера скачивал Internet Explorer Application Compatibility VPC Image. И там некоторые образы запакованы в rar-архив. Замечу, что это не первый случай, когда на сайте Microsoft лежат rar-архивы. Обратил я на это внимание потому, что сама ОС Windows "из коробки" может работать только с zip-архивами. И как это безобразие понимать? Microsoft рекламирует WinRar? Субъективно, было бы логичнее сжимать всё в zip, чтобы разработчики не искали нужное ПО, чтобы разархивировать нужные архивы. Или предполагается, что после покупки и установки OS Windows её пользователю необходимо ещё скачать/купить/установить n-е количество софта? Странно всё это...


Немного offtopic'а

Published 4/12/2009 by e0ne in Blog | Offtopic
Tags: ,
Добавил на блоге новую категорию - Offtopic, в которой буду делиться всякими компьютерными и около компьютерными мыслями, не связанными с программированием. В связи с чем хотнлось бы услышать ваши мнепия по поводу: надо ли реорганизовывать rss-подписку или нет?

На днях столкнулся такой ситуацией, что многие некоторые разработчики при упоминании Ajax имеют в виду компонент UpdatePanel и не понимают как она работает. Сегодня я решил попытаться исправить эту ситуацию и рассказать что такое и как устроен ASP.NET Ajax.

 Для начала обратимся Википедии и посмотрим, что такое Ajax:

AJAX (Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.

Для выполнения асинхронных запросов, на JavaSctipt необходимо создать объект XMLHttpRequest, который и будет взаимодействовать с сервером. В зависимости от браузера, объект создаётся разными способами, но можно написать универсальный метод для его создания:

    function createRequestObject()
    {
    if (window.XMLHttpRequest) {
    try {
    return new XMLHttpRequest();
    } catch (e){}
    } else if (window.ActiveXObject) {
    try {
    return new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){
    try {
    return new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e){}
    }
    }
    return null;
    }
 

 

Теперь вернёмся в ASP.NET. Как несложно догадаться, Microsoft ASP.NET Ajax имееит клиент-серверную архитектуру:

Серверная часть Microsoft ASP.NET Ajax отвечает за авторизацию и аутентификацию пользователей, генерацию и регистрацию на странице необходимых скриптов, имеет всё необходимое для работы с веб-службами, включая генерацию proxy-классов, xml и JavaScript сериализацию. Также доступно несколько компонентов (ScriptManager, UpdatePanel, UpdateProgress и Timer), которых вполне достаточно для реализации базовых функций.

Клиентская часть имеет название Microsoft AJAX Library и состоит из нескольких JavaScript файлов, с помощью каких взаимодействие с сервером становится проще. В этой библиотеке доступно множество классов, для взаимодействия с веб-службами, работы с DOM-моделью браузера, имебтся базовые классы для создания собственных контролов.

В следующих постах я расскажу подробнее о том, как работает серверная часть и загляну внутрь Microsoft AJAX Library.

Ссылки, где можно почитать подробнее об ASP.NET AJAX: