среда, 31 августа 2011 г.

Домашнее задание

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

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

Конечно, сейчас набегут крутые программисты, которые скажут:
- А, ну так это ж алгоритм Шпрехензе-Дойча, который на PHP не реализуем в силу ущербности последнего, и вообще надо Кнута читать, писать на .NET и носить в кармане айфон!
Пускай :)

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

Первый вариант, который я набросал за 10 минут, имел два больших недостатка: во-первых, я предположил, что время квантуется по минутам, а, во-вторых, организовал вложенный цикл, увеличив общее число итераций до 600000.

$ php -d memtrack.enabled=1 -d memtrack.soft_limit=1K -d memtrack.vm_limit=1K hometask_01.php
483
0.54826402664185 sec
PHP Warning:  [memtrack] [pid 1842] virtual memory usage on shutdown: 2076672 bytes in Unknown on line 

Полсекунды - это очень дофига, но зато потребление памяти - почти как у пустого скрипта, там всего-то массив в 1440 элементов.

Потом я эти два недочёта убрал - квантование времени сделал по секундам и убрал вложенные циклы. Получилось примерно вот что:

$m = array(0 => 0, 3599 => 0);
for($i = 0; $i < 10000; $i++)
{
	$e = round(mt_rand(0, 86399));
	if(isset($m[$e]))
	{
		$m[$e]++;
	}
	else
	{
		$m[$e] = 1;
	}
	$e += 3600;
	if($e > 86400)
	{
		$e -= 86400;
		$m[0]++;
	}
	elseif($e == 86400)
	{
		$m[0]++;
		$m[3599]--;
	}
	if(isset($m[$e]) && $e)
	{
		$m[$e]--;
	}
	else
	{
		$m[$e] = -1;
	}
}
$s     = 0;
$max_s = 0;
for($i = 0; $i < 86400; $i++)
{
	if(isset($m[$i]))
	{
		$s += $m[$i];
		$max_s = max($max_s, $s);
	}
}
echo $max_s."\n";

$ php -d memtrack.enabled=1 -d memtrack.soft_limit=1K -d memtrack.vm_limit=1K hometask_01.php
475
0.048645973205566 sec
PHP Warning:  [memtrack] [pid 1846] user function main() executed in  on line 0 allocated 1835008 bytes in Unknown on line 0
PHP Warning:  [memtrack] [pid 1846] virtual memory usage on shutdown: 3911680 bytes in Unknown on line 0

Если сначала отсортировать массив $m, а потом перебирать его поэлементно, то это получится дольше примерно на 0.01 секунды и потребует памяти больше примерно на 800 Кб, поэтому я отказался от этой затеи.

