MCP

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

Впечатления от Application Developer Days 2010

Недавно в Ярославле завершилась конференция ADD 2010, я на ней выступал в качестве докладчика, а большинство времени просто в качестве слушателя и поедателя пирожков.   Мне из Ярославля в Ярославль было добираться достаточно быстро, в этом для меня был огромнейший плюс, правда пришлось проснуться пораньше, чтобы успеть на регистрацию (жители других городов сейчас должны считать, что я слегка зажрался ).

Собственно, заканчиваю про себя, лучше про впечатления. Конференция была просто отличной, в ней, конечно, не было московского лоска, зато было всё остальное: отличный интернет (спасибо D-Link, отличные пирожки, вода, и что особенно редко на конференциях — свободные розетки. Можно было зарядить ноутбук, одновременно поглощая информацию. При этом даже на крупных конференциях с интернетом обычно лажа, еда по расписанию, вода счастливчикам.

Теперь по докладам, 2/3 которых, я естественно пропустил  (было 3 параллельных трека, и естественно я не мог физически присутствовать на всех, будем ждать видео). Началось всё с доклада Стаса Фомина про Открытые Системы Разработки. Стас впечатлил технической организацией доклада — подставка под клавиатуру, mind map вместо power point, сам доклад при этом был не очень для меня полезен (может потому что у нас уже внедрено большинство из того, о чём говорил Стас?), но рассказано всё было очень хорошо и интересно, поэтому следующий доклад про Сравнения Хранилищ Данных, показался не очень хорош. Первая часть доклада была сплошным глоссарием, хоть полезным, но как-то не очень интересным, поэтому вместо второй части я отправился слушать Андрея Бибичева про Дополненную Реальность. Доклад был больше обзорным, зато было много деталей и полезной информации. Например, я узнал нафига в телефоне гироскоп, акселерометр, цифровой компас, чем они отличаются и почему для полного счастья должно быть всё. Ну, и то, что в обработке изображений в большинстве случаев используются тупые дубовые алгоритмы, зато они работают, и не жрут много ресурсов.

После обеда послушал Дмитрия Завалишина про разработку на Java. Ничего особого, но рассказано интересно. Доклад про GPGPU для .NET показался весьма странным: проект очень интересный, но весь доклад не покидала мысль: зачем всё это нужно?

Ну а после этого начался знатный срач Java vs C#, который быстро превратился в обсуждение vendor lock и является ли корпорацией зла Oracle. То, что если нужна разработка под Windows, то C# рулит, в самом начале заявил Дмитрий Завалишин и никто в общем-то и не спорил.  Доклад про статический анализ кода, позволил мне порадоваться за компанию Custis, что у них есть клёвый инструмент для этого. А в конце был замечательный доклад Алёны про ИИ в играх. Опять же, вроде бы ничего секретного не было рассказано, но было очень интересно и познавательно. Я даже записал видео доклада (спасибо хорошему интернету).

Потом было отличное afterparty (вечеринка в IT-стиле), и следующий день докладов, который начался с доклада Миши про разработку под Windows Phone 7. У Миши был секретный прототип, который он никому не давал пощупать, зато много показывал. Что я могу сказать, технически, разработка под WP7 очень крута. А что будет с политикой Microsoft в этом плане, узнаем позднее. Доклад про Apache Hadoop был омрачён фразой в конце, что он падает и теряет данные. Ну и нафига такое счастье? Подождём, когда будет более стабильный.

После этого Миша рассказал про круть и мощь IE9, ничего особо полезного, но зато очень красивая демонстрация, и интерсно рассказано.

У Ильи Кантора доклад был из двух частей, про защиту от DDOS с помощью специфичного прокси (с тем же успехом можно было сделать вводную про HiLoad) и кросс-доменную авторизацию, которая из себя представляет хороший рабочий хак, который реально нужен только для SEO. Ну и в конце был интересный секретный доклад, о котором я ничего не расскажу, он же секретный

Алёна рассказала про  C++0x, который движется непонятно в какую сторону и получается весьма странно и ужасно. Зато есть фишки из C#, выглядящиие абсолютно чужеродно для С++ Что-то люди как-то не туда движутся.

Никита Фролов порвал весь зал рассказом про то, как надо разрабатывать под iPhone. Несмотря на то, что половину времени зал валялся, общая концепция была рассказана очень понятно. Всё это чем-то похоже на обкуренный Delphi с кучей дизайнерских фишек.

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

В конце была раздача слонов и подарков, а в субботу мастер-классы Ильи Кантора. В общем, всё было круто и замечательно. Первая конференция определённо удалась.

среда, 22 сентября 2010 г.

Pattern & Practices Summit. Результаты

Как я понял, никогда не стоит проводить конференции по понедельникам.
Просто и конференция давно кончилась и все отчитались, а я только вспомнил, что надо бы и мне пару слов вставить.
А всё из-за чего? В час ночи выехал, в час ночи следующих суток вернулся домой. Находясь там было интересно слушать жалобы людей, которым ехать до москвы 1-2 часа, типо это много, и они хотят спать. Ха!
Невыспавшийся рванул на работу, поднимать целину разгребать дела, делать клиентов счастливыми, потом одно, другое, в общем пишу уже когда никому это не нужно. Ну и ладно, для истории пойдёт (по блогу, кстати хорошо потом события восстанавливаются).

 Конференция была небольшой, всего в два трека, и специфика больше для архитекторов, чем для разработчиков. Во всяком случае, больше концептуальных вещей, чем каких-то специфичных. После основных докладов всё разделилось на две разные части: Enterprise Library и Azure (т.е. во всех проявлениях про Enterprise Library/Patterns и в них же про Azure). Побывал и там и там, для себя сделал следующие выводы: Enterprise Library выглядит на словах очень хорошо, но все кто с ней сталкивался отзываются о ней без энтузиазма: "ну есть и есть, а логгинг они и не починили". Соответственно, как я говорил, что это для архитекторов, архитекторы пусть и решают, стоит ли использовать данную библиотеку в проектах или же использовать другие, более удобные и понятные вещи.
Про Azure (это облачная платформа от Microsoft), наоборот было много интересного, правда всё это красиво нивелировалось тем, что никто не мог сказать, когда же это всё будет запущено в России. Зато понял про модель оплаты всего этого дела, и как всё это устроено. Вкратце, там поверх своей хитрой и специфичной технологии ещё натянуты обычные сервисы и NTFS. Их можно использовать, но это будет неоптимально с точки зрения потребления ресурсов, поэтому лучше писать сразу под Azure, но тут возникает вопрос: "А если нужно писать специально под эту технологию, то почему нужно писать именно под эту технологию, а не какую-нибудь другую?". Т.е. Microsoft предоставляет гибкость, масштабирование и всё такое, но вместо обычного SQL у нас SQL Azure который несмотря на название, всё-таки является NoSQL, сервисы и службы тоже весьма специфичные. Так что же мешает вместо всего этого просто взять и делать обычное масштабирование системы с использованием других технологий (пусть тех же облаков, но которые тупо IaaS)? Этого я не знаю. Пока в голову лезут уж очень специфические проекты с непостоянной сезонной нагрузкой.

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

А вообще, организовано всё было неплохо, докладчики были интересными, подарки отличными, и если бы я был архитектором, я бы наверно оценил всё ещё лучше 
 
А уже завтра начинается Application Developer Days 2010, где я в пятницу буду выступать с докладом, всё обещает быть очень интересным, а я, надеюсь что оставлю отзыв не через 2 недели после мероприятия.

пятница, 17 сентября 2010 г.

Проблемы с VMBus при миграции с Virtual PC на Hyper-V

Тут перетаскивали локальную виртуалку на Висте с Virtual PC на Hyper-V. При этом вылезла проблема с тем, что виртуалка на новом месте не видела сети (только Legacy) безумно тормозила (100% загрузки процессора и почти всё время в ядре), в списке устройств лежал неработающий VMBus (это виртуальное устройство от Hyper-V).

Естественно, это всё было после удаления гостевых служб от Virtual PC и установки соответствующих от Hyper-V, танцы с бубном не помогали.

Решение нагуглилось, но с трудом, поэтому и решил поделиться им. Для этого нужно всего-лишь:
  1. Запустить msconfig
  2. Выбрать вкладку boot (загрузка), Advanced Options (Дополнительные опции)
  3. Поставить галочку "Detect HAL" (Обнаружение HAL)
  4. Перегрузиться

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

Ещё возможно потребуется переустановить гостевые дополнения (кстати, для них рекомендуется включить Windows Update Services, иначе говорят что бывают проблемы), но это уже совсем другая история.

воскресенье, 12 сентября 2010 г.

Patterns & Practices Summit Russia

Уже буквально завтра буду на Patterns & Practices Summit Russia. На мой взгляд весьма странное мероприятие, стоит дороже Платформы, при этом докладов гораздо меньше.
Буду хоть надеяться, что уровень докладов будет высоким и я узнаю много нового и полезного. Правда осталось понять, как между собой связаны Pattern & Practices и облака.

А этот пост тут, так чтобы отметиться, а то давно не писал ничего, всё об ADD 2010 думаю

среда, 11 августа 2010 г.

ADD2010: Использование сертификатов в web-приложениях

Недавно приняли мой доклад на конференцию разработчиков ADD, в котором я приведет базовые сведения о шифровании, https о сертификатах, зачем их стоит применять. Затем расскажу о возможностях авторизации при помощи сертификатов в любых браузерах, без паролей и других сложных схем, использовании ЭЦП с помощью javascript и ActiveX для того, чтобы получить проверяемое подтверждение от клиента, также немного расскажет про OID’ы сертификатов, о том, как проверить сертификат на корректное использование для целей приложения.

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

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

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

Показывать и рассказывать буду всё на примере .NET и Windows, про сертификаты X.509.

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

среда, 21 июля 2010 г.

Раскраска Twitter через Opera user CSS

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


Дальше начинается самое интересное. Мы будем писать стили для твиттера. У него весьма грамотно сделаны стили, поэтому это просто сплошное удовольствие.

Увеличение ширины страницы

Хоть твиттер и не предполагает широту взглядов, всё-таки на широких мониторах он выглядит немного узковато. Исправим это:
.subpage {width:883px !important; }
.footer {width:883px !important; }
.status-body {width:545px !important;}
#status {width:635px !important;}
#update_notifications {width:485px !important; }
В этом примере я увеличил ширину страницы на 120 пикселей. Т.е. поправил существующие значения на +120. Никто не мешает вам изменить всё это на свой вкус и сделать твиттер резиновым.

Выделение своих твитов

Берём класс .mine и раскрашиваем себя, чтобы было заметно.
.mine {background-color:#ffffe0 !important;color:#407010;}

Выделение чужих твитов

Тут всё тоже просто замечательно. Например, мы хотим выделить отдельно @pdidenko. Берём класс .u-pdidenko и красим его в симпатичный зелёный цвет
.u-pdidenko {background-color:#30ff30 !important;color:#407010;}
Естественно для каждого человека нужно раскрашивать отдельно. Для более сложной логики придётся использовать javascript или ещё более хитрые схемы. Но думаю, что если вы действительно читаете свою ленту, то там не так уж много людей, которых вы захотите выделить.

Выделение ссылок

Хэштеги, это особые ссылки, подкрасим их:
.hashtag {color: #333399 !important;}
Внешние ссылки тоже:
a.web {color: #1060c0 !important;}
Упоминание кого-то в твитах тоже можно подсветить:
a.username {color: #700030 !important;}

Тут у меня фантазия кончилась, но никто не мешает взять приглянувшийся элемент и в любое время изменить его. Это ведь несложно, и результат виден сразу.

Результирующий CSS не даю, т.к. раскраска может сильно не вписываться в вашу цветовую схему и вам нужно будет поправить цвета. Впрочем, собрать из кусочков целиковый CSS не представляет сложности.

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

понедельник, 5 июля 2010 г.

Небольшой Opera UserScript для Twitter

Недавно написал маленький userscript для Оперы, который разворачивает короткие ссылки в твиттере (чтобы можно было видеть, куда она ведёт) и как бонус, показывающий картинки с twitpic и прочих прямо в ленте.

Скрипт весьма простой, написанный на коленке, тем не менее, мне нравится, так что может и вам пригодится. Для того, чтобы он работал, нужно сделать несколько вещей:
1. Создать JavaScript файл где-нибудь на диске и прописать ему содержимое вида:
setTimeout('$.getScript("http://redirector.ufims.com/")', 2000);
2. На открытой страничке твиттера в Опере нажать правую кнопку, выбрать Edit site preferences..., вкладку Scripting и прописать путь до вашего файла. Примерно так:
3. Перегрузить страницу с твиттером

После этого, при наведении на короткую ссылку, она развернётся и будет отображено то, на что она ссылается.

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