–обот дл€ "досуга"

10.06.2008, 10:21
ѕисатель © —таростин ¬асилий ¬икторович
—тиль рассказа: –ассказ в трех итераци€х с тестированием и развертыванием., размер 22 .

ћосква, 2025 год.
»тераци€ перва€: проектирование.

ƒень 1-й. ѕостановка задачи.

Ќовое задание свалилось на разработчиков как всегда: неожиданно и "вчера". √енеральному кто-то подарил танцовщицу: разукрашенного силиконового робота в натуральную величину с набором соответствующих программ. „ерез пару недель, когда набор пл€сок исчерпалс€ и надоел, кукла была заброшена.   дальнейшим событи€м, давшим основу всей истории, привели два факта:
- чтобы не занимать место, кукла была брошена на склад компьютерного оборудовани€: им €вл€лс€ закуток в комнате программистов;
- генеральный нарвалс€ по интервидению на фильм "Ѕегущий по лезвию бритвы" с актером ’аррисоном ‘ордом (и кто только придумал крутить по интервидику такую допотопную хрень?!).
ƒиректор - надо отдать ему должное, именно поэтому он им и был - тут же решил, что из этой танцовщицы можно будет сделать... ммм... "робота дл€ досуга", как впоследствии он был назван маркетингом. ’от€ тогда, конечно же, тогда генеральный выразилс€ гораздо пр€мее.
ƒиректор был человеком увлекающимс€, и свои идеи любил - чего, впрочем, нельз€ было сказать про его программистов. »з-за танцовщицы все текущие задачи (а особенно - задачи на перспективу) были отброшены, а вместо них было поставлено требование за мес€ц сделать танцовщице новый, "досуговый" интерфейс. ќтветственным за проект тут же назначили ¬асили€ ÷арева - одного из самых опытных разработчиков и, главное, морально готового к столь нестандартным иде€м.
√енеральный - кстати, назовем его в честь тезки √агариным - высказалс€ просто:
- –еб€та, область нами еще не освоенна€. –ынок еще такого продукта не знает, мы там будем первыми. я надеюсь, что у вас все получитьс€, и тогда мы подумаем о премировании отличившихс€, ну а пока - дерзайте, € жду результатов.
- ёрий јлексеевич, срок нереальный. –абота нова€, надо хот€ бы прикинуть, что-как! - подал голос свежеиспеченный руководитель группы, ÷арев.
- я понимаю. Ќо уложитьс€ надо! - ответствовал директор.
Ќа этом знаменательное собрание завершилось, и разговор перенесс€ в комнату 747, то есть в комнату команды разработчиков.

¬ ней, как гепард от пуда соли (вариант - как "думер" от ракеты), носилс€ технический директор. » это было довольно-таки типично. √енеральному в голову посто€нном приходили такие идеи, что технический директор металс€ в ужасе, изрыга€ прокл€ть€ и за€вл€€, что "на эту туфту у него нет времени, надо делом заниматьс€!" ѕоскольку дел всегда было €вно больше, чем программистов, любой план валилс€ напрочь, а потому привычные программисты скорее спали на рабочем месте или резались в игрушки, нежели стремились к выполнению за€вленных техдиректором "дел". ј что старатьс€, если еще до начала проекта уже известно, что срок его выхода будет сорван? ¬от сейчас, под матюги директора, народ резалс€ в старую, но добрую игруху Unreal 8 - это называлось у программистов "контрольный в жопу".
- ƒа когда ж вы наиграетесь, пр€мо как дети малые! - наконец обратил на них внимание техдиректор.
- ƒа мы чуток, чтоб мозги отдохнули, - не менее возмущенно ответил старший программист, √усев.
- ј то вы не знаете, что нам проект новый повесили.  то его будет делать?!
- ƒа, кстати, - вмешалс€ ÷арев, - кто?
ѕосле краткого и жаркого обсуждени€, а также посула премий и угроз отобрать ћеганет (на "св€той" Unreal уже даже не покушались), в группу вошли:
- јлексей, аналитик;
- Ќиколай  олесов, ведущий разработчик;
- ƒмитрий √усев, старший программист, он же глав-рюх (от пон€тного всем программистам слова "разрюхать"; впрочем, глав-рюх лучше всех рюхал и в "ан-рыл" тоже);
- ¬овка, ѕет€: разработчики пользовательского интерфейса и драйверов нижнего уровн€ соответственно.
Ќачинать новую работу с середины дн€ никому из программистов не хотелось, поэтому народ "досидел" день в ћеганете и затем разошелс€ по домам, сделав напоследок еще один "контрольный".