Значение нужного количества сортиров колеблется в районе 460-480, хотя, как мне кажется, должно быть около 416,6, что наводит меня на мысль о том, что алгоритм Шпрехензе-Дойча реализован не совсем верно :(
Подумаю ещё немного.

А ещё blogger.com принялся втыкать дополнительные пустые строчки внутрь <pre>, нахрена? Дерьмо.

вторник, 30 августа 2011 г.

Намаз, Успение и LOST

Прежде всего хочу сказать, что всегда думал (да и сейчас тоже иногда так думаю), что "намаз" - это когда чем-то намазываются. Читаю в новостях - "восемьдесят тысяч мусульман в Москве совершили праздничный намаз", и меня начинает разбирать хохот. Представляю себе суровых чернобородых тёмнокожих дядек в чалмах, которые зачерпывают из бочек вазелин или дёготь и, пытаясь изображать на лицах радость по поводу праздника, старательно намазываются.
- Эй, Саид, помоги спину намазать!
- Мне бы кто помог, да?

Менее забавно звучит название православного праздника "успение", оно ассоциируется с тем, что кто-то что-то успел сделать. Иисус догнал телегу, вскочил:
- Уф, успел!
Решили отмечать.

На самом деле я хотел рассказать про сериал LOST. Мы с женой смотрим по вечерам первый сезон по одной-две серии за вечер, и вот уже досмотрели до серии, в которой впервые появляется последовательность цифр "4 8 15 16 23 42", или как там их. Надо признать, "лост" мне напоминает "Санта-Барбару" - все что-то ходят, говорят друг с другом, выясняют отношения, иногда бьют друг другу морды. Что-то интересное происходит редко и как-то теряется на фоне сплошной болтовни во время сидения на пляже, в пещере или брожения между ними по джунглям.
- Кто-нибудь видел Клэр?
- Она шла с Чарли на пляж.
- Кажется, её похитили!
- Лок, а у тебя есть папа?
- Ээээй, куда спешишь, Веснушка?
- Отвали, Сойер.
Никогда б не подумал, что формирование отношений в человеческом замкнутом коллективе в экстремальной ситуации - это такая скучная и занудная вещь. Досмотреть бы первый сезон. А жене нравится, смотрит с удовольствием.

суббота, 27 августа 2011 г.

Суббота

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

Площадь Юности.


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

Ближе к вечеру уехали на велосипедах в МЖК (чуть ли не в каждом городе есть свои выселки под названием "молодёжный жилой комплекс", и у нас в Зеленограде тоже есть, это такой элитный район, официально именующийся "микрорайон 5а"), и там побродили по альпийской горке.

Наши транспортные средства (на переднем плане) и корыта, на которых гоняют буржуи из МЖК.


Лес по другую сорону альпийской горки.


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

1000й тикет

В нашем траке (мы используем на работе trac для ведения задач) недавно появился тысячный тикет. Начали мы им пользоваться где-то этой весной, и вот уже тысяча. И уже тысяча двадцать четыре. Разумеется, мы не могли это дело не отметить.



вторник, 23 августа 2011 г.

Два скриншота

Сегодня на работе произошло два события, мимо которых я не мог пройти и сделал скриншоты.

Первый раз такое было:

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

И вот - 1000-гет. Паша обещал подарок создателю тысячного тикета, и вот он - тысячный, создатель - я.

Я второй раз создаю тысячный тикет - в первый раз я просто зашёл в БД trac'а и сделал тысячный тикет руками, но Паша возмутился и назвал это "злоупотреблением должностными полномочиями", но теперь-то он не отвертится! :)

воскресенье, 21 августа 2011 г.

Серость

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



В "Лабиринте" нет нужных мне книжек. Сыро, холодно, противно, благодать.

LOST

Вчера вечером супруга меня уговаривала посмотреть с ней первую серию первого сезона такого небезызвестного сериала, как LOST. А я не хотел, потому что терпеть не могу сериалы. Однако, это всё же было получше, чем какая-нибудь блевотная параша вроде "Безбрачной недели", судя по отзывам, так что я согласился.

Сели, посмотрели, и наши мнения сменились на противоположные, теперь я жажду посомтреть хотя бы первый сезон, а жена - не хочет; причём аргументация у нас одинаковая: "ну там же страшно и кровища!".

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

А ещё у нас в Гринсайте работает верстальщик Андрей, который на каждую нелепую шутку может вспомнить серию Симпсонов/Футурамы/Саузпарка/etc, в которой "это уже было". Более того, сам факт того, что он может что-то вспомнить, тоже когда-то "был в Саузпарке".

пятница, 19 августа 2011 г.

Плёнка июль 2011

Ещё одна говноплёнка.
Велики на балконе.


В отличие от прошлой плёнки, всё получилось довольно резко. Но зато всё тёмное и синее теперь.

четверг, 18 августа 2011 г.

Баранцево

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

На моё замечание о том, что по обочине ездить нехорошо, таксист с удовольствием рассказал о том, как выжимает на обочину тех, кто выезжает из правой полосы немного вправо, мешая объезжать пробку по обочине. Ну я не стал ему рассказывать про сайт "Авточмо", и дальше ехали молча. Хотя нет, поговорили о том, будет дождь или нет.

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

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

Пушка нацелена примерно в один из баранцевских домиков.


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

среда, 17 августа 2011 г.

IceWeasel сошёл с ума :)

Довольно забавно может вести себя браузер при обновлении с версии 3-с-чем-то-там (Debian Squeeze) до 6.0 (Debian Sid).

воскресенье, 14 августа 2011 г.

РосЯма API 1.4 upd1

API РосЯмы


