Zero playing game в блогосфере

Новости

Знаете ли вы что такое ZPG? Для тех кто не знает Zero playing game – такая игра, в которой человек никак не влияет на ход игры (как в MyBrute) или влияет минимальным образом (как в Godville).  Что общего с блогосферой спросите вы? Объясняю, вот создали вы себе блог, думали что вам будет о чем туда писать чуть ли не каждый час, а в итоге – долгое время ничего туда не пишите, со стороны можно подумать, забили на него вовсе. Но на самом деле не забили, просто писательский кризис наступил, и в результате – каждый день берешь и смотришь в гуглоаналитике сколько человек посетило твой блог, немного расстраиваешься когда посещаемость падает и радуешься когда растет. Чем не ZPG?)))

Сервис создания диаграмм онлайн

Новости

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

Найденным сервисом остался доволен на 150%, собственно вот он: http://www.diagram.ly/ интерфейс очень приятен, написано сее чуда без применения флеша, что не может не радовать.

Всем реккомендую!

Контекстная реклама от Google в GMail

Новости

Tagged Under : ,

Ни для кого не секрет, что Google сканирует нашу переписку и показывает тематическую рекламу. С ее помощью я, например, нашел своего хостинг-провайдера. Почта моего домена подключена к почтовым серверам от Google, что делает ее тем же самым GMail’ом.

И вот пришел день, когда одному моему фейковому аккаунту на Facebook на  начали идти оповещения. Все ничего, но на этом аккаунте я тестировал японскую локализацию, а потому письма тоже шли на японском.

Теперь контекстная реклама выглядит так:

И это не смотря на обилие писем на русском и английском языках!))))

Браво!)))

ICQ + ВКонтакте клиент для iPhone

Новости

iphone_qip_mobileКупив iPhone, я начал искать хороший клиент для ICQ. К моему сожалению, даже платные клиенты обладали недостатками. На одних оффлайн сообщения не доходили в правильной кодировке, на других проблемы с кодировкой проявлялись при обмене сообщениями с некоторыми пользователями. Из всех я остановился на Palringo.

Новости о выходе бесплатного IM Mobile qip я обрадовался. Создатели его – наши ребята, с кодировкой проблем быть не должно) Скачал, поставил, из профиля квип подтянулась информация и о других учетках (в том числе и учетная запись ВКонтакте). Сейчас поддержка работы с Jabber-сервером вконтакте анонсирована на будущие версии, но я расскажу как заставить его работать прямо сейчас.

Заходим в настройки учетной записи Вконтакте, устанавливаем переключатель “Указать сервер” на “1″, и указываем в графе “Хост” значение “vkmessenger.com”, порт оставляем стандартным – 5222. Имя пользователя вводим в формате “ВАШ_НИК@vk.com”, пароль от аккаунта “ВКонтакте”. Теперь можно общаться с друзьями из контакта на iPhone очень быстро.

Ну и поюс ко всему документированные “плюшки“.

Образцовая документация

Новости

3 минуты назад увидел я в используемой мною библиотеке (под .NET) перегруженную функцию: Connect(), Connect(string Host, int Port).  Логика работы функции с параметры очевидна. Откуда берется информация о хосте и порте в перегрузке без параметров, возможно, из предыдущего соединения? XML-комментариев в этой библиотеке нет (а потому IDE не может подсказать ничего кроме сигнатуры). Открываю документацию к библиотеке. В ней все ограничено сигнатурой функции и фразой, что функция Connect соединяется с сервером. Спасибо, КЭП!

Пробовать эмперически? Не наш подход! Открываем .NET Reflector и декомпилируем DLL сборку, видим такой код:

public void Connect()
{
    this.Connect(this.hostname, this.port);
}

Ага, ищем где устанавливаются private члены hostname и port. В теле того же метода с перегрузкой не устанавливаем, и вообще нигде не устанавливаем кроме как только в set-обработчиках этих свойств:

public string Hostname
{
    set
    {
        this.hostname = value;
    }
}

После этого все становится понятным :)

Слався .NET Reflector, слався рефлексия, нафиг документацию :)

public void Connect()
{
    this.Connect(this.hostname, this.port);
}