Навигация

Итоги года

Другие ссылки


Реклама

Счётчики


<- Предыдущие записи Следующие записи ->

Ниагара

16.07.2013 Вторник 14:49



Ниагарский водопад


Продолжаю постить фотоотчёт про путешествие по Америке в 2012-ом году.

Вернувшись из Нью-Йорка, мы ещё некоторое время потусовались с друзьями в Бостоне, а затем продолжили наше мега-путешествие. Следующим пунктом маршрута был Ниагарский водопад, Niagara Falls. Решено было для ускорения слетать туда самолётом. Ниагарский водопад расположен на границе между США и Канадой. Город Niagara Falls разделён водопадом на две части — американскую и канадскую, соединённые Радужным мостом (как в скандинавском эпосе). Прогуливаясь в этих местах легко можно наткнуться на табличку типа "Канада — туда" со стрелочкой, указывающей направление. Тут совершенно нормальным является сходить пешком в Канаду, посмотреть на водопад оттуда, а затем вернуться обратно.

Дальше...

Комментариев: 2

Тарелковый маньяк

14.07.2013 Воскресенье 00:55


Кто-то реально любит смотреть телевизор. Похоже, человеку мало более ста каналов с одной тарелки, и поэтому он поставил себе три.

Доктор, меня все игнорируют (нет комментариев)

Ценники

14.07.2013 Воскресенье 00:46


Продажа сигарет в универсаме "Перекрёсток". Гениальное решение! Чтобы не было видно отпугивающих покупателя надписей о том, что "КУРЕНИЕ УБИВАЕТ", надо просто... закрыть их ценниками.

Вот как это должно выглядеть по-хорошему:



(Фотка отсюда)

Комментариев: 2

"Наблюдение" об одной компании: SoluDyne

13.07.2013 Суббота 01:58

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

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

- Начнём с того, что программистский бизнес компании заключается в разработке одного-единственного продукта. Это нечто монстроидальное, объединяющее в себе функции CRM, ERP, bug tracking system, e-mail и, возможно, чего-то ещё, до чего я не успел докопать. В том, что продукт только один (его название, кстати, совпадает с названием компании), разумеется, нет ничего предосудительного — многие фирмы разрабатывают только один продукт и довольно успешны на этом поприще. Но тут ситуация несколько иная. А именно — разработка этого продукта ведётся уже лет пятнадцать, и сказать, что продукт морально устарел значит не сказать ничего. Где-то глубоко внутри в принципе неплохая архитектура за пятнадцать лет обросла такой массой плохо спроектированного хакообразного кода, написанного на всём чём можно — от C++ до VB и .NET, что сделать какое-то изменение, не задев ненароком чего-то ещё, практически нереально (либо потребуется очень большое количество времени на то, чтобы рассмотреть все возможные побочные эффекты). В итоге девяносто процентов времени шесть программистов и технический директор занимаются бесконечным исправлением багов. Бесконечным потому, что исправление одного бага порождает пару новых в совершенно непредсказуемых местах системы. Новые баги могут обнаружиться сразу, а могут — через полгода. Так и идёт работа своим чередом, подпитывая саму себя.

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

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

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

- Следующий пункт является логическим развитием предыдущего. Эта компания настолько позитивна, что тут запрещены слова "проблема" (problem, issue), "ошибка" (error) и "баг" (bug). Вместо них разрешено использовать только эвфемизмы: "наблюдение" (observation) и "находка" (finding). Это может казаться полным бредом, но это тоже абсолютно серьёзное правило, обязательное к соблюдению всеми, в том числе начальством.

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

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

- Электронная почта в компании практически не используется, хотя каждому работнику и заводится корпоративный почтовый ящик. На первое же моё письмо по рабочему вопросу, направленное по e-mail'у, мне было сказано, что вся деловая переписка должна вестись в разрабатываемом продукте. Что, учитывая его тормознутость и недружественность к пользователю, делает эту самую переписку крайне трудоёмким и небыстрым занятием.

- "Простым программистам" запрещено говорить такую вещь как "выполнение задачи приостановлено" (the task is put on hold). Приостановить выполнение задачи — привелегия норвежского начальства и не иначе. Это правило я тоже выявил эмперически.