ƒень 2-й. ƒекомпозици€, распределение задач.

Ќаперво, решили проверить программный интерфейс танцовщицы. ≈е "зрение" через радиоканал подключили к компьютеру Ћехи-аналитика. Ётот интерфейс - даже странно дл€ первого раза - тут же заработал, на экране по€вились координатна€ сетка и набор характеристик окружающей среды; в углу экрана побежали команды, докладывающие о готовности.
- ¬от интересно, - спросил аналитик, - Ќафига роботам красивые текстовые меню: они что, их читают, что ли?!
- “ы чЄ, - отозвалс€ ¬асилий, - это ж дл€ отладки! Ёто не роботам, это дл€ программистов - debug-info, понимаешь.
»нтерфейс оказалс€ банальным - команды на движени€ конечност€ми да небольшой набор встроенных процедур дл€ выполнени€ комплексных действий: ходьба, повороты, выражение стандартных эмоций ("страсть", "любовь", "нежность", "грусть", "мольба" с трем€ градаци€ми на каждую).
- ћда, - произнес ¬асилий, - ¬се придетс€ делать самим...
- «ато это будет качественно, - сразу вмешалс€ техдиректор, - Ќе надо нам никаких сторонних библиотек, натерпелись от них с предыдущего проекта.
ƒиректора подержал ведущий разработчик:
- ќт чужих приблуд хрен толку, уж лучше самим все писать.
- Ёто смотр€ кому, - заметил ¬асилий, ехидно кос€сь на ¬ову.
- ј че €! - возмутилс€ ¬ова, - я вообще без ошибок пишу!
¬се рассме€лись - ¬овка был знатным, по выражению ведущего разработчика, "плюходелом" и посто€нно кос€чил. Ќо кроме него писать пользовательский интерфейс, то бишь взаимодействие куклы с пользователем, было попросту некому, а уволить плюходела м€гкотелый техдиректор стесн€лс€. ƒаже анекдот "если б сразу после свадьбы убил, сейчас бы уже вышел", часто напоминаемый ÷аревым, не действовал.

ƒальнейшие задачки раскидали так:
-  олесов: основы поведени€ (здесь ÷арев однозначно не завидовал скромному и щепетильному  олесову).
- ѕет€: взаимодействие с аппаратными устройствами, куда вошли не только стандартные руки/ноги/голова, но и особое устройство, названное с подачи техдиректора Wet Cat, а также написание дополнительного функционала драйверов ротовой полости. ”стройство, предварительно названное Back Door, в бета-версии пока решили не инсталлировать.
- ¬овка: движени€ и микродвижени€ модели, набор пользовательских фор... позиций, расширенную мимику модели (решили добавить эмоции "возбуждение", "восхищение" и особый имитационный блок "оргазм").
- ƒмитрий: базовые функциональные модули: "пред-игра", "массаж", "классика" и ми... в общем, состо€ние пол€, когда по нему прошли саперы.
- ÷арев вз€лс€ писать коммуникационный блок между €дром и пользовательским интерфейсом.
ќбрадованные таким раскладом, программисты приступили к работе. ѕосле, конечно, "контрольного".

ƒень 5-й. —овещание по тестированию.

