Тема сайта
Авторизация
Спецпроекты
Популярное
Тоже интересное
Кое-что важное

Жизнь простого программиста (84 фото)

Автор: Привет! Меня зовут Юля, я живу в Большом Чикаго - это такое красивое название, которым с особым рвением пользуются жители прилегающих к Чикаго деревень.
Обычно дни программистов трудно показывать, так как для непосвященного глаза они проходят достаточно статично - сидит себе человек в бороде и свитере за компьютером, нажимает кнопочки, при этом выражая лицом весь спектр эмоций. А в объяснение брызжет слюной и несет какую-то несусветицу. Человек искусства, что с него возьмешь? Однако сейчас я занимаюсь интересной задачей, в решении которой задействованы картинки, и поэтому есть что показать и о чем рассказать на человечеcком наречии.
Для съемки я выбрала вторник - день, когда муж забирает и развозит детей, а я могу неспеша задержаться на работе подольше. К сожалению, 31 января, неожиданно оказался заполненным параллельными сюжетами, так что скучать вы - обещаю! - не будете.

1. В 8:00 я проснулась, ужаснулась, схватилась за телефон и позвонила в дилерскую. Дело в том, что накануне вечером я пробила покрышку и погнула диск колеса. Быстро уговорила их принять меня без записи, покомпостировала мозги мужу, отправила их с младшей дочерью в сад (детский сад, не подумайте ничего плохого), и прыгнула в душ. И только выскочив из душа вспомнила, что собиралась снимать свой день. Вот оно, время:

Жизнь простого программиста (84 фото)

2. И вот она я, в полотенце и в ужасе от того, что показывают часы:

Жизнь простого программиста (84 фото)


3. Раз уж вы все-таки зашли под кат, то расскажу вам еще немного о себе. Мне 38 лет, из которых 19 я живу в США. Моя семья - это муж и две дочери: Elizabeth (Лиза) двеннадцати лет, и Rachel (Буся) двадцати одного месяца. Работаю я на большую компанию, которая специализируется в розничной торговле.
К началу моего дня Лиза уже уехала в школу на автобусе. Ее разбудил и выпроводил папа пока мы с Бусей досыпали. У нас (позор-позор!) ребенок все еще ест по ночам, и потому я уже почти два года хожу невыспавшаяся. Но достаточно лирических отступлений, пора за дела. Я обещала не позднее девяти приехать в дилерскую.
Выбегаю из ванной и начинаю лихорадочно собираться. Философский вопрос "что надеть?" каждый день решается в пользу чистой пары джинсов. Моя лучшая подруга, однажды заглянув в мой шкаф, с удивлением заметила: "ой, у тебя оказывается есть нормальные вещи!" Подтверждаю - есть. Полный шкаф, а надеть все равно нечего.

Жизнь простого программиста (84 фото)


4. Медитирую на подаренные другой подругой на НГ бусики. Бусиков у меня тоже полно, но надеть, конечно же - нечего. Понимаю, что сходу не придумаю с чем их совместить, вздыхаю, и оставляю их там, где нашла. Все как обычно.

Жизнь простого программиста (84 фото)


5. На комоде поднос с пустыми чашками. Чашечки лет шесть назад разрисовала и преподнесла нам в подарок Лиза, у моей тогда тоже было блюдце. С тех пор мы пользуемся ими каждое утро, что по ним, к сожалению, уже заметно. Жаль, что заготовки такой формы перестали выпускать. Видимо, нам придется пить из них, пока не рассыплются. Обычно утренний кофе готовит муж, мы его пьем на кухне, не знаю даже, почему ему сегодня пришла в голову идея принести в спальню. Кстати, он в моем дне будет присутствовать лишь виртуально, почему - расскажу по ходу.

Жизнь простого программиста (84 фото)


6. Раскладываю волосы в положение, в котором им предстоит высохнуть.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


8. Беру книгу, которую надеюсь почитать в ожидании машины (сразу скажу - не удалось).

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


10. Выбегаю в гараж. Вот она, моя раненная лапочка.

Жизнь простого программиста (84 фото)


11. Сразу оговорюсь, что машина у меня для перевозки вон тех, висящих под потолком великов летом, и вот этих, висящих на стене лыжиков зимой. Кроме того, в нашей деревне сто километров - не крюк, так что без личного транспорта - никуда. Запасаюсь водой на день. Я каждый день таскаю из этого ящика по 3 бутылки.

Жизнь простого программиста (84 фото)


12. Телефон подключен к машине через BlueTooth, у нас в некоторых районах ввели закон о телефонных переговорах за рулем, и могут запросто оштрафовать, если увидят кого-то с трубкой у уха. Набираю чувака, которому обещала перезвонить по дороге на работу. Разговариваю. Время:

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


15. Еще пара снимков по дороге, не представляющих особой художественной ценности. Одноэтажная Америка, несмотря на то, что многие дома двух и трех этажные.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


17. Приехали. Мне сюда.

Жизнь простого программиста (84 фото)


18. Вот она, моя ляля, сейчас ее будут осматривать. А у меня тем временем снова звонит телефон. Пока я беседую в комнате ожидания, мне успевают насчитать починок на 690$. Набираю мужа и передаю телефон механику. Потом быстро сматываю удочки, ссылаясь на супруга и повелителя. Ребята из сервиса недовольны, но менять все четыре колеса я морально не готова. Придется еще немного поездить на запаске.

Жизнь простого программиста (84 фото)


19. Уезжаю. Время уже вот сколько. Самое левое значение - это забортная температура в градусах Фаренгейта. Хлипкая у нас зима, что тут скажешь, лыжи в основном скучают в гараже.

Жизнь простого программиста (84 фото)


20. Поворот на шоссе.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


22. Медленно качусь в правой крайней линии для тихоходов. Скучно. Вот наконец вывеска уведомляющая о расстоянии до моего выхода, обычно она появляется тогда, когда он уже через один.

Жизнь простого программиста (84 фото)


23. Концертный зал Сирс-центр. Кто там только не выступал!

Жизнь простого программиста (84 фото)


24. И наконец мой выход. Он - платный.

Жизнь простого программиста (84 фото)


25. Плачу такой фиговиной, которая называется IPass. На ee счет я периодически перевожу денежку. Справа проезд для таких как я, а слева - для тех, кто платит монетками. Проезд за монетки стоит почти в два раза дороже.

Жизнь простого программиста (84 фото)


26. Списываю спеки с колес. Время - 10:35. Ужас-ужас, я снова не попадаю в спортзал. Обычно я хожу туда три раза в неделю в обеденный перерыв, хоть по мне и не особо видно. Фотка времени есть, но по-моему их пока хватит.

Жизнь простого программиста (84 фото)


27. Сегодня решила зайти через главный вход.

Жизнь простого программиста (84 фото)


28. Вот на этом мосту я вчера пробила покрышку. За рулем я далеко не новичок, мне просто не повезло.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


30. Иду.

Жизнь простого программиста (84 фото)


31. Наконец на рабочем месте. Мой кубик. Цветы мне подарила подружка около года назад. Я не особо одарена по цветочной части, растениями у нас дома заведует муж, но за этими я ухаживаю с особым старанием.

Жизнь простого программиста (84 фото)


31. Задача, которой я сейчас занимаюсь, состоит в том, чтобы настроить одну старенькую программку под ожидаемую загрузку (load). Она написана довольно криво, в ней куча проблем начиная с утечки памяти, и до нескольких тысяч ненужных запросов к базе данных. Такие задачи решаются с помошью симуляции нагрузки и профилирования. В качестве симулятора нагрузки выступает написанная мною программка, которая делает вид, что 100 пользователей одновременно кинулись атаковать сервер. Обе программы написаны на JAVA, и поэтому расскажу немного о том, что происходит с памятью. Ребята, я честно пыталась найти соответствующие русские термины, но - увы! Их, похоже, нет. Так что не бейте меня, пожалуйста!
В JAVA управлением памятью занимается виртуальная машина JVM. Она ответственна за выделение, инициализацию, а также освобождение ячеек памяти. Последнее происходит при помощи операции, которая называется "сборка мусора" (garbage collection).
Когда программа стартует в JVM, для нее сразу отводится определенное количество ячеек памяти. Эти ячейки, грубо говоря, делятся на статические регистры (perm space), которые программа читает, но не пишет, и на активную память (heap space).
Heap, в свою очередь делится на три отдела - old, eden1 and eden2. Абсолютное большинство создаваемых объектов - короткоживущие, их программа пишет в один из eden, второй в этот момент не задействован. Eden периодически пересматривается сборщиком мусора (minor garbage collection), и все актуальные объекты переписываются в во второй eden, который по окончании сборки мусора становится актуальным. Представьте, например, переменную внутри функции. Для нее отводится сколько-то ячеек памяти, которые микросекунды спустя уже не нужны, потому что функиция закончила работу. Сборщик мусора их освобождает и возвращает в пользование программы. Если часть невостребованной памяти не возвращается, то minor garbage collections будут происходить все чаще и чаще, освобождая все меньше и меньше памяти, и в конце концов программе станет некуда писать, и она упадет с печальным звоном Out of Memory Error. Графически это будет выглядеть примерно так (это график теста который мы делали в выходные, еще до того, как я починила утечку).

Жизнь простого программиста (84 фото)

На графике видно, что с каждой уборкой мусора, количество высвобождающейся активной памяти уменьшается (ось ординат отмечает память в мегабайтах, а ось абсцисс - время). На данном этапе мы хотели повалить нашу программу, чтобы в момент падения сгенерить точное состояние регистров памяти (heap dump) и найти утечку.
Естесственно, валили мы не действующую программу в production, а специально сконфигурированную под тестирование нагрузки копию в stress. Все, с теорией покончено.

32. Теперь давайте посмотрим на график утилизации памяти после починки. Как видите, все стабильно, кривая наверх не лезет, значит утечки нет.

Жизнь простого программиста (84 фото)

Выше я показала вам графики, которые включил в свой утренний отчет наш архитектор. Этого отчета ждала целая орава начальников, и его ни в коем случае нельзя было задерживать. Там же написано, что я - супер тетка и устранила утечку памяти и что ура мне.
При чем здесь архитектор, спросите вы? Отвечаю - архитектор в нашей отрасли проэктирует не дома, а software. Он также решает какие технологии целесообразно использовать в том или ином случае, и намечает топографию конечного продукта. В нашей организации четыре архитектора, мне на этом проэкте достался самый говорливый. Технические задачи он решать не умеет, зато неплохо знает бизнесс-процесс и всегда может внятно подкорректировать тесты с точки зрения реального пользователя.

33. Муж принял мою колесоэпопею очень близко к сердцу, требует спеки. Очевидно я уже окончательно зарапортовалась и перепечатала неверно.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)

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

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

Жизнь простого программиста (84 фото)


36. Еще один магазинчик. Тут продаются образцы товара, которые маркетологи заказывают в процессе разработки коллекций сезона. Вот, например, постельное белье.

Жизнь простого программиста (84 фото)


37. А вот - игрушки.

Жизнь простого программиста (84 фото)


38. Цены бросовые, но и выбор не очень большой. Если ходить туда регулярно, то можно довольно выгодно отовариваться. Я здесь бываю крайне редко. Серьезный дядя делает мне замечание, что фотографирую. Я оправдываюсь тем, что все равно собираюсь это купить. Да, сегодня мне повезло. Лиза недавно попросила банные простыни, эти две лапочки мне обошлись в 10$.

Жизнь простого программиста (84 фото)


39. Раз спортзал все равно накрылся, решаю подняться по лестнице. Я работаю на третьем этаже.

Жизнь простого программиста (84 фото)


40. Время. До совещания есть 15 минут чтобы быстро слопать суп.

Жизнь простого программиста (84 фото)


41. Наша грозная Проджект Менежерша жаждет отчетности.

Жизнь простого программиста (84 фото)


42. Звоню на совещание, попутно поглядывая на графики. Там ничего нового. Мы готовы к новой ступени тестирования.

Жизнь простого программиста (84 фото)


43. Однако, Прожект Менежерша не шутит по поводу отчетности и жаждет ее не по-детски. Ей нужны задокументированные результаты вчерашних анализов. Завариваю себе ромашковый чай и приступаю.

Жизнь простого программиста (84 фото)


44. Последний memory dump сгенерился еще в выходные. Копирую с сервера к себе.

Жизнь простого программиста (84 фото)


45. А наши все ушли на Большое Слушанье Речей. Я решила опоздать, так как дел по горло, а ключевые моменты мне и так расскажут. Самострел в зеркале пустынной дамской комнаты.

Жизнь простого программиста (84 фото)


46. Между тем мне перезваниевают из автоцентра. Новости неутешительные, как видно из переписки с мужем.

Жизнь простого программиста (84 фото)


47. Меня колесоэпопея уже начала порядком нервировать. Решаю временно прекратить нервничать, плюнуть на речи, и перенести мамин визит к врачу с завтрашнего дня на через неделю. Потом звоню русским умельцам, договариваюсь с ними о встрече на предмет починки моего многострадального колеса, и начинаю анализировать память.

Жизнь простого программиста (84 фото)


48. Здесь показаны классы, которых в момент обвала обнаружилось больше всего и кто их не отпустил для чистки. Сборщим мусора собирает только бесхозные объекты. Если кто-то не отпустил указатель на объект - он считается небезхозным и чистке не подлежит.

Жизнь простого программиста (84 фото)


49. А тут - сколько конкретно места занимают различные объекты.

Жизнь простого программиста (84 фото)


50. Это уже четвертый и последний dump. И мой перекус на его фоне.

Жизнь простого программиста (84 фото)


51. А между тем выяснилось, что мне все еще придется пользоваться чужим доступом к Wily, т.к. для получение своего надо заполнить вот эту форму. О, я не рассказала вам о Wily? Это профилятор, который работает по принципу интроскопии - неинвазивного наблюдения. Он подключен к работающей программке и собирает о ней различные данные - heap space, утилизация процессора, обращения к базе данных, и много других важных и нужных подробностей. Графики которые вы видели выше (из емели архитектора) сгенерированы интроскопом.

Жизнь простого программиста (84 фото)


52. Заходит сотрудница. Просит погуглить одну интересную ошибку. Так как мне официально нечего делать, занимаюсь поисками чужих гениальных решений.

Жизнь простого программиста (84 фото)


53. Муж между тем сообщает что он окончательно простудился, что его папа нездоров, и что он не может оставить Бусю на одну бабушку. Потом звонит моя лучшая подруга и сообщает, что ее дочка тоже заболела, и на гимнастику не пойдет. Обычно по вторникам муж забирает Бусю из садика, оставляет ее у своих родителей, а потом отвозит Лизу и дочку моей лучшей подруги на гимнастику. Сам во время их тренировки идет в спортзал. А я после работы забираю Бусю от свекров. Сегодня все не как обычно. Черт. Мне нужно еще раз перекусить!

Жизнь простого программиста (84 фото)


54. Быстро спускаюсь в магазинчик. Улов.

Жизнь простого программиста (84 фото)


55. Время возвращения. Я продолжаю мониторить тестирование, параллельно просматривая JBOSS форумы и отвечая на вопросы сотрудников. Мой почтовый ящик сегодня переполнен.

Жизнь простого программиста (84 фото)


56. А вот и наш архитектор решил выполнить свое обещание и прислал мне запросы для дальнейшего тестирования. День перестает быть скучным.

Жизнь простого программиста (84 фото)


57. Добавляю их в программку, тестирую.

Жизнь простого программиста (84 фото)


58. Задаю уточняющие вопросы.

Жизнь простого программиста (84 фото)


59. Мне пора домой. Лиза решила не идти на гимнастику, а вместо тренировки помочь бабушке с Бусей. Обычно она тренируется пять раз в неделю. Несмотря на поздний приезд, мне надо сегодня уйти вовремя.

Жизнь простого программиста (84 фото)


60. Муж позвонил и несчастным голосом попросил йаду чего-нибудь противопростудного. На мои возражения, что дома все уже и так есть, потребовал того, не знаю чего. И молока для дочек. Забегаю в наш придворный магазин.

Жизнь простого программиста (84 фото)


61. Очень люблю цветочный отдел. Шарики напоминают о том, что скоро день всех влюбленных. Открытки на заднем плане тоже.

Жизнь простого программиста (84 фото)


62. Мне, однако, не туда, а вовсе даже сюда.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


64. Странная вывеска.

Жизнь простого программиста (84 фото)


65. Мой улов - Кларитин для Буси (так и стоит неоткрытый, но муж на нем очень настаивал, а я ж не изверг - нервировать простудившегося человека) и молоко. По дороге еще подхватываю не попавшую в кадр курицу.

Жизнь простого программиста (84 фото)


66. Пробегая к кассе самообслуживания щелкаю еще один кадр. Кассы самообслуживания - мое все.

Жизнь простого программиста (84 фото)


67. Время выезда с парковки.

Жизнь простого программиста (84 фото)


68. К моменту приезда к бабушке дети дежурят у окна одетые. На протяжении последнего часа Лиза мне звонила несколько раз. Фотоаппарат я к свекрам не брала, следующее фото отмечает время нашего приезда домой. Мы живем недалеко друг от друга.

Жизнь простого программиста (84 фото)


69. Папа уже спрятался от нас в кабинете. Буся просит воды, Лизка наливает.

Жизнь простого программиста (84 фото)


70. Сегодня дети категорически отказались ужинать у бабушки, несмотря на то, что она приготовила любимую Лизкину курицу. Приходится быстри разигревать ужин. Обычно мы едим все вместе. У Лизки на тарелке жаркое из кролика с макаронами-бантиками. Я ее попросила положить вилку, чтобы сделать этот кадр, голодный ребенок очень недоволен.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


72. Пока мы ужинаем, я рассказываю дочкам про то, что снимаю свой день. Лиза немедленно хватает фотик, и снимает меня. Потом мы беседуем о том, что интересует их. Я не провожу с детьми весь день, поэтому стараюсь компенсировать количество качеством. Все время, пока я с ними, я именно с ними.

Жизнь простого программиста (84 фото)


73. Лизочка после ужина убегает в душ, а Буся помогает мне разгрузить посудомойку.

Жизнь простого программиста (84 фото)


74. Моя помошница. Да, я мать-ехидна, даже не переодела ребенка, но учитывая время нашего прихода домой, хотелось их скорее накормить, поэтому я просто сняла с нее уличные штаны и свитер.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)


76. Время на плите. Размытое, но все же время.

Жизнь простого программиста (84 фото)


77. Налево пойдешь, к Лизке придешь.

Жизнь простого программиста (84 фото)


78. Прямо пойдешь - к Бусе попадешь. А наша (временно моя) спальня направо. Муж расположился в кабинете, к нему можно попасть только если пойдешь обратно. Я навещаю болящего, но из чистого гуманизма не фотографирую.

Жизнь простого программиста (84 фото)


79. Включаю Бусин ночник с Лизиным прошлогодним рисунком.

Жизнь простого программиста (84 фото)


80. Буся спит, а у Лизки есть еще 5 минут до отбоя.

Жизнь простого программиста (84 фото)


81. Я подключаюсь к работе.

Жизнь простого программиста (84 фото)


82. Лиза заходит сказать спокойной ночи и заодно фотографирует меня в пижаме.

Жизнь простого программиста (84 фото)


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

Жизнь простого программиста (84 фото)

И в этот момент просыпается Буся. Сил ее укачивать у меня нет, поэтому просто переношу ее в свою кровать и залезаю к ней под бочок. Сегодня у меня ранний отбой. Спокойной ночи!

Спасибо всем, кто провел со мной этот суматошный день. Пока писала пост, проект я успешно сдала, муж выздоровел, а колесо заменили русские умельцы.

Источник: odin-moy-den.livejournal.com
Fishki в Телеграм
Посты на ту же тему
59 комментариев
Лучший комментарий
dabazinga
40

12 лет назад
Согласен с подавляющим большинством оставивших отзывы - ТП, самая натуральная. Захотелось понтонуться - типа в америке живет? Да и хрен с того? Все равно из тех, кто в этой америке пытается выдавать себя за кого угодно, но только не русского - детей называем по-буржуйски как-нибудь, с мужем общаемся на английском (хотя как я посмотрю, знают его оба хреново). Фотографии - унылое г..но.



Девочка, твоя унылая жизнь и писанина про нее интересна только твоей маме - вот ей и отправляй.
 

Удалить комментарий?

Удалить Отмена
Показать 59 комментариев

На что жалуетесь?