Pull to refresh
-22
0
Send message

Собеседование на программиста в Amazon

Reading time7 min
Views127K

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


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

Читать дальше →

Советы и секреты №2

Reading time4 min
Views55K

Единый интерфейс для всех мессенджеров, самый удобный способ скачивать видео с YouTube, пакетный менеджер для Windows в стиле линуксового apt-get, встроенный калькулятор Google


Существует ли универсальный фонтенд, чтобы обмениваться сообщениями в WhatsApp, Messenger, Skype, Slack, Telegram, не устанавливая каждую программу?
Конечно, ведь работать с 20-30 мессенджерами по отдельности не очень комфортно. Гораздо удобнее собрать их в едином интерфейсе. Есть несколько универсальных решений для этого.

Во первых, свободная и бесплатная программа Rambox с открытым исходным кодом (репозиторий на Github) под Windows, Linux и Mac OS.


Читать дальше →

Спросите Итана №69: убегает ли от нас Вселенная?

Reading time5 min
Views12K

По мере того как тёмная энергия всё больше доминирует, и далёкие галактики удаляются от нас с ускорением, что мы теряем, и что это значит для нас?


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


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

В блогозаписи «Исчезающая Вселенная» вы натолкнули меня на мысль, что из нашей Вселенной каждую секунду исчезает много ценной информации. Мои вопросы:
1) как это влияет на теорию Большого взрыва и возраст Вселенной?
2) Возможно ли узнать, какая часть Вселенной уже исчезла?

Давайте начнём с того, что означает исчезновение вещей, и сделаем мы это через возвращение к идее Большого взрыва.



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

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

WebGL для всех

Reading time11 min
Views54K


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

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

Этой статьёй хочется облегчить порог вхождения в чистый WebGL, дать начальное представление и подсказать, куда двигаться дальше.
Поехали!

Создаём установочный носитель с множеством версий Windows NT 6.0+ без использования стороннего софта

Reading time18 min
Views126K

КДПВЗдравствуйте. Сегодня я расскажу как можно создать единый установочный носитель с множеством разных версий Windows не прибегая к использованию стороннего ПО. Таким образом вы будете полностью понимать какие манипуляции мы выполняем.


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


Кому интересно — прошу под кат.

А ну-ка, посмотрим

Почему старения можно избежать: отрывок из книги «Взламывая код старения»

Reading time12 min
Views35K

Огромное разнообразие типов старения у растений и животных намекает на возможность контроля над этим процессом


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

Бактерии воспроизводятся, симметрично делясь надвое. Что может значить старение для бактерий, у которых после деления нет никакой разницы между родителем и ребёнком? Одноклеточные протисты вроде амёб также воспроизводятся симметрично, но они всё равно изобрели способ стареть. И даже среди макроскопических форм жизни продолжительность жизни чрезвычайно разнится в зависимости от местной экологии и скорости воспроизводства. Вряд ли это могло произойти в результате универсального и непоколебимого процесса; такая тонкая подстройка явно говорит об адаптации.


Подёнки умирают быстро и внезапно в конце их репродуктивного цикла

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

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

Эффект кобры. Кейлоггер на eBay и запрет на копипаст пароля

Reading time4 min
Views23K


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

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

Оттуда пошло выражение эффект кобры. Ситуация, когда принятое для исправления проблемы решение не исправляет эту проблему, а ведёт к прямо противоположному результату.
Читать дальше →

Гарвардский курс CS50 на русском: появилась вторая лекция

Reading time2 min
Views24K
CS50 на русском

100 тысяч просмотров за неделю

На прошлой неделе вышла первая лекция Гарвардского курса CS50, локализованная JavaRush и студией Vert Dider. Буквально за несколько дней ролик собрал 25 тысяч просмотров, а трейлер с анонсом курса уже просмотрело более 100 тысяч человек. Очевидно, инициативу по переводу лекций русскоязычное сообщество встретило с энтузиазмом, что, безусловно, вдохновляет переводчиков продолжать в том же духе.

Сегодня, 27 июня, на сайте JavaRush появилась втора лекция Гарвардского курса по основам программирования CS50 на русском — javarush.ru/cs50.html
Читать дальше →

Пропорции в искусстве. Есть ли что-то лучше золотого сечения? Исследование более 1 000 000 старых и современных картин

Reading time39 min
Views72K


Перевод поста Майкла Тротта (Michael Trott) "Aspect Ratios in Art: What Is Better Than Being Golden? Being Plastic, Rooted, or Just Rational? Investigating Aspect Ratios of Old vs. Modern Paintings".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации

Содержание


Предисловие: золотое сечение — красивая математическая концепция
Работа Фехнера 1876 года об эстетичности прямоугольников и соотношениях сторон в картинах
Легкий старт: анализ «Artwork» — области базы знаний Wolfram Knowledgebase
Первая часть: особенности вероятностного распределения соотношений сторон
Соотношения сторон для разных веков, жанров и художников
Анализируя пять старых немецких музейных каталогов
Коллекция Кресса: четыре больших PDF файла
У нас представлены коллекции следующих галерей: Метрополитен (Metropolitan), институт искусств Чикаго, Эрмитаж, Национальная Галерея (National Gallery), Рейксмюзеум (Rijks) и Тейт Британия
Исключение в соотношениях сторон: Национальная портретная галерея
Веб-галерея изящных искусств: удобная база данных, готовая к использованию
Примечание II: важность точности в измерениях
WikiArt: еще один крупный веб-ресурс
Коллекция Французского государственного музея
Картины в итальянских церквях: высота есть всё
Смитсоновская коллекция
Большая коллекция картин в Великобритании
Нынешний рынок изящных искусств: рациональней чем когда-либо
Проданные картины: большинство написаны недавно, а у распределения длинный хвост
Восток: все показатели отличаются
Пропорции пакетов, автомобилей, этикеток, логотипов, эмблем, бумаги, банкнот, почтовых марок и фильмов
Продукты из супермаркета
Винные этикетки
Этикетки немецких сортов пива
Логотипы продуктов питания
Банкноты
Размеры автомобилей
Бумажные листы
Марки
Эмблемы команд NCAA (Национальной ассоциации студенческого спорта)
Эмблемы немецких футбольных клубов
Форматы фильмов
Заключение: так какое соотношение самое «лучшее»?
Картины великих мастеров — едва ли не самое прекрасное из человеческого наследия. Ими дорожили и восхищались, бережно хранили и продавали за сотни миллионов долларов, и, возможно, не по случайности они являются главной целью похитителей предметов искусства. Их композиции, цвета, детали, темы могут держать нас в восхищении и внимании часами. Но что можно сказать об отношении их внешних размеров — высоты к ширине?

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

Расследование ошибки установки Visual Studio 2015

Reading time8 min
Views121K
Решили мы как-то перевести свой проект на Visual Studio 2015 — там ведь столько захватывающих фич! Вчера вот только решили, а уже сегодня утром я запустил её инсталлятор. Небо было безоблачным, ничто не предвещало беды. Ну что, в самом деле, может пойти не так? Сколько уже этих Visual Studio переставлено — не счесть (я, помнится, ещё 6.0 когда-то ставил). Кто бы мог подумать, что эта тривиальнейшая задача может вылиться в весьма неожиданный забег по граблям длинной почти в целый рабочий день.

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


Хм. Не поставился значит, Team Explorer и ещё пару минорных пакетов. Ну ок. Закрываем, переустанавливаем. Не помогает. Удаляем студию, перезагружаемся, устанавливаем — та же ошибка. Лезем в Гугл с вопросом об ошибке установки Visual Studio 2015 на этапе инсталляции компонента Team Explorer и понимаем, что проблема это массовая — десятки ссылок с тем же описанием:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

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

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

Microsoft добавит поддержку компилятора Clang в ноябрьском обновлении Visual Studio 2015

Reading time2 min
Views22K


Microsoft добавит поддержку компилятора Clang в ноябрськом обновлении Visual Studio 2015 — об этом было заявлено на конференции CPPCon 2015, проходящей сейчас в городе Белвью, США.

Clang это компилятор кода на С, С++ и Objective-C, который в связке с LLVM позволяет собирать программы под различные платформы. Visual Studio 2015 уже поддерживает Clang для разработки Android и iOS-приложений. При разработке под Android можно выбирать между GCC и Clang, а для iOS приходится использовать внешний Mac в качестве билд-сервера.

Планируемое обновление принесёт поддержку Clang на качественно новом уровне — теперь им можно будет собирать обычные Windows-приложения.
Читать дальше →

Спросите Итана №62: самая большая спиральная галактика

Reading time5 min
Views15K

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


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

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



Это плоскость нашей галактики, видимая с ребра с нашей точки зрения изнутри неё. Она огромна, содержит сотни миллиардов звёзд, и растянулась на 100 000 световых лет в диаметре. Но что насчёт галактик большего размера? Вряд ли наша такая уж выдающаяся? И на эту тему на текущей неделе был задан вопрос читателем Дугом Ватсом:

