<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Блог Андрея Смирнова</title>
	<link>http://www.smira.ru</link>
	<description></description>
	<lastBuildDate>Tue, 04 May 2010 18:38:21 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Профайлинг Twisted-приложений</title>
		<description><![CDATA[ Часто сам забываю, как профилировать легко и быстро Twisted-приложения (с некоторым изменениями подойдет для любых Python-приложений). Кроме Twisted нам понадобится еще KCachegrind

Запускаем наше приложение с включенным профайлингом:


twistd -n --savestats --profile=myprog.hotshot myprog


Подаем нагрузку, профайл собирается. Теперь с помощью утилиты hotshot2cg из поставки KCachegrind превращаем hotshot-профайл в calltree-профайл, который уже умеет KCachegrind &#171;кушать&#187;.


hotshot2cg myprog.hotshot > myprog.calltree


Запускаем [...]]]></description>
		<link>http://www.smira.ru/2010/02/15/profiling-twisted-applications/</link>
			</item>
	<item>
		<title>MySQL, ROW/STATEMENT/MIXED-репликация и триггеры</title>
		<description><![CDATA[Описанная особенность MySQL попалась мне на глаза слишком поздно, пишу, чтобы кто-то не напоролся на те же грабли. Начнем с начала. Итак, необходимо было отслеживать изменения MySQL-базы данных и складывать эти изменения в очередь (не в БД) для дальнейшей обработки внешней системой. Для отслеживания изменений подходят триггеры, но они активируются в процессе выполнения запросов транзакции [...]]]></description>
		<link>http://www.smira.ru/2010/02/15/mysql-row-statement-mixed-replication-triggers/</link>
			</item>
	<item>
		<title>HL++ (2009): Twisted Framework</title>
		<description><![CDATA[Сегодня выступал на HighLoad++ с докладом Twisted Framework &#8211; фреймворк для написания сетевых приложений в Python. 

Введение

Последнее время в области web происходит смещение внимания с тяжелых application-серверов, которые тратят на обработку запроса сотни миллисекунд, а то и секунды, к более легковесным сервисам, передающим меньшие объемы данных с минимальной задержкой. Переход от генерации десятков и сотен [...]]]></description>
		<link>http://www.smira.ru/2009/10/13/hl-2009-twisted-framework/</link>
			</item>
	<item>
		<title>Mongrel vs. Phusion Passenger: выбор очевиден</title>
		<description><![CDATA[Предыдущая конфигурация:


nginx (главный proxy), который раздает трафик в
haproxy (ради возможности балансировать по нагрузке), который распределяет нагрузку по нескольким webapp-серверам
с 16-ю mongrelами на каждом


Проблемы:


&#171;Утекающая&#187; память, периодический out of memory на серверах, лечится только перезапуском mongrelов.
Запросы, занимающие десятки секунд из-за неверной балансировки (в нагруженный mongrel все-таки попадает несколько &#171;тяжелых&#187; запросов).
Сложность управления кластером монгрелов &#8211; постоянные проблемы при [...]]]></description>
		<link>http://www.smira.ru/2009/10/05/mongrel-vs-phusion-passenger-obvious-choice/</link>
			</item>
	<item>
		<title>HL++2009: Twisted Framework &#8211; фреймворк для написания сетевых приложений в Python</title>
		<description><![CDATA[

На HighLoad++-2009 буду выступать с докладом Twisted Framework &#8211; фреймворк для написания сетевых приложений в Python. Конференция будет проходит 12-13 октября 2009 г. в Инфопространстве. Приглашаю всех желающих!

Тезисы доклада:


Архитектура сетевых сервисов, нити, процессы, асинхронный ввод-вывод.
Тенденции в изменении структуры нагрузки на сетевые сервисы: AJAX, Comet/BOSH, клиент-серверная архитектура, проблема 10k.
Асинхронный ввод-вывод и параллельное программирование: достоинства и недостатки. [...]]]></description>
		<link>http://www.smira.ru/2009/09/25/hl2009-twisted-framework-python/</link>
			</item>
	<item>
		<title>Qik Push Engine API: приглашаем разработчиков</title>
		<description><![CDATA[ Qik &#8211; это сервис стриминга (вещания) и загрузки видео с мобильных телефонов. Загруженное видео можно посмотреть на сайте или на его специальной версии с мобильного телефона. Доступна интеграция с другими сервисами, такими как Twitter, Facebook и другие. Клиенты для практически всех современных моделей телефонов: iPhone, Windows Mobile, Symbian, Android, Blackberry и другие.

Qik Push Engine [...]]]></description>
		<link>http://www.smira.ru/2009/07/12/qik-push-engine-api-private-beta/</link>
			</item>
	<item>
		<title>AMQP по-русски</title>
		<description><![CDATA[ Сегодня довольно мало информации о протоколе AMQP (Advanced Message Queueing Protocol) и его применении, особенно русском языке. А вообще это &#8211; замечательный, уже достаточно широко поддерживаемый открытый протокол для передачи сообщений между компонентами системы с низкой задержкой и на высокой скорости. При этом семантика обмена сообщениями настраивается под нужды конкретного проекта. Такие решения существовали [...]]]></description>
		<link>http://www.smira.ru/2009/06/08/amqp-in-russian/</link>
			</item>
	<item>
		<title>FMSPy, релиз Alpha (0.1)</title>
		<description><![CDATA[ Flash Media Server written in Python (FMSPy) &#8211; это еще один RTMP-сервер для приложений на Adobe Flash/Flex/Air. FMSPy является аналогом Adobe Flash Media Server, с гораздо меньшими возможностями, однако FMSPy  &#8211; совершенно бесплатный проект с открытым исходным кодом. Проект находится на ранней стадии развития, но в активной разработке.

Итак, что есть на сегодняшний день:


Реализация [...]]]></description>
		<link>http://www.smira.ru/2009/06/07/flash-media-server-in-python-alpha-release/</link>
			</item>
	<item>
		<title>Deferred для JavaScript (Prototype)</title>
		<description><![CDATA[

Продолжая тему Deferred для JavaScript предлагаю еще одно переписывание Deferred, теперь в терминах Prototype. Подробнее о самом Deferred можно почитать в двух моих прошлых заметках: Асинхронное программирование: концепция Deferred и Deferred: все подробности. Если кратко, самое распространенное и полезное применение Deferred в JavaScript &#8211; это работа с AJAX или другими RPC-over-HTTP вызовами, когда необходимо совершить [...]]]></description>
		<link>http://www.smira.ru/2009/05/29/deferred-in-javascript-for-prototype/</link>
			</item>
	<item>
		<title>Пожар на газопроводе и информационный вакуум</title>
		<description><![CDATA[В ночь с 9-е на 10-е мая произошел разрыв газопровода, об этом знают все. Мы живем в Ново-Переделкино, примерно в шести километрах от места аварии. Как раз в момент взрыва (около 0:40) мы вышли на балкон, услышали сильный хлопок и небо осветилось. Повернув голову, мы увидели огромный гриб пламени, поднимающийся в небо. Раздался сильный гул, [...]]]></description>
		<link>http://www.smira.ru/2009/05/11/fire-in-moscow-no-information/</link>
			</item>
	<item>
		<title>ffmpeg, ошибка вида lame: output buffer too small</title>
		<description><![CDATA[Для истории, проблема один-в-один как описана в http://drupal.org/node/376012.

FFmpeg, собранный с libmp3lame (для кодирования mp3) версии 3.98, сообщает следующее:

lame: output buffer too small (buffer index: 9404, free bytes: 388)


Он считает это фатальной ошибкой, завершается:

Audio encoding failed


Лечится downgrade libmp3lame до версии 3.97.

Проверено на ArchLinux.
]]></description>
		<link>http://www.smira.ru/2009/04/27/ffmpeg-lame-output-buffer-too-small/</link>
			</item>
	<item>
		<title>Отдых в ВКС-Кантри (Владимирская область)</title>
		<description><![CDATA[Мы провели 5 дней в доме отдыха ВКС-Кантри. В качестве варианта для отдыха рассматривали окрестности Костромы, Ярославля, Липецка, Воронежа, Курска, Орла. В район Костромы-Ярославля не поехали из-за Рыбинского водохранилища, которое поздно освобождается ото льда и сильно понижает температуру в регионе, а температура этой весной и так низкая. В Липецке, Воронеже не нашлось дома отдыха, который [...]]]></description>
		<link>http://www.smira.ru/2009/04/19/vks-country/</link>
			</item>
	<item>
		<title>Продам  свою Opel Astra 1.6 автомат Cosmo (2006 г.)</title>
		<description><![CDATA[Продам свою машинку (купил универсал в связи с увеличением семьи  .

Opel Astra 1.6 (105 л.с.) хэтчбек 5-дверный, цвет метро (темно-синий),
2006 г. выпуска (август), пробег 71 тыс. км.

Комлектация Cosmo, биксенон, парктроник, регулировка водительского
сиденья в 6-и направлениях, подлокотник, 17&#8243; колеса, система
QuickHeat, задние электростеклоподъемники, салон кожа+ткань, магнитола
MP3, сигнализация, европейская сборка. (Всё заводское, заказывалась
комплектация).

Я &#8211; единственный владелец, все [...]]]></description>
		<link>http://www.smira.ru/2009/03/18/opel-astra-16-cosmo-2006/</link>
			</item>
	<item>
		<title>СпамоБорец: релиз 0.2.0</title>
		<description><![CDATA[СпамоБорец &#8211; веб-сервис, предоставляющий функции по классификации произвольных текстовых сообщений, и, в частности, выделения спама из общего потока сообщений.



В качестве сообщений могут рассматриваться, например, следующие виды общения, которые сегодня есть в социальных сетях (и веб-сайтах, имеющих элементы социальной сети):


личные сообщения;
чаты;
комментарии к произвольным объектам;
девизы, сообщения &#171;о себе&#187; и т.п. на страницах профиля пользователя;
письма в службу поддержки. [...]]]></description>
		<link>http://www.smira.ru/2009/02/27/spamfighter-dot-two-release/</link>
			</item>
	<item>
		<title>Deferred: все подробности</title>
		<description><![CDATA[В предыдущей статье были описаны основные принципы работы Deferred и его применение в асинхронном программировании.
Сегодня мы постараемся рассмотреть в деталях функционирование Deferred и примеры его использования.

Итак, Deferred &#8211; это отложенный результат, результат выполнения, который станет известен через некоторое время. 
Результатом, хранящимся в Deferred, может быть произвольное значение (успешное выполнение) или ошибка (исключение),
которое произошло в процессе [...]]]></description>
		<link>http://www.smira.ru/2009/02/24/more-about-deferred/</link>
			</item>
	<item>
		<title>Асинхронное программирование: концепция Deferred</title>
		<description><![CDATA[Асинхронная концепция программирования заключается в том, что результат
выполнения функции доступен не сразу же, а через некоторое время в виде
некоторого асинхронного (нарушающего обычный порядок выполнения) вызова. Зачем
такое может быть полезно?  Рассмотрим несколько примеров.

Первый пример &#8211; сетевой сервер, веб-приложение. Чаще всего как таковых
вычислений на процессоре такие приложения не выполняют. Большая часть времени
(реального, не процессорного) тратится на [...]]]></description>
		<link>http://www.smira.ru/2009/02/10/deferred-async-programming/</link>
			</item>
	<item>
		<title>Структуры данных в memcached/MemcacheDB</title>
		<description><![CDATA[Достаточно часто нам приходится хранить данные в
memcached или
MemcacheDB. Это могут быть относительно
простые данные, например, закэшированные выборки из базы данных,
а иногда необходимо хранить и обрабатывать более сложные структуры данных,
которые обновляются одновременно из нескольких процессов, обеспечивать
быстрое чтение данных и т.п. Реализация таких структур данных уже не укладывается
в комбинацию команд memcached get/set. В данной статье будут описаны
способы хранения [...]]]></description>
		<link>http://www.smira.ru/2009/01/21/data-structures-in-memcached-memcachedb/</link>
			</item>
	<item>
		<title>PostgreSQL vs. MySQL</title>
		<description><![CDATA[Тема этого поста была навеяна небольшим спором, разразившимся в ЖЖ. Эта битва будет вечной, как и война добра со злом, светлого и темного, FreeBSD и Linux, и т.п. Можно ломать копья, кричать &#171;кто круче&#187;, но спор ни к чему не приведет. Можно делать синтетические тесты, пытаясь определить, кто же быстрее, но один тест скажет, что [...]]]></description>
		<link>http://www.smira.ru/2009/01/06/postgresql-vs-mysql/</link>
			</item>
	<item>
		<title>МТС и &#171;долг&#187; в тысячу рублей</title>
		<description><![CDATA[Эта история грустная, но со счастливым концом. И для начала хочется сказать спасибо компании МТС, что ситуация разрешилась в лучшую сторону. Итак, всё по порядку&#8230;

Обычным письмом приходит извещение от компании МТС, что на лицевом счету XXXXYYYY имеется непогашенная задолженность, что компания МТС скоро подаст в суд а данные мои передаст в бюро кредитных историй в [...]]]></description>
		<link>http://www.smira.ru/2008/12/20/mts-debt-1000-ruble/</link>
			</item>
	<item>
		<title>D. J. Bernstein</title>
		<description><![CDATA[Кто такой D. J. Bernstein или просто djb? С моей точки зрения, в первую очередь, &#8211; это интереснейший человек. Людям из мира web он больше всего известен как автор интересных, безопасных и быстрых программ: qmail и djbdns. Эти программы обладают архитектурой, непохожей на все привычные серверные решения: Apache, BIND, postfix и т.п. Они пропитаны духом [...]]]></description>
		<link>http://www.smira.ru/2008/12/19/djb/</link>
			</item>
	<item>
		<title>CDN своими руками или раздача видеоконтента</title>
		<description><![CDATA[В продолжение темы про доставку видеоконтента: мы обеспечили хранение и обработку контента, как теперь отдать контент таким образом, чтобы он оказался как можно &#171;ближе&#187; к потребителю. Большая часть статьи будет посвящена обобщенному подходу географически распределенной раздачи контента, а в конце в качестве примера он будет применен к доставке видеофайлов и вещаний конечным пользователям.

Необходимость географической распределенности

Кроме [...]]]></description>
		<link>http://www.smira.ru/2008/12/03/cdn-content-delivery/</link>
			</item>
	<item>
		<title>Доставка видеоконтента пользователям</title>
		<description><![CDATA[Что такое «контент» для видеохостинга? Во-первых, контент видеохостинга – это просто видео, которое представляет собой набор файлов в различных форматах, в частности, в формате FLV для просмотра пользователем через Flash Player. Эти файлы статичны, видеохостинг при загрузке пользователем видеоролика осуществляет конвертацию во все требуемые форматы с необходимым битрейтом. Хранение такого контента — это хранение обычных [...]]]></description>
		<link>http://www.smira.ru/2008/12/02/video-broadcast-delivery/</link>
			</item>
	<item>
		<title>Проверка орфографии в Vim</title>
		<description><![CDATA[Чудесная возможность Vim&#8217;а! Да поможет она повышению грамотности наших разработчиков. Проверка орфографии умная, понимает, что именно в исходном файле стоит проверять (например, комментарии), а что не стоит (например, ключевые слова).

Итак:


Качаем отсюда
словарь: http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries/ru_RU.zip
Раскрываем архив в папку /tmp/dict.
mkdir -p ~/.vim/spell/


Запускаем Vim, делаем:

:mkspell! ~/.vim/spell/ru /tmp/dict/ru_RU


Вуаля! Словарь готов! (Всё описанное выше &#8211; подготовительный этап, это надо сделать всего один [...]]]></description>
		<link>http://www.smira.ru/2008/11/17/russian-vim-spell-checking/</link>
			</item>
	<item>
		<title>Open Source: Deferred для qooxdoo</title>
		<description><![CDATA[Мы представляем начало нашего маленького проекта по выкладыванию в open-source исходного кода наших проектов (полностью или частично). Первой ласточкой становится маленькая библиотека, предназначенная для работы с Deferred из Twisted Framework в qooxdoo на JavaScript.

Практически полностью код был взят из MochiKit.Async и адаптирован под qooxdoo. Полезные нововедения: если если в течение 1 секунды не будет обработана [...]]]></description>
		<link>http://www.smira.ru/2008/11/01/open-source-deferred-qooxdoo/</link>
			</item>
	<item>
		<title>Memcached: статистика, отладка и RPC</title>
		<description><![CDATA[Серия постов про &#171;Web, кэширование и memcached&#187; продолжается. Начало здесь: 1, 2, 3, 4 и 5.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached, а также о проблеме одновременного перестроения кэшей и тэгировании кэшей.

Сегодняшний пост завершает эту серию, в нём обзорно мы [...]]]></description>
		<link>http://www.smira.ru/2008/10/31/web-caching-memcached-6/</link>
			</item>
	<item>
		<title>Сброс группы кэшей и тэгирование в memcached</title>
		<description><![CDATA[Серия постов про &#171;Web, кэширование и memcached&#187; продолжается. Начало здесь: 1, 2, 3 и 4.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached, а также о проблеме одновременного перестроения кэшей.

Сегодня мы поговорим о тэгировании кэшей и о возможности сброса сразу группы кэшей [...]]]></description>
		<link>http://www.smira.ru/2008/10/29/web-caching-memcached-5/</link>
			</item>
	<item>
		<title>Проблема одновременного перестроения кэшей</title>
		<description><![CDATA[Серия постов про &#171;Web, кэширование и memcached&#187; продолжается. Начало здесь: 1, 2 и 3.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached.

Сегодня мы рассмотрим проблему одновременного перестроения кэша, которая возникает при большом количестве одновременных обращений к кэшу, который был только что сброшен [...]]]></description>
		<link>http://www.smira.ru/2008/10/28/web-caching-memcached-4/</link>
			</item>
	<item>
		<title>twisted.python.log и trial &#8211; веселимся вместе</title>
		<description><![CDATA[Следующий забавный случай взаимодействия частей Twisted Framework заставил меня потерять час времени, спешу рассказать, в надежде,
что это спасет чьё-то время. Итак, в Twisted есть модуль логгинга, twisted.python.log, в котором есть удобный метод log.err(), который позволяет записать в лог информацию о текущем исключении. А trial &#8211; это framework для написания юнит-тестов из того же Twisted. Их [...]]]></description>
		<link>http://www.smira.ru/2008/10/24/twisted-log-and-trial-fun/</link>
			</item>
	<item>
		<title>Атомарность операций и счетчики в memcached</title>
		<description><![CDATA[Серия постов про &#171;Web, кэширование и memcached&#187; продолжается. В первом и втором постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования и кластеризации memcached.

Сегодня речь пойдет о:


атомарных операциях в memcached;
реализации счетчиков просмотров и онлайнеров.




Следующий пост будет посвящен проблеме одновременного перестроения кэшей.



Атомарность операций в memcached

Как таковые, все одиночные запросы к memcached атомарны (в [...]]]></description>
		<link>http://www.smira.ru/2008/10/24/web-caching-memcached-3/</link>
			</item>
	<item>
		<title>Кластеризация memcached и выбор ключа кэширования</title>
		<description><![CDATA[Серия постов про &#171;Web, кэширование и memcached&#187; продолжается. В первом посте мы поговорили о memcached, его архитектуре и возможном применении.

Сегодня речь пойдет о:


выборе ключа кэширования;
кластеризации memcached и алгоритмах распределения ключей.




Следующий пост будет посвящен атомарности операций и счетчикам в memcached.



Ключ кэширования

Пусть мы уже убедились, что использовать memcached для кэширования – это правильное решение. Первая задача, которая [...]]]></description>
		<link>http://www.smira.ru/2008/10/21/web-caching-memcached-2/</link>
			</item>
	<item>
		<title>Кэширование и memcached</title>
		<description><![CDATA[Этим постом хочу открыть небольшую серию постов по материалам доклада на HighLoad++-2008. Впоследствии весь текст будет опубликован в виде одной большой PDF-ки. 

Введение

Для начала, о названии серии постов: посты будут и о кэшировании в Web’е (в высоконагруженных Web-проектах), и о применении memcached для кэширования, и о других применениях memcached в Web-проектах. То есть все три [...]]]></description>
		<link>http://www.smira.ru/2008/10/16/web-caching-memcached-1/</link>
			</item>
	<item>
		<title>Web, кэширование и memcached (выступление на HighLoad++ 2008)</title>
		<description><![CDATA[Итак, HighLoad++ состоялся. Если говорить кратко, конференция мне понравилась. Ниже мои личные впечатления о конференции, краткие тезисы доклада и презентация. 

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

Мои впечатления о конференции

Итак, мне понравилось. [...]]]></description>
		<link>http://www.smira.ru/2008/10/08/highload-plus-plus-2008/</link>
			</item>
	<item>
		<title>Анонс: выступление на HighLoad++ (2008)</title>
		<description><![CDATA[6-7 октября в Москве пройдет конференция HighLoad++. На этой конференции я представлю доклад на тему &#171;Web, кеширование и memcached&#187; (текущая программа конференции).

Краткие тезисы доклада привожу ниже:

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

UPD: доклад будет во второй день, 7 [...]]]></description>
		<link>http://www.smira.ru/2008/09/30/highload-2008/</link>
			</item>
	<item>
		<title>Выступление на РИТ: Высокие нагрузки (2008)</title>
		<description><![CDATA[22-23 сентября в Москве состоялась конференция РИТ: Высокие нагрузки. На ней я представил доклад &#171;Доставка видеоконтента пользователям&#187; (доклад строился на нашем опыте в NetStream по проектированию Smotri.Com).

Ниже вы найдете краткие тезисы доклады, полные тезисы, презентацию, а также видео с конференции.



Краткие тезисы

Цель доклада: познакомить аудиторию с возможными способами организации отдачи статического контента (видеофайлы) и «живых» потоков [...]]]></description>
		<link>http://www.smira.ru/2008/09/28/rit-highload-2008/</link>
			</item>
	<item>
		<title>MDC: скоро запуск</title>
		<description><![CDATA[Близко-близко уже дата запуска нашего нового суперкрутого проекта. Да, мы гордимся им! На сайте уже тикает будильник: http://mdc.ru/
]]></description>
		<link>http://www.smira.ru/2008/08/27/mdc-to-be-launched-soon/</link>
			</item>
	<item>
		<title>Лог комита: зачем он нужен на самом деле?</title>
		<description><![CDATA[Разработчики уже давно привыкли пользоваться системами контроля версий. Для кого-то это является естественным переходом, кто-то воспринимает сначала систему контроля версий как некоторое дополнительное усложнение своей работы, но работа над проектом в команде невозможна без этого инструмента.

Очень часто переход от мышления &#171;я сохранил файл &#8211; код зафиксирован&#187; к мышлению &#171;я сделал комит &#8211; код зафиксирован&#187; натыкается [...]]]></description>
		<link>http://www.smira.ru/2008/08/13/commit-log/</link>
			</item>
	<item>
		<title>ffmpeg: &#171;утечка&#187; памяти (av_read_packet)</title>
		<description><![CDATA[Может, это кому-то поможет сохранить пару часов отладки. Когда читаем видеопоток из файла, делаем что-то наподобие следующего:

AVPacket *m_pPacket = (AVPacket *)malloc(sizeof(AVPacket))
while(1)
{
     int ret = av_read_frame(formatCtx, m_pPacket);

     if (ret &#60; 0)
         // error

     if (m_pPacket.stream_index == [...]]]></description>
		<link>http://www.smira.ru/2008/07/10/ffmpeg-memory-leak-av_read_packet/</link>
			</item>
	<item>
		<title>МТС, Евросеть и Билайн</title>
		<description><![CDATA[04.07.08 (пятница)

Еду в машине, никого не трогаю. В телефоне симка МТС, которой уже много-много лет. Оператора и телефонный номер сто лет не менял, но последнее время напрягала сумма платежей МТСу (доходило до 2000 руб. каждый месяц при звонках внутри Москвы). Так вот, еду, в телефоне MIP живёт, аська зеленеет. Тут соединение рвётся и MIP делает [...]]]></description>
		<link>http://www.smira.ru/2008/07/10/mts-euroset-beeline/</link>
			</item>
	<item>
		<title>Страуструп: наставления начинающему программисту</title>
		<description><![CDATA[Прочитал интервью Бьерна Страуструпа для австралийского ComputerWorld. В этом интервью ему задают вопрос:


  Do you have any advice for up-and-coming programmers? 


Мне кажется, ответ на данный вопрос формулирует то самое, к чему должен стремиться любой программист. Итак, далее мой вольный перевод на русский:


  Можете что-то посоветовать начинающим программистам?
  
  Изучайте основы [...]]]></description>
		<link>http://www.smira.ru/2008/06/26/straustroup-beginner-programmer-advices/</link>
			</item>
	<item>
		<title>Web, кеширование и memcached: часть 2</title>
		<description><![CDATA[Начало серии постов здесь. Продолжаем разбираться с этим вопросом.

Проблема №3. Одного мемкеша мало

Если сайт большой, данных много, кешей тоже много, в один memcached физически не умещаемся. Пожалуйста: создаем кластер мемкешовых серверов, хешируем ключи для определения номера сервера, на котором ключ должен храниться. Всё вроде бы хорошо до тех пор, пока эти сервера не начинают падать [...]]]></description>
		<link>http://www.smira.ru/2008/06/23/web-cache-memcached-2/</link>
			</item>
</channel>
</rss>