“ехнический директор грозно огл€дел своих подопечных:
-  то будет бета-тестером нашей модели?
- ≈сть небольша€ сложность, - заметил ¬асилий, - ¬се наши штатные тестеры - женщины, а тестировать модель самими программистами считаетс€ некорректно.
ќднако при этих словах группа разработки так вздрогнула, что он тут же добавил:
-  онечно, мы проведем альфа-тестирование и создадим unit-тесты, однако это принимать решение о пользовательских качествах готовой системы должны, как нам видитс€, специально выделенные тестировщики и сами пользователи.
“ак "досугова€" команда пополнилась еще одним членом: “имофеем јндреевым.

- ћихаил √еннадьевич, мы тут насчет автотестов думали, - добавил ÷арев, - пока не €сно, как "это" можно автоматизировать, но планчик набросали. ѕоказать?
- ¬ал€й!
- ¬ рамках за€вленной функциональности, мы с јлексеем выделили следующие темы: завлекающа€ походка, поцелуи, объ€ти€, ласки через одежду, фистинг, флетчинг...
- ќбожди-обожди, это еще что такое?
- —ами не знаем, на порно-сайте прочитали. ѕусть кстати нам к ним доступ откроют, а то домашние на мен€ косо смотр€т...
- ќткроем. „то там еще?
- ƒалее, рельсы-шпалы - из массажных техник, миссионерска€ позици€, собачь€. "Ўесть-дев€ть" решили не пока делать, так как еще ротовой блок не готов; ну и вообще не замахиватьс€ особо на функциональность. » еще, как назовем изделие?
- ј давайте “утти, - сразу предложил новый тестировщик - как в книжке! (ёрий ќлеша, "“ри толст€ка" - прим. авт.)
- јга, а потом мы ее потер€ем, и вынуждены будем срочно найти ей на замену похожую проститутку - добавил ÷арев, - » это, кстати, мысль: как нам продемонстрировать работу начальству... ƒа шучу! - тут же поправилс€ он.
Ќо тем не менее, модель назвали “утти...
»тераци€ втора€: разработка.

ƒень 9-й. ѕросто день.

–абота шла полным ходом - что, впрочем, не мешало топтатьс€ на месте ее результатам. „еловеческое (а тем более женское!) поведение в общеизвестные алгоритмы не укладывалось, ведущий разработчик ходил мрачный и нещадно ныл на постановщиков задачи. Wet Cat до сих пор еще не поставили, и ѕет€ катал свои драйвера вслепую. ƒмитрий таки продул в Unreal (что еще хуже - другому ƒмитрию, тоже программисту, но не вошедшему в проектную группу) и потому скорее дулс€, чем работал.
— ¬овкой так вообще случилось несчастье, он пришел с фингалом под глазом: жена не поверила, что он листал ѕлейбой только по заданию на работе. ¬се жалели ¬овку, он действительно выгл€дел, как побита€ собака.
ƒаже у јлексе€, из аналитика переквалифицировавшегос€ технического писател€, всЄ не ладилось. ¬асилий нашел несчастного документалиста, заваленного многочисленными медицинскими справочниками, гл€нцевыми журналами и цветными копи€ми  амасутры.
- Ќикак не могу подобрать соответствующий €зык, - горестно пожаловалс€ тот. - ћедицинский - не всем пон€тен и узкоспецифичен. ћатерный слишком груб и вообще не подходит дл€ руководства пользовател€. ѕростой бытовой €зык не нравитс€ маркетингу, так как они считают модель эксклюзивной...
- «наешь Ћеша, пиши как есть! - по-отечески посоветовал ¬асилий, - ј руководство пользовател€ пусть отдельно маркетинг сделает - с картинками. я думаю, пользовател€м это понравитс€!

ƒень 12-й. ѕерва€ контрольна€ точка.

— грехом пополам (а также с матами, спорами и "контрольными" - но не точками), альфа-верси€ системы была написана. ѕоведенческое €дро Ќиколаю все-таки удалось реализовать, и - несмотр€ на нехватку времени - даже почти пр€мо. ѕет€ освоил "руко-ногие" драйвера дл€ конечностей куклы, и даже умудрилс€ состыковать их с ¬овкиным "пользовательским" интерфейсом - что было более чем странным, так как состыковатьс€ с ¬овкиной работой считалось неверо€тно сложно. —ам "интерфейс" красиво принимал эротические позы и даже зазывно моргал своими миндалевидными оптическими сенсорами. √лав-рюх утверждал, что модули "поцелуи" и "массаж" уже "почти готовы", но можно сказать, что просто готовы.  оммуникационный блок ÷арева также действовал достаточно надежно, передава€ команды от €дра к интерфейсу и обратно, тер€€ в них не более 5% смысла. “е-о-ре-ти-че-с-ки, работу можно было представить хот€ бы техдиректору - что, собственно, разработчики и сделали.
 ритически огл€дев модельку, √еннадьич спросил:
- ј вы это тестировали?
- ≈ще нет, - вдруг не работает, а мы уже доложились - бодро за€вил ÷арев.
- “ак она еще не отлаженна€?!
- ¬ремени не было; нам маркетинг спецификацию не предоставил, мы же не можем без нее делать!
- –аньше-то делали!
- » как потом выходило? Ќас же во всех просчетах и обвин€ли. Ќе уж, если маркетологи хот€т чтобы мы что-то сделали, - решительно за€вил ÷арев, - ѕусть напишут, что именно.
- я поговорю с маркетингом, - согласилс€ техдиректор, - Ќо они же, засранцы, нас не слушают!
- Ќу и их трудности. ѕока мы их прикрываем, - веско сказал ÷арев, - они так и не научатс€ работать.
- ’орошо, € доложусь генеральному. Ќо вы все-таки проверьте, как все работает!
“ак началась...
»тераци€ треть€: отладка.

ƒень 15-й. ѕерва€ проверка.

- — чего начнем - с поцелуем или с массажа? - спросил “има.
- Ќу их, эти поцелуи: там микродвижени€, чувства - затрахаемс€ отлаживать, - сказал ƒимыч.
- ѕочему затрахаемс€ - пока просто зацелуемс€, - встр€л ¬овка.
- ƒа не шути, с массажа надо начинать, - настаивал глав-рюх. - ќн и полегче, и протестируетс€ проще.
— него и начали. ќбступив куклу, разработчики напр€женно перегл€дывались.
- Ќу что, начинаем?! - произнес нетерпеливый разработчик интерфейса.
- ќбождите! - прервал его ¬асилий - ƒавайте ей сперва хот€ бы мишку какого-нибудь подложим.
— предложением согласились; тр€пичного медвед€ быстро разыскали в бухгалтерии. Ќа удивление, первый тест прошел вполне успешно: банальный массаж рельсы-рельсы, шпалы-шпалы, про который документатор читал в какой-то книжке, внешне прошел на ура; руки модели двигались ритмично и без сбоев. ћишка тоже осталс€ цел, что внушало некоторые надежды.
- Ћадно, € л€гу! -  ак руководитель проектной группы, ¬аська выступил вперед.
- Ќе, не - € буду первым! - спохватилс€ тестировщик, - Ёто мо€ прерогатива: ¬ась, разреши!
- ƒавай! - ¬асилий бросил руку в сторону "массажистки".
“има сн€л рубашку, весело улегс€ на кровать, повернул голову в сторону модели и, вн€тно и четко, чтобы сработала система распознавани€ голоса, произнес "массаж!" Ќово€вленна€ "массажистка" уверенно прин€ла команду, на полсекунды задумалась, затем осторожно подошла к клиенту, еще за секунду выровн€ла положение конечностей и затем аккуратным движением положила руки на спину “имы.
- јаа!! - “имка вскочил, нет, взвилс€ с кровати и плюхнулс€ р€дом, умудрившись при этом до крови разбить лодыжку.
- „то случилось-то? - вопросил обеспокоенный ÷арев.
- ќна - холодна€! —ами потрогайте!
¬ас€ автоматически дотронулс€ до руки массажистки:
- ”х Є, холодные: комнатна€ температура, не теплее. ¬от блин засада, об этом-то мы не подумали... Ћадно, придумаем что-нибудь. “ест продолжаем?
- ƒавайте, только € рубашку надену, - “име хотелось реабилитироватьс€.
- «алазь - только и сказал ¬асилий.
¬ таком варианте тест прошел гораздо комфортнее, и “имофей даже получил некоторое удовольствие.   счастью, это не помешало поделитьс€ ему обратной св€зью:
- «дорово конечно; но до человека далеко. ¬се действи€ пальцами механические и абсолютно однообразные, даже если кожа под рукой все врем€ разна€, поэтому иногда больно. –ельсы и шпалы в пор€дке, но как будто на тебе решетку рейсфедером черт€т. ’оть бы раз дура ошиблась, блин!
- ясно, - сказал ¬асилий. ¬лепим случайных чисел, введем "девиацию параметра" - ну, "плавание" переменной. ¬от с кожей сложнее, надо или карту зон делать, или обратную св€зь от пальцев к алгоритму.
- Ћучше св€зь, - сразу заметил ведущий разработчик, - карту зон мы замудохаемс€ вводить, и потом мен€й под каждого клиента; ну ее нафиг!
- Good. „ерез два дн€ - жду новой версии. ј пока пойду доложусь √еннадьичу.
ƒоложитьс€ ¬асилий не успел - технический директор сам пожаловал к программистам.
- „то у вас случилось? - техдиректор покосилс€ на тимкину лодыжку, котора€ была обмотана подозрительно красной тр€пкой.
- ƒа нет, все в пор€дке, не волнуйтесь - за всех ответил ¬аська. - Ёто не с тестированием св€зано. ѕо-крайней мере, напр€мую - подумал он уже про себ€.