Почему нет реально больших галактик? Есть какие-то ограничения, не позволяющие спиральным галактикам стать больше, чем Млечный путь или Андромеда в тысячу или десять тысяч раз?

Оказывается, что Млечный путь – далеко не самая большая из спиральных галактик. Как и Андромеда – крупнейшая галактика в нашем небе по угловому размеру.
Читать дальше →

Новое объяснение принципа работы «невозможного» двигателя EmDrive: это все фотоны

Reading time4 min
Views43K
Финские ученые считают, что EmDrive не нарушает закон сохранения импульса



Эпопея с так называемым «невозможным» двигателем EmDrive на электромагнитных волнах продолжается. На данный момент ряд известных ученых и научных организаций подтвердили работоспособность EmDrive. Двигатель представляет собой систему, состоящую из резонатора (металлический усеченный конус) и магнетрона. Двигатель работает, это факт. Каким образом? Такая система каким-то образом создает тягу под влиянием электромагнитного излучения. Существует несколько гипотез, объясняющих появление тяги. Пока что ни одна гипотеза не была доказана. Собственное объяснение принципа работы EmDrive в этом месяце предложили финские ученые.

По их мнению, образование тяги в этой системе объясняется определенным типом интерференции волн, а именно — деструктивной интерференцией. Под конструктивной интерференцией понимается такой тип комбинирования отраженных волн при резонансе, когда происходит усиление волнами друг друга. В случае деструктивной интерференции максимумы одних волн приходятся на минимумы других, при этом резонанс отсутствует. Если речь идет о волнах на воде, то при деструктивной интерференции они накладываются друг на друга, и поверхность воды выглядит спокойной.
Читать дальше →

Невозможный двигатель EmDrive, эффект Унру, фотоны и инерция: попытка объяснить непонятное

Reading time3 min
Views59K
image

Английский учёный из Плимутского университета Майк Макалох [Mike McCulloch] в своей работе попытался дать объяснение принципу действия «невозможного» двигателя EmDrive, который вот уже несколько лет ставит в тупик специалистов. Для этого учёному пришлось дать объяснение такому фундаментальному понятию физики, как инерция.

Двигатель EmDrive придумал в начале 2000-х британский инженер Роджер Шойер. Он представил общественности свою идею о двигателе, по сути состоящем из металлического усечённого конуса и магнетрона. По его расчётам, отражающиеся внутри конструкции электромагнитные волны должны создавать тягу без всяких реактивных компонентов.

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

ComputerVision (Ruby & OpenCV)

Reading time9 min
Views14K

Автор: Людмила Дежкина, Senior Full Stack developer

OpenCV — известная библиотека компьютерного зрения широкого назначения с открытым исходным кодом. Я расскажу, что можно делать с помощью OpenCV, как работает библиотека, как ее использовать на Ruby. Я успела поучаствовать в двух проектах, где она применялась. В обоих случаях мы использовали в конечном варианте не Ruby, но именно Ruby очень удобен на первом этапе, когда требуется создать прототип будущей системы, чтобы просто посмотреть, как OpenCV будет выполнять требуемые задачи. Если все в порядке, после этого приложение пишется с этим же алгоритмом на другом языке. А чтобы использовать OpenCV именно на Ruby, есть соответствующий гем.

Основные части библиотеки — интерпретация изображений и алгоритмы машинного обучения. Список возможностей, предоставляемых OpenCV, весьма обширен:

  • интерпретация изображений;
  • калибровка камеры по эталону;
  • устранение оптических искажений;
  • определение сходства;
  • анализ перемещения объекта;
  • определение формы объекта и слежение за объектом;
  • 3D-реконструкция;
  • сегментация объекта;
  • распознавание жестов.


Сейчас OpenCV используется во многих сферах. Вот несколько интересных примеров:

  1. Google:
    1. Google self-driving car — в беспилотных автомобилях Google OpenCV используется для разработки прототипа распознавания окружающей обстановки;
      (сегодня построенная система основывается преимущественно на LIDAR — в связи с трудностями распознавания при плохом освещении)
    2. Google Glass — в этих очках 3D-реконструкция изображения построена на OpenCV;
    3. Google Mobile;

  2. Робототехника и Arduino;
  3. Промышленное производство — иногда какой-нибудь завод делает на OpenCV систему подсчета деталей или что-то вроде того.

Читать дальше →

Усиленный интеллект человека (УИ) vs ОИИ и ИСИ. Добегут все, кто раньше?