Соответствует текущей версии 1.4 РосЯмы.
Общение с сервером РосЯмы любое внешнее приложение осуществляет посредством запроса к серверу по протоколу http (а лучше — https, но сейчас это ещё не реализовано) на определённый адрес. Сервер в ответ присылает XML.
Запросы могут быть посланы как методом GET, так и методом POST, в зависимости от запроса. В случае, если приложение отправляет запрос методом GET, то может передать какие-нибудь данные в строке URL, а также в строке URL содержится тип запроса. Проще говоря, в зависимости от того, что приложение хочет получить и сообщить, оно формирует запрос на определённый URL. Запросы методом POST используются для отправки на сервер больших объёмов информации (загрузка картинок и так далее), а также могут быть использованы для выполнения запросов, которые требуют авторизации. Все запросы, для которых авторизация не требуется, отправляются на сервер методом GET.
Промышленный сервер, который принимает запросы: http://xml.rosyama.ru/.
Тестовый сервер, на котором можно отлаживать приложения: http://xml_st1234.greensight.ru или http://xml-st1234.greensight.ru. Веб-интерфейс тестового сервера: http://st1234.greensight.ru.
Следует помнить, что тестовый сервер обычно имеет более свежую версию исходного кода и может работать (что обычно и происходит) менее стабильно, чем промышленный, так как изменения происходят там в непрерывном режиме, а на промышленный сервер переносятся пачками время от времени. Текущая версия API на промышленном сервере описана по адресу http://rosyama.ru/api/, на тестовом сервере по адресу http://st1234.greensight.ru/api/.

Формат XML ответа сервера


Валидный ответ сервера выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<st1234reply>
	<requesttime> тут время запроса (таймстамп) </requesttime>
	<requestmethod> тут метод запроса (обычно GET или POST) </requestmethod>
	<replytime> тут время ответа сервера (таймстамп) </replytime>
	

	Тело ответа.
	

</st1234reply>

суббота, 13 августа 2011 г.

Мцыри

Сегодня с утра я с семейством съездил в усадьбу Середниково (Мцыри). На сей раз мы всё-таки решили посетить ещё место под названием "киногородок", где стоят фанерные фасады средневекового города и типа парусный корабль. Там, видимо, снимали какое-то кино, ну а декорации к нему решили оставить на потеху простым людям.

Доехали туда на такси за 350 рублей. Потом ещё метров 200 прошли вдоль дороги и увидели, что сегодня посещение городка и кораблика закрыто. Охранники сказали нам, что "у них там корпоратив какой-то, так что сегодня нельзя". Ну нельзя так нельзя.

Кораблик с каким-то говном вместо парусов для корпоратива.


Потом мы вернулись к усадьбе. Усадьба тоже, кстати, была закрыта, но сбоку там есть дырка в заборе, куда все лазают к роднику за водой. Мы пролезли через дырку и тоже пошли в сторону родника. Там по дороге к нему есть живописный мост средневековой постройки, правда, у него уже разваливаются перила. А те участки, которые ещё не развалились или уже отреставрированы, изгажены замочками с надписями "совет да любовь".

Фрагмент перил моста.


Указатель к роднику.


Мост, общий вид (у всех такая фотография, наверное, уже есть).


API РосЯмы

Открыто API РосЯмы.

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

Но вот координатор РосЯмы очень нас торопил, так как хотел опубликовать сообщение об открытии API до своего отъезда в отпуск. Ну что сделано, то сделано. Правда, от поста в жж, который опубликовал координатор, особого эффекта не случилось. Эффект побольше будет, когда мы (я имею в виду Greensight) напишем об открытии API у себя в жж, дадим ссылки в твиттере, фейсбуке, и так далее, ну, насколько Фенриз умеет SMO. А потом кто-нибудь опубликует пост на хабре... вот тогда эффект может быть подобен взрыву :)

Я сам бы написал пост на хабре, но, как я уже говорил, я там забанен за мат в комментариях на полгода. До конца бана осталось меньше месяца, ура-ура! Я понимаю, конечно, что мат в отношении руководящих структур и госорганов, тем более в отношении целого министерства (тем более такое слово, как "охуели") должен караться строго, но полгода - это почти целая вечность, только чуть поменьше.

пятница, 12 августа 2011 г.

Как я боролся с модемом D-Link

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

И мне ещё в качестве бонуса прилагался USB-wi-fi-модем производства небезызвестной фирмы D-Link. "D" в названии фирмы означает, видимо, "дерьмо", но к этому выводу я пришёл через два дня безуспешных с ним сражений.