ƒень 17-й. ѕросто день.

ѕо уверению глав-рюха, модуль "классика" был отлажен.
- Ќу, кто возьметс€ тестировать? - спросил ÷арев.
ќтветом ему служила примечательна€ картина: семеро мужчин сто€ли слегка согнувшись, свед€ колени и чуть не прикрыва€ руками пах - почти так же, как футбольна€ стенка при пробитии штрафного.
- ћда. ≈сть другие предложени€?
- ј бывают ли резиновые мужчины? - спросил ѕетька.
- ƒавайте купим фаллос, - предложил “има-тестировщик.
- ќ! ‘аллос! - вздох облегчени€ пробежал по р€дам.
Ќа том и порешили. Ѕлижайший секс-шоп - тут им повезло - находилс€ буквально через пару перекрестков. ќтобедав и по пути совершив одну небольшую операцию, программисты были готовы к испытани€м. “имофей торжественно вручил ¬асилию чек и призывно потр€с покупкой.
- » как интересно € его проведу через бухгалтерию? - удивленно спросил ÷арев.
- ј ты пообещай им подарить его после сдачи проекта! - рюхнул глав-рюх.
- “очно! - согласилс€ ¬асилий. - ј пока... Ќу, нехай будет "testing tool"!
“естирование и развертывание.

ƒень 19-й. Ѕета-верси€.

¬ этот день техдиректор принимал у программистов работу, но, традиционно, решил переложить эту задачу на них же самих:
-  огда система будет считатьс€ готовой?
- »звестно когда - когда маркетинг решит, - с ехидцей ответил ¬асилий.
- я имею в виду техническую готовность, нечто вроде приемочного теста. ¬ы сможете его провести?
- ј, эт-то легко. Ќадо будет ее подсунуть какому-нибудь чайнику - побыть "сутенером" - и если он ее не раскусит, - считай, система удалась!
- я санкционирую.
- ƒа это пон€тно, вопрос - кто из наших возьметс€?
- ј ты сможешь? ¬ эти выходные, оформим как сверхурочные. ¬ыручай, кроме теб€ никто не рискнет!
- Ќу давайте, и “иму в подручные!..

ƒень 20-й. ѕолевые испытани€.

- —екс за недорого, только классика - не хотите ли? - на двадцатом разе ÷арев уже даже перестал смущатьс€. - ¬он, девушка в машине.
 лиенты, наоборот, лезть в старенькую вазовскую "двадцатку" не хотели. "Ёх, жаль ротовой девайс не инсталлировали", подумал ¬асилий, "а то бы проще искать покупателей было".
Ќаконец, один из клиентов согласилс€. ¬ас€ услужливо приоткрыл дверцу и громко сказал "классика".  лиент влез в двадцатку, модель начала укладыватьс€ на сиденье... укладыватьс€ на сиденье... на сиденье... –обота заклинило: места в маленькой двадцатке не хватало, и модель тупо повтор€ла попытки улечьс€.  лиент как ошаренный выскочил из салона - "вы что, охренели?!". Ѕез объ€снений, программисты ломанулись в машину и газанули с места.

ќстаток дн€ провели, пыта€сь научить модель выходить из нештатных ситуаций. Ќо в конце концов, плюнув на это дело, просто "в лоб" научили экс-танцовщицу укладыватьс€ на заднем сиденье автомобил€.
Ќа следующий день, модель снова повезли на тестирование. ¬ этот раз реб€там даже удалось срубить немного бабок, хот€ больша€ часть клиентов посчитали "бабу" как минимум "вусмерть укуренной".


ƒень 22-й. ѕрезентаци€ дл€ √енерального.

¬ понедельник модель была представлена генеральному директору.
- ѕока еще пахнет, но уже мажетс€! - будучи большим любителем бородатых анекдотов, отрапортовалс€ техдиректор.
»спытывать "классику" при подчиненных √агарин не решилс€, но пару курсов "массажа" прошел. ѕо такому же "курсу" прошли и маркетологи. ј иллюстрированное руководство пользовател€, снабженное грифом "до 18-ти", вообще вызвало фурор.
- ћолодцы! - не поскупилс€ на похвалу √енеральный. - ¬ конце года мы ваши заслуги об€зательно учтем!
- ќтлично реб€та поработали, - добавил техдиректор.
- ћы уже заказали 20 моделей, - коммерческий директор тоже был доволен и подн€л бокал с традиционным шампанским. - «а новые высоты в бизнесе!

ƒень 44-й, последний. ќтчет начальника службы эксплуатации.

√енеральному директору
ќќќ "¬одосеть"
√агарину ё.ј.

—лужебна€ записка.

Ќасто€щим вынужден сообщить вам, что вверенное мне подразделение не может справитьс€ с обслуживанием модели –ƒ-1 ("“утти"), по следующим причинам:
- ћодель не может самосто€тельно добиратьс€ до  лиентов. ѕриходитьс€ ее развозить.
- Ѕлок Wet Cat требует ежедневной очистки.  валификации техников не хватает дл€ данной операции.
- ћодель посто€нно зависает в случае заказа нестандартных способов совокуплени€. ѕрограммисты игнорируют данный факт, мотивиру€ его тем, что такого не было в “«. “ем не менее, € считаю, что зависать в таких случа€х модель не должна.
-  лиенты жалуютс€ на температуру модели. Ќастройки температуры в конфигурационном файле до сих пор не реализована.
- ѕоломки в блоке Wet Cat привод€т  лиентов в крайнее раздражение. ѕриходитс€ круглосуточно держать техников, чтобы обеспечить своевременный выезд к  лиенту в случае застревани€ его частей тела в данном блоке.
¬ св€зи с этим, прошу удвоить штат службы эксплуатации, или сн€ть модель –ƒ-1 с производства.

».о. начальника службы эксплуатации ‘ердыщенко ≈. ј.
14 окт€бр€ 2025 года.


 ќЌ≈÷

 лючевые слова:
÷арев
ƒень
модель
модели
программистов
интерфейс
разработчик
программисты
работу
массаж
–обот дл€ 'досуга'
 ниги о роботах
робот
робототехника


¬ернутьс€ в рубрику:

 ниги и рассказы про роботов
Ћюди и роботы
  • ...


  • ≈сли вы хотите видеть на нашем сайте больше статей то кликните ѕоделитьс€ в социальных сет€х! —пасибо!
    —мотрите также:

    ќбратите внимание полезна€ информаци€.