- Известно, что среди программистов нередко практикуется работа из дома. Это совершенно нормальная, широко распространённая практика. Например, в Microsoft совершенно нормальным является разослать всем коллегам письмо типа "Я сегодня неважно себя чувствую и буду работать из дома". Никто слова не скажет. Вот и в компании, о которой идёт речь, тоже позволяется иногда работать из дома. Но есть одно "но". Запрещено использовать корпоративный VPN на домашнем компьютере... Э-э... Когда я об этом узнал, у меня возник небольшой когнитивный диссонанс. А как же тогда работать из дома? Оказывается, из дома надо работать на рабочем компе, который надо носить с собой из офиса. Не, ну тоже вариант, конечно, но зачем таскать домой комп если дома уже есть один? Кроме того, корпоративные ноутбуки были, мягко говоря, тормозные и не поддерживали подключение внешнего монитора. Знаете, пялиться в маленький 14-тидюймовый экранчик тормозного компа когда рядом стоит нормальная, в два раза более быстрая машина с большим экраном — это по меньшей мере противоестественно.

- Все средства разработки (Visual Studio, SQL Server tools и т.д.) установлены на виртуалках, находящихся в сети, полностью отрезанной от интернета. На корпоративных компах не установлено ничего кроме VPN-клиента к этой сети. Более того, между виртуалками в этой сети и корпоративным ноутбуком запрещён (техническим способом) любой copy-paste. Что всё это значит? А это значит, что если, например, вы, пытаясь решить какую-то проблему, нашли в интернете интересующий вас фрагмент кода, вы просто физически не можете скопировать его в код программы, которую пишете. НИКАК! Ибо единственная связь между виртуалкой, на которой вы пишете код, и вашим локальным компьютером — это экран remote desktop'а! Ни e-mail'а, ни FTP, ни HTTP, ни copy-paste, ни расшаривание локальных дисков — ничего это не работает. Поэтому фрагмент кода из интернета придётся набирать руками. Это приводило к том, что программисты, пытаясь обойти запрет, юзали распознавалки текста (!), чтобы скопировать текст хотя бы в направлении из виртуалки в локальный комп. В обратном направлении задача не решалась, судя по всему, вообще никак. Если действительно возникала необходимость положить что-нибудь на виртуалку — например надо было поставить какую-нибудь тулзу для дебагинга — надо было согласовывать этот вопрос сначала с главным архитектором, сидящим в Норвегии, затем с админом, сидящим там же. Затем они сами, если решали, что необходимость действительно есть, клали нужную толзу на виртуалку, и только тогда тулзу можно было начинать использовать.

Для чего существует это ограничение? Я смог придумать только одно объяснение — в тебе видят человека, который потенциально хочет навредить компании, например похитив интеллектуальную собственность — программный код, к которому тебе дали доступ.

- Небольшой штрих к портрету компании. Наше с ними общение началось с того, что они попросили меня прислать им по электронной почте скан диплома. Это было ещё до интервью, то есть это было первое, что они попросили меня сделать, после того, как посмотрели резюме. Это единственный случай в моей обширной практике. Все остальные компании и до, и после этой всегда удовлетворялись строчкой в резюме, в которой указанан ВУЗ, который я закончил. Люди в этой компании мне не доверяли что-ли?

- Когда я пришёл, мне выделили часть работы, слабо связанную с работой, выполняемой другими программистами. Довольно удачно, подумал я, значит будет больше свободы. Но я ошибся. Свою работу я начал выполнять, используя Visual Studio 2010 (хотя на дворе был 2012-ый год и Visual Studio 2012 вовсю использовалась). Но через некоторое время меня настойчиво попросили задаунгрейдить проект до предыдущей версии Visual Studio — 2008. Причины для меня до сих остаются загадкой.

- Я уже упоминал корпоративный чат, он же "Operation office". Это такое окошко, в котором каждый может написать некий текст, и этот текст появится в аналогичном окошке у каждого, кто подключен к этому чату. Участие в чате обязательно для всех программистов. Кроме того, в нём присутствует норвежское начальство (архитектор, админ, другие начальники). В Operation office принято писать вопросы начальству, отчитываться о проделанной работе и т.п. Кстати, несмотря на как бы навороченность разрабатываемого продукта, и наличие некой подсистемы управления задачами, в которой в каждый момент времени задача назначена на одного конкретного человека, при переводе задачи с себя на другого человека (например, когда программист переводит завершённую задачу на тестера), этот человек не получает совершенно никаких уведомлений о том, что на него назначена новая задача. Поэтому о таких событиях, когда задача меняет "хозяина", нужно было сообщать всем в Operation office. Что мы имеем в итоге? В итоге мы имеем превосходный источник назойливого спама, ибо 97 процентов сообщений в этом чате предназначено другим людям, но читать эти сообщения приходится, иначе есть риск пропустить "своё" сообщение. Кроме того, если не открывать окошко чата когда туда пришло сообщение, то окошко будет назойливо мигать до тех пор пока ты не сдашься и не посмотришь, кто и что там написал. Думаю, излишне объяснять, как именно это сказывалось на производительности труда.

- Юмор абсолютно исключён! Это я тоже выяснил эмпирическим путём, написав как-то в тестовых данных что-то про Путина, который прилетел в голубом вертолёте. Шутку попросили убрать. Повторяю, это были ТЕСТОВЫЕ данные.

- Выше я уже писал про виртуальные машины. На самом деле, более полно схема выглядела так: физическая машина -> локальная VM -> удалённая VM (доступ по RDP). То есть обязательным требованием было наличие локальной виртуалки, с которой уже осуществлялся доступ к удалённой виртуалке, на которой собственно стояла студия и другой софт и где велась разработка. Суть этой схемы осталась для меня загадкой. А вот недетское торможение из-за использования виртуалки на слабом ноуте я помню по сей день.

- Доступ в VPN осуществлялся с использованием токена — электронного ключа, отображающего меняющийся раз в минуту код. Это стандартная практика, и тут всё нормально. Однако когда у меня оный токен однажды сломался, выявилось сразу два неприятных момента. Во-первых, меня пожурили за то, что я, мол, неаккуратно обращался с токеном, вследствие чего он, якобы, и сломался. То, что это первый сломавшийся токен в моей жизни из нескольких штук, которые я использовал на протяжении нескольких лет в разных конторах, никого не смутило. Во-вторых, новый токен мне не могли выдать целую неделю. Всё это время я пользовался кодами, высылаемыми мне в чате начальством из Норвегии, которое брало эти коды со своих токенов. Не, я против этого ничего не имел, но как же безопасность? Как же все эти параноидальные правила, описанные выше? Какой в них смысл если можно вот так запросто воспользоваться кодом начальника и делать от его имени что угодно?

- Технический директор питерского филиала, судя по всему, следил за тем, кто и когда приходит на работу и уходит с неё, анализируя лог местного раутера. Об этом удалось догадаться по косвенным признакам. Например, однажды придя на работу он вдруг начал возмущаться, что кто-то прописал себе static IP. Как об этом можно узнать, не анализируя лог раутера? В другой раз, он, придя на работу ПОЗЖЕ меня, спросил, почему я опоздал на работу на пятнадцать минут. Когда я его спросил, как он об этом узнал, техдир ответил: "Есть способы". В общем, большой брат не дремлет.

- Софт на локальных виртуалках устанавливается с VHD (image диска) с предустановленным ПО, и устанавливать что-то дополнительное самовольно — запрещено.

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

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

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

Я ни секунды не жалею, что ушёл из той конторы.

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

UPDATE 2. Ещё одну интересную особенность забыл упомянуть. Каждый сотрудник компании получал специальный никнейм, который использовался для идентификации сотрудника в деловой переписке, присутствовал как часть адреса его электронной почты и т.д. Это, разумеется, нормально. Очередная странность заключается в том, что этот никнейм было принято использовать для обозначения данного сотрудника вообще всегда — даже в устном общении. У меня, например, был ник VBS. Так что обычным делом было услышать в офисе что-нить типа "этот файндинг исправлял VBS".

UPDATE 3. Ещё вспомнил "странность". По результатам исправления каждого бага надо было заполнять специальную форму в продукте компании. В эту форму помимо прочего обязательно заносился полный список изменённых файлов. Причём для каждого файла помимо имени указывался путь во внутренней иерархии классов системы. Этот путь мог быть весьма длинным. Проблема была в том, что форма эта заполнялась на локальной виртуалке, в то время как изменённые файлы находились на удалённой. Между ними, как вы помните, связи помимо RDP-десктопа нет. Поэтому и пути, и имена файлов приходилось набирать вручную. Понятно, что при этом легко ошибиться. Кроме того, хотя это и не было нигде прописано в виде правила, в эту форму для каждого изменённого файла было также принято заносить фрагмент исходного текста с выделенными цветом изменениями. Короче говоря, что такое source control, людям, придумавшим всё это, было, судя по всему, неведомо. Хотя с другой стороны весь исходный код хранился в TFS...

Вот такая дребедень...

Комментариев: 71

Как?!

12.07.2013 Пятница 00:50



http://ru.wikipedia.org/wiki/Сизый голубь

Крушение вековых идеалов какое-то просто.

Комментариев: 4

Кому состариться?

12.07.2013 Пятница 00:29

Если вдруг кто-то считает, что он слишком молодо выглядит, то вот есть средство:

Доктор, меня все игнорируют (нет комментариев)

Гонконг: содержание предыдущих серий

11.07.2013 Четверг 23:35

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

Вот для удобства ссылки на все посты о Гонконге в хронологическом порядке:

Пост 1: I am an alien, I am legal alien...
Пост 2: Гонконг - день второй
Пост 3: Большой Будда
Пост 4: Гонконг: парки, острова, лазерное шоу и побрюзжать
Пост 5: Гонконг: храмы и монастыри
Пост 6: Гонконг: Брюс Ли, парк, рынок
Пост 7: Красота!
Пост 8: Гонконг: с высоты птичьего полёта
Пост 9: Макао
Пост 10: Гонконг: монастыри
Пост 11: Гонконг: остальные фотки
Пост 12: Знаки и таблички в Гонконге

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

Комментариев: 1

Знаки и таблички в Гонконге

11.07.2013 Четверг 23:21

Ну и чтобы окончательно закрыть тему Гонконга размещу несколько фоток с забавными надписями из этого города.


Начну с фотки страницы цитатника Мао Цзэдуна. Этот сборник был замечен в сувенирных лавках Гонконга. Показательная цитата на странице 139 гласит: "Командиры и бойцы Китайской Армии Освобождения ни на секунду не должны ослаблять своё желание сражаться. Любой помысел, побуждающий ослабить волю к борьбе, — порочен". Интересно, как этот призыв согласуется с принципами буддизма, исповедуемого значительной частью китайцев.

Смотреть дальше...

Комментариев: 2

Гонконг: остальные фотки

11.07.2013 Четверг 22:57

В этом посте размещаю фотки из путешествия в Гонконг, не вошедшие в другие посты. Кое-где сопровождаю краткими комментариями.


Грандиозный двухэтажный Apple Store в самом центре Гонконга — у подножия башни 2 ifc.

Смотреть дальше...

Доктор, меня все игнорируют (нет комментариев)

Горшков, храбрый как Солнце

11.07.2013 Четверг 13:52

Ходил на днях на выставку, посвящённую российским достижениям в области военно-морской техники и оружия (IMDS 2013 — International Maritime Defence Show) в Гавани (Питер). Довольно интересно. В частности, запомнилась крылатая ракета Brahmos, совместного индо-российского производства. А также крутые вертолётные, самолётные и прочие эмуляторы фирмы "Транзас". У их стенда вообще был ажиотаж. Впрочем, это понятно — их продукция больше всего остального на этой выставке была похожа на компьютерные игры.

А ещё меня заинтересовала вот эта модель авианосца:



Авианосец "Викрамадитья"


Напись под ним гласила "Авианосец пр.11430 Викрамадитья". Что этот авианосец с явно нерусским названием делает на выставке российских достижений? Погуглив, я выяснил, что эта Викрамадитья (что на санскрите означает "Храбрый как Солнце", विक्रमादित्य) — на самом деле бывший российский авианесущий крейсер "Адмирал Горшков", который в 1996-ом году списали из состава флота РФ из-за дороговизны содержания, а в 2004-ом продали Индии. Потом его долго модернизировали, и в этом, 2013-ом, году "Викрамадитья" должен стать частью индийского флота.

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

Комментариев: 2

Нанодуш: миссия выполнима

10.07.2013 Среда 00:35

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

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

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

И вот что из этого вышло.

Смотреть процесс изготовления нанодуша

Комментариев: 1
<- Предыдущие записи Следующие записи ->