Моё старое рабочее место, правда, не на моём столе.

Сначала я поставил Debian 6.0.2. С ходу сеть не подцепилась, и я начал делать всё так, как прочитал на соседнем компьютере в гугле: снёс на хер гнусный NetworkManager, подключил провод (так как у нас в роутере проводные разъёмы кончились, то Гринсайт на время остался без файлообменного сервера), установил wireless-tools и принялся настраивать юсб-модем так. Однако, так он настраиваться не хотел ни в какую. Тем временем наш программист Витя поставил себе LinuxMint и у него в компьютере аналогичный юсбшный свисток завёлся сразу.


Передняя панель нового системника.

Я не стал сдаваться и поставил себе Ubuntu 11.04. На сей раз беспроводная сеть подцепилась сразу, но... но спустя несколько секунд сразу отваливалась, вне зависимости от того, скачивал я что-нибудь или нет. Ещё полдня потрачено зря. В конце концов я не выдержал и установил точно такой же LinuxMint, как у Вити. Но и в нём модем не работал нормально! Конечно, не исключено, что все без исключения юсб-порты на новом копьютере были неисправны, но клавиатура и мышь работали без перебоев ведь.


Вот он торчит, виновник моих несчастий.

В итоге я принялся приставать к своим коллегам, у кого был провод, чтоб они поменялись со мной проводом на модем. Андрей согласился попробовать. У него под виндой модем определился и заработал сразу без проблем. Ну а я подключил себе провод и, счастливый, поставил себе снова Debian. Правда, я потом его поломал, прервав обновление до версии sid грубо командой killall dpkg, но это уже совсем другая история.

среда, 10 августа 2011 г.

И ещё про безопасность

Наши двери всегда открыты для вас!


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

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

понедельник, 8 августа 2011 г.

Синдром безопасности

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

Ну дело как было. Раунд первый я, конечно, слил - я пошёл к нему в каморку с бумажкой, которая назвается как-то типа "заявка на пронос материальных ценностей через КПП внутрь". Я там написал:
1) персональный компьютер 1 шт
2) компьютерный монитор 1 шт

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

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

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

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

суббота, 6 августа 2011 г.

Про привычность пользовательских интерфейсов

По рабочей надобности пришлось мне как-то раз поставить себе на ноутбук винду в виртуальной машине. Надо было проверить работу джаваскриптов в осле 7 и 8 версий (как выяснилось, array.indexOf ослы не понимают. Ну, если так подумать, то не обязаны. Однако, если все вокруг им же пользуются, то почему бы и нет?)

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

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

А ещё некоторые говорят, что линукс сложен. Это просто дело привычки! Вот обычный путь превращения человека в тролля: сел попробовать, ничего не понял, расстроился, полез читать в интернете, а там говорят "ламер". Почувствовал баттхёрт и объявил войну линуксопоклонничеству.

четверг, 4 августа 2011 г.

Что делать дальше?

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

У нас в Greensight пока что такой собственный проект только один - autochmo.ru - как раз сегодня я в новостях услышал, что возмущённые своим попаданием на этот сайт нарушители ощущают баттхёрт и грозятся подать в суд. К величайшему сожалению, у нас практически нет ресурсов заниматься нормальной разработкой и сопровождением Авточма. Мы это делаем урывками небольшими порциями в перерывах между авралами, вызванными внезапными требованиями тёмного божества Бизнеса, которому поклоняются наши клиенты, особенно те, которых мы всячески балуем на техподдержке.

Давеча, моясь в душе, я размышлял о будущем таких вот проектов-стартапов. Конечно, после того, как соберётся некая более-менее постоянная аудитория, у владельцев стартапа начнёт зудеть свой маленький Бизнес, нашёптывая, что надо бы ресурс-то монетезировать. Ну и начинается - рекламные баннеры, платные смайлики, смски на короткие номера... хотя бы окупается хостинг.

Однако, существуют иные пути развития.
2) найти иной источник дохода и продолжать развивать свой проект по-старому, без баннеров и всплывающих окно. Например, сделать из него SaaS или ещё что-нибудь.
3) забить на него, авось, не загнётся.
4) продать кому-нибудь с потрохами.

Есть и ещё варианты, о которых обычно никто не думает. Пока ничего рассказывать не буду, пусть будет сюрприз :)