gornal: (фото)
Выручка Mail.Ru Group почти ровно сто миллионов рублей в день. Одноклассники от неё примерно четверть (точные цифры можно в отчете посмотреть, порядок такой), тоесть двадцать пять миллионов рублей в день, почти точно миллион рублей в час. Час простоя одноклассников напрямую стоит миллион рублей. Умножаем на два, чтобы включить сюда имиджевые эффекты, получим два миллиона рублей в час.

Примерно половину своей выручки Mail.Ru Group тратит на сотрудников и их обеспечение (офис, фитнес, ДМС, печеньки и прочее, и прочее) - точные цифры опять неважны, опять в отчете есть. Предполагая, что это не глупость, и деятельность сотрудников окупается, то получается, что и приносят они не меньше половины выручки. То бишь пятьдесят миллионов рублей в день. Сотрудники работают не 24x7, а 8x5, но будем считать 10x5, чтобы учесть трудоголиков и дежурные службы, получим тогда 50*7/10/5 - семь миллионов в час.

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

PMBOK

Dec. 29th, 2014 11:45 pm
gornal: (mail)
https://ru.wikipedia.org/wiki/Project_Management_Body_of_Knowledge

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

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

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

Всем, кто по работе хоть как-то связан с проектным управлением, читать в любом случае стоит - и что-то новое найтись может, и терминологии стандартную хорошо знать, и вообще стыдно не читать.
gornal: (фото)
Любимое разработчиками слово "костыль" означает ровно необходимость применения оператора if. "Избавление от костылей" - если не упрощение функционала, то добавление уровня абстракции, избавляющего от использования if через, например, виртуальные функции.
gornal: (фото)


Увидел в чужом посту картинку, включился в обсуждение где-то на уровне 70-ого комментария. До моего ответа ни одного правильного в ветке не было. Люди в треде, естественно, те же самые, что с легкостью рассуждают о реформе образования и вреде от ЕГЭ.

В связи с этим три вопроса:
- Что все-таки с весами?
- Что вы думаете об изменениях в российском образовании за последние 15 лет?
- Как вы думаете, какова корреляция между правильностью ответа и оценкой изменений в образовании?
gornal: (фото)
Вася по каким-то причинам стреляет в Петю из огнестрельного оружия и попадает ему в шею. Скорая приезжает очень быстро, увозит Петю в больницу, проводится сложнейшая операция на грани возможностей современной науки и Петя либо остается в живых и через месяц прыгает как зайчик, либо все-таки умирает, хирург чуда не совершил.

Я правильно понимаю, что по законодательству большинства стран наказание, грозящее Васе, очень существенно зависит от успеха операции и во втором случае будет куда более строгим? И если я понимаю правильно, то в чем морально-логическое обоснование такого подхода? Ведь действия были совершенно одни и те же, дальнейшая общественная опасность Васи будет в лучшем случае точно такая же (в худшем - Петя в зоне риска остается). Почему случайная слаженная работа врачей это частичное оправдание преступника?
gornal: (фото)
Позавчера на выступлении упомянул, что онлайн приложения побеждают оффлайн, а мне начали говорить, что для работы классические Windows-программы должны быть удобнее новомодного веба. Что характерно, давили не только аргументами, но и прямой неправдой (то что, "последний отчет IDC говорит, что рынок PC перестал сокращаться," вспомнило сразу несколько человек - а вот ни фига, "IDC expects 129.7 million desktops to ship this year, down from 136.7 million in 2013. Shipments of portable PCs will reach 166.6 million, down from 178.4 million, IDC said," - вот он самый последний-распоследний, оказывается).

Тем не менее, если вдуматься (на третий день индеец Зоркий Глаз заметил, что у сарая нет стены), выигрыш SaaS у обычного Software действительно какой-то странный. Каналы клиент-сервер заведомо хуже, чем локальная сеть, на сервере процессорного времени-памяти-диска одному клиенту выделяют заведомо меньше, чем возможности его собственного PC, и даже качественно удешевить пользовательское оборудование современные браузеры не позволяют - прожорливы-с.

Маркетинг SaaS обычно сводится к "мобильным устройствам и доступу откуда угодно" - но это явно далеко не всегда ключевое преимущество. Офисный планктон работает на своем рабочем месте, на Windows-компьютере и с 9 до 6, но даже ему веб-продукт нравится больше.

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

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

Таки доступ, Mac и мобильные устройства. Даже если это не нужно основной массе, кому-то это все же нужно.
Избавление от локального сисадмина - это большой плюс. Как в плане стоимости владения, так и удобства, сисадмины любят воображать себя самыми главными людьми. Черт подери, даже локальное администрирование Outlook Express'а было не слишком приятным делом.
Веб проще показать, значит и проще продать (не важно, инвестору или клиенту), значит проще сделать хороший продукт.
Ограниченность системных ресурсов и высокая стоимость разработки мешают делать усложненный продукт, а сильные визионеры, которые могут защищать продукт от лишнего сами без такой подмоги, - большая редкость.
Веб-продукты между собой сочетаются и не конфликтуют из своих разных вкладок. Два локальных приложения могут как глючить от присутствия друг друга, так и просто тормозить - память и процессор общие.
gornal: (фото)
Пока думал про предыдущий пост, заметил, что фразы "билеты на самолет дешевле, чем билеты на поезд" и "билеты на поезд дороже, чем билеты на самолет" звучат совершенно по-разному и совершенно по-разному понимаются. А как сказать нейтрально, cходу и придумать не получается.
gornal: (mail)
Делали опрос веб-мастеров, хотели одним из вопросов спросить "а что у вас, собственно, за сайт" и наткнулись на любопытную проблему - все известные рубрикаторы оказались плохими. Категории неравноценны, многие сайты совершенно непонятно куда относить, а многие приходится отправлять в непритязательные "другие". Для иллюстрации возьмем, например, Alexa. Астраханский интернет-магазин интимных товаров - это что? Adult, Shopping, Business или Regional?

Задумавшись над проблемой и сравнив штук 6 разных альтернатив, открыл новую для себя Америку: сайты на самом деле плавают не на оси категорий, а в двумерном пространстве темы и типа.

С типами просто, их относительно немного, даже если мой список неполон, то он конечно неполон.

Персональные сайты и блоги
Корпоративные сайты
Официальные сайты органов власти
Новости и СМИ
Справочные сайты
Социальные сети, форумы, сайты знакомств
Онлайн-сервисы
Интернет-магазины и продажа оффлайн услуг
Цифровой контент: текст, аудио и видео

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

Автомобили
Спорт
Туризм, путешествия
Наука и образование
Интернет, компьютеры, IT-технологии
Работа, карьера
Отдых, юмор и развлечения
Игры
Общество, политика, религия
Культура и искусство
Мода и стиль
Семья и отношения
Медицина и здоровье
Секс
Бытовая техника
Одежда
Еда и напитки
Финансы
Недвижимость
Дом-ремонт-мебель
Юридические услуги
Связь
Реклама
Транспорт
Тяжелая промышленность

Вторую половину списка многие объединяют в единую тему "Бизнес", может быть, они и правы, о юридических услугах или бытовой технике люди по собственной воле говорят редко. И в любом случае, никак не получится обойтись без всемогущего "Другого".
gornal: (Default)
Лень искать статистику, но готов спорить, что в мире никогда не было так много стационарных телефонов, как сейчас. Почти уверен, что мобильных телефонов при этом уже везде больше, чем стационарных (в России уже года 4 назад обгон произошел) и точно помню, что смартфонов сейчас продается больше, чем компьютеров.

Тем не менее, понятно, что телефония обречена. Можно запрещать Skype, можно его не запрещать, можно рекламировать голосовые звонки в ICQ, а можно видеозвонки в Мегафоне, но Интернет, конечно, победит. В 2011-ом у году у телефонной связи есть всего три преимущества, оправдывающих её существование.
- Она всегда работает. Черт с ним, с тем, что Скайп иногда ложится на полдня, операторы тоже в Новый год на время отключаются. Но в самое обычное время, если поднять телефонную трубку и позвонить, то всё будет работать. Качество связи может быть чуть ниже, чем у Интернет-альтернатив, возможности конференций и прочих дополнительных сервисов будут ограничены заметно сильнее относительно современных конкурентов, это скорее всего будет дьявольски дорого, но это будет работать. Если мы включаем аську, агент, скайп, что угодно ещё, через что можно звонить по интернету - наступает царство сингулярности. То компьютер не тот, то админ порты закрыл, то просто глючит по причинам непонятным, но никто никогда не удивляется, если даже любимая программа прямо здесь и сейчас почему-то не звонит. Вчера и завтра - пожалуйста, а вот сегодня - нет.
- Телефония универсальна. Компьютером и Интернетом пользуются условные "все" (ага, эти "все" это 59% населения страны в декабре'2010), но даже среди этих "всех" кто-то предпочитает аську, кто-то агент, кто-то что-то более маргинальное, а до кого-то ещё вообще не дошло. Оставив на визитке свой телефон можно просто ждать звонка, оставив UIN любой компьютерной сети - готовиться к переговорам и уточнениям относительно того, когда мы наконец созвонимся.
- Телефон всегда с собой, для доступности не надо предпринимать никаких дополнительных шагов, только не забывать заряжать трубку. Что-то интернетное надо на этот телефон ставить (а может не поставиться), в некоторых случаях не забывать включать, как-то синхронизировать с компьютером и заниматься прочими неприличными вещами.

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

Минус же у телефона по сути один. Зато он фатальный и непреодолимый: далеко не нулевая стоимость разговора никуда не денется никогда. Телефонные компании может быть и могли бы это сделать технически и экономически, но никогда не сделают это психологически. А может быть, даже и экономически не смогут. И если проблема фатальна, а преимущества временны - очевидно, что пациент умрет. Это случится не в 2011-ом, даже процесс начнется не в 2011-ом, но мы все это увидим, это будет совсем скоро.

Забавно, что операторы это понимают не хуже меня. Захожу в ларек МТС. Бренд МТС, кругом МТС, во всем МТС. 2/3 витрин - продажа трубок, нетбуков, аксессуаров. 1/3 витрин - продажа 3G модемов и контрактов к ним. Нет ни одной самой простой листовки с перечислением и особенностями обычных телефонных тарифов. НИ ОДНОЙ. И, кстати, соотношение между железками и Интернет-тарифами тоже не случайно, бесплатным wi-fi крупные города насытят тоже в обозримой перспективе...

Становлюсь научнм аналитиком?
gornal: (Default)
Составить список книг отсортированный по упоминаемости, выкинуть из него те, которые были экранизованы за последние 20 лет, опционально отсеять те, на которые действуют авторские права и начать прикидывать возможности экранизации сверху-вниз.

С помощью Википедии, imdb, любого поисковика и любого языка программирования весь проект делается одним человеком за месяц. С учетом оборотов киноиндустрии, правильная идея должна приносить им миллионы. Или они так и работают?
gornal: (Default)
В нескольких разных умных книжках совершенно разных авторов читал, что все люди разделяются по наиболее развитому каналу восприятия информации на визуалов, аудиалов и кинестетиков и по разнообразию источников (вот и в википедии так же, проверил) я думаю, что такое деление является общепринятым.

Однако ж лично про себя могу твердо сказать, что ни в один из этих типов не укладываюсь и являюсь четким текстуалом, т. е. воспринимаю информацию только в записанном виде. Из этих двух посылок могут быть три возможных вывода:
- я уникальное исключение (слишком странно);
- я неправильно себя ранжирую (перечитал признаки - ну ни одним признаком ни в один тип не попадаю);
- теория на самом деле либо всегда была неверной, либо устарела с распространением компьютеров и нового способа получения информации (к этому выводу и веду).
gornal: (дятел)
Есть два классических шаблона про собеседования программистов, которые хочу прокомментировать.

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

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


Возможное возражение "у них там текучка высокая, всё плохо у них" отметем как неорганизованное - если деньги на найм новых есть, значит с точки зрения бизнеса всё ок, как-то придумали, как при текучке жить. Так же поступим с возражением о том, что "я наниматься не хотел, я просто интересуюсь". Если основные параметры были изучены по телефону/описанию вакансии и признаны заслуживающими интереса - значит они как минимум не хуже, чем текущие. А если человек срывается на объявление "требуется работа, оплата деньгами", значит ему совсем кирдык настает.

2. Какие же идиоты приходят на собеседования! Даю ему задачку - ну посмотрите какая простая - решают два часа и посмотрите, что в итоге пишут! Это же не программист, это, это, это... слова такого ещё не придумали! Вон из профессии!!

Мысль моя такова. Понятно, что есть случаи, когда не совпало, не повезло, друг друга не поняли, но в целом действительно средний уровень кандидатов чудовищно, невероятно, катастрофически низок. Но главная засада состоит в том, что все эти кандидаты так или иначе в итоге устраиваются на работу! Конечно, тупица ходит по собеседованиям дольше, чем умница, и средний уровень сотрудников отрасли всегда выше, чем средний уровень собеседуемых, но даже если исходить из коэффициента 10 (а, мне кажется, реальный 2-3, не больше), то 90% профнепригодных кандидатов пересчитываются в ~47% профнепригодных программистов, которые где-то благополучно работают. А по коэффициенту 3 получается 75% вместо 47%.

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

(*) Для читателей, которые не программисты. Они тоже не программисты.
gornal: (mail)
Книга о том, как надо и как не надо разрабатывать программы и вообще высокотехнологичные продукты. О том, почему происходит сингулярность и как с ней можно пробовать бороться.

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

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

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

Но даже если не принимать предлагаемое решение, то умных мыслей высказано довольно много и прочесть их полезно. Я, например, впервые понял, зачем нужны персонажи, "воображаемые пользователи", которых всю жизнь считал бессмысленной тратой времени. Самоочевидна, но нуждается в произнесении вслух фраза о том, что пользователей интересуют стандартные ситуации, а программиста - исключительные. При том, что даже одна мысль на книгу - это неплохой результат, а я перечислил не всё, Купер рекомендуется к прочтению любому, хоть как-то связанному с разработкой или IT.
gornal: (Default)
Ну а чтобы ему и не полежать - на Postgres же написан, ничего удивительного. Удивительны другие вещи.
Во-первых, ни один из моего круга общения не пожаловался на лежащий скайп. Это приятно.
Во-вторых, сразу три человека из моего круга общения обратили внимание на людей, жалующихся на лежащий скайп (а я соответственно - третье звено жалобной цепочки).
В-третьих, скайп не вылез в тренды твиттера. Это невозможно понять, это нужно запомнить.

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

Лемма 1. Сервер централизованного протокола лежит реже, чем средний сервер протокола децентрализованного.

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

Лемма 2. Пользователи разных коммуникационных серверов (А и Б) испытывают проблемы чаще, чем пользователи одного сервера (А).

Доказательство. В первом случае пользователи не могут связаться при проблемах 3 видов: внутренние проблемы А, проблемы связи А и Б, внутренние проблемы Б. Во втором случае опасны только внутренние проблемы А.

Утверждение 1. Даже если пользователь квалифицирован и прикладывает усилия по возобновлению связности он может лишь уровнять надежности общего и разного серверов. Максимум, что он может сделать, это нейтрализовать проблемы своего сервера или связности серверов, зарегистрировав новый аккаунт на сервере Б или В и использовать там заранее забекапленный контакт-лист. При проблемах сервера Б сделать он ничего не может.

Теорема очевидна, а скайп продолжает лежать и это приятно.
gornal: (pochta.ru)
В очередной раз матернувшись на импотентность search.qip.ru и найдя нужное в Гугле за один клик, я вдруг понял, что запасной сервис всегда качественнее первого.

Если на втором нашлось - значит первый ужасен, а второй молодец.
Если на втором не нашлось - ну значит такое вообще найти невозможно, никто не виноват.

Ситуация, когда первый молодец, а второй ужасен, невозможна. Банально, но раньше я этого не понимал.
gornal: (pochta.ru)
Вчера услышал, что во всех умных книжках советуют подчиненных между собой сталкивать, чтобы у них был конфликт и искры из глаз летели, а начальству было не скучно, глядя на их цирк. При том, что я всю дорогу (включая вчерашний день) старался конфликты под собой гасить или даже маскировать (что очевидно, хуже), а книжки не читал, то заинтересовался и задумался.

Жесткие, но при этом позитивные конфликты несомненно бывают, сам такие видел, с книжками не поспоришь. С другой стороны, вредоносных конфликтов тоже видел массу. Проанализировав опыт, можно выделить следующие необходимые условия "вражды для пользы дела".
- Достаточно высокая ответственность высоких недоговаривающихся сторон. Моральные устои не должны позволять им играть в игры со слишком уж отрицательной суммой.
- Наличие (и, желательно, измеримость) ресурса-потенциальной награды за борьбу. Это может быть как одноразовая морковка (а кто лучше всех себя проявит - тот и станет главным), так и что-нибудь протяженное (кто раньше встал - того и тапки).
- Лучше, если ресурс-пряник будет со временем разрастаться, бороться годами за одну и ту же пару тапок неинтересно.

Вероятно, блистательно изобретен велосипед.
gornal: (Default)
Интересно, когда в учебниках продлят новое время до 91-ого года, а уже от него начнут мерить новейшее? Кстати, для мира в целом правильность такого деления более очевидна, чем для истории отечественной.
gornal: (дятел)
Сегодня спросили, я как-то выкрутился, но сам задумался. Одним из этапов приема на работу относительно часто бывает собеседование с сильно вышестоящим руководителем на 5-15 минут. Отсев на этом этапе уже относительно мал, иногда вообще символичен, но тем не менее этап продолжает жить. Собственно - зачем?
- Это может быть латентное или даже осознанное недоверие "без меня наберут всякую шваль, только у меня острый взгляд".
- Это может быть наоборот взаимное доверие "посмотри, вдруг чего заметишь, что я пропустил" - "не, всё нормально".
- Привычка без особых причин.
- Возможность "познакомиться с народом" и "не отрываться от земли" (как-то перекликается с первым вариантом, но это другое).
gornal: (дятел)
В принципе, можно считать работающим общим правилом, что с увеличением стажа большинство сотрудников растут как профессионалы. При этом ни одна компания не может обеспечивать бесконечного роста вознаграждения (даже если в деньгах некоторые могут, то обычно не только денег хочется). Соответственно вроде бы получается логичная неизбежность периодической смены работы.

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

Эффективные решения этого парадокса:
- переходить целой командой (перенося с собой старый стиль и важность старых навыков);
- переходить куда-нибудь в начало или перестройку процесса (чтобы строить/участвовать в строительстве под себя);
- не волноваться особенно об эффективном использовании своего потенциала (не проблема микроскопа, что им гвозди забивают);
- таки не переходить вообще (что дает выигрыш в долгосрочной перспективе).
gornal: (pochta.ru)
Между прочим, одно из самых полезных технических умений - правильное написание логов. с одной стороны, в правильном логе в большинстве случаев должна оказаться вся необходимая для анализа проблемы информация. С другой стороны, правильный лог должен быть более-менее обозрим и содержать как можно меньше мусора.

Выполнение этих двух условий - чудовищная редкость, к сожалению.

April 2017

S M T W T F S
       1
2 3 4 5 6 7 8
9 10 1112131415
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 21st, 2017 04:40 pm
Powered by Dreamwidth Studios