Reading time9 min
Views19K
В свете последних тенденций, направленных на всестороннее развитие мощи ИИ, большинство последователей этого безусловно перспективного направления почему-то сознательно или нет, но вовсе не рассматривают в качестве альтернативы искусственно улучшенный человеческий интеллект (УИ). Вопрос, далеко не праздный и некоторые исследователи проблемы убеждены: технологически «улучшенный» человеческий мозг вполне сможет состязаться, а во многих случаях и превосходить по своим возможностям ИИ. Насколько это мнение далеко от истины и что это, собственно, такое: усиленный/улучшенный человеческий интеллект?

image
Подробнее

Пишем сериализатор для сетевой игры на C++11

Reading time18 min
Views25K
Написать этот пост меня вдохновила замечательная статья в блоге Gaffer on Games «Reading and Writing Packets» и неуёмная тяга автоматизировать всё и вся (особенно написание кода на C++!).

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

  • Выбор формата. Если бы мы писали простенькую игру на JavaScript, нас бы устроил JSON или любой его самописный родственник. Но мы пишем серьёзную многопользовательскую игру, требовательную к трафику; мы не можем позволить себе отправлять ~16 байт на float вместо четырёх. Значит, нам нужен «сырой» двоичный формат. Однако, двоичные данные усложняют отладку; было бы здорово, если бы мы могли менять формат в любой момент, не переписывая целиком все наши функции чтения/записи.
  • Проблемы безопасности. Первое правило сетевой игры: не доверяй данным, присланным клиентом! Функция чтения должна уметь оборваться в любой момент и вернуть false, если что-то пошло не так. При этом использовать исключения считается неважной идеей, поскольку они слишком медленные. Мамкин хакер пусть и не сломает ваш сервер, но вполне может ощутимо замедлить его беспрерывными эксепшнами. Но вручную писать код, состоящий из if'ов и return'ов, неприятно и неэстетично.
  • Повторяющийся код. Функции чтения и записи похожи, да не совсем. Необходимость изменить структуру пакета приводит к необходимости поменять две функции, что рано или поздно приведёт к тому, что вы забудете поменять одну из них или поменяете их по-разному, что приведёт к трудно отлавливаемым багам. Как справедливо замечает Gaffer on Games, it is really bloody annoying to maintain separate read and write functions.

Всех интересующихся тем, как Бендер выполнил своё обещание и при этом решил обозначенные проблемы, прошу под кат.
Читать дальше →

Инструкция: Как создавать ботов в Telegram

Level of difficultyEasy
Reading time7 min
Views1.8M
24 июня 2015 разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Попробую это исправить

Contactless Infusion X5: девайс, способный удаленно копировать данные 15 банковских карт в секунду

Reading time4 min
Views39K
Устройство работает на расстоянии до 8 сантиметров от целевой карты, клонирование ведется постоянно



В dark web поступило в продажу устройство, изготовленное группой The CC Buddies, которое способно клонировать данные 15 банковских карт в секунду. При этом само устройство имеет очень небольшой размер, и работает на расстояниях до 8 сантиметров от целевой карты. Конечно, это не так много. Но представьте, сколько карточек можно клонировать, если пройтись по посещаемому супермаркету, вагону метро, очередью в авиакассу или потолкаться в других подобных местах (клуб, концерт известной группы и т.п.).

Если раньше злоумышленники для этой же цели использовали довольно габаритные девайсы, которые можно было рассмотреть, то размеры этого устройства позволяют положить его в карман. А если кто-то и увидит гаджет в руках злоумышленника, вряд ли поймет, что это такое. Называется эта система X5, и предназначена она для копирования данных чипа, встроенного в современные банковские карты с RFID.
Читать дальше →

Что общего в поведении политиков и шимпанзе?

Reading time7 min
Views24K


«Во время политических дебатов по телевизору я всегда рекомендую выключить звук. Таким способом мы можем пренебречь словами и содержанием дебатов и лучше сосредоточиться на невербальной коммуникации (позы, жесты, выражения лиц)», — говорит профессор американского университета Эмори, приматолог Франс де Вааль (Frans de Waal), отвечая на вопрос, опубликованный на сайте Quora. По его словам, выключить звук совершенно необходимо было во время последних дебатов кандидатов в президенты от республиканской партии США, потому что их «содержание не имело особого смысла». Кандидаты оскорбляли друг друга, врали, ставили под сомнение мотивы друг друга, даже делали анатомические сравнения. «На самом деле, они делали то, что обезьяны делают лучше всего: запугивают, угрожают, разворачивают плечи, бьют себя в грудь», — говорит профессор.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity