Читать дальше →
Пользователь
Транзисторный усилитель класса А своими руками
6 min
259KНа Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.
В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.
Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
+50
Новый PyCharm 4.5 собрал вместе все инструменты для работы с Python
2 min
43KВсем привет! Мы выпустили новый PyCharm 4.5, который уже доступен для скачивания.
С момента предыдущего релиза PyCharm 4.0 прошло ровно полгода. За это время PyCharm получил ряд новых полезных инструментов для Python, Django и веб-разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
С момента предыдущего релиза PyCharm 4.0 прошло ровно полгода. За это время PyCharm получил ряд новых полезных инструментов для Python, Django и веб-разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
+55
Анонс Rust 1.0
9 min
29KTranslation
Сегодня мы с гордостью представляем релиз Rust версии 1.0, нового языка программирования для создания более надёжных и эффективных систем. Раст объединяет в себе низкоуровневый контроль над производительностью с удобством и гарантиями безопасности языков высокого уровня. Лучше того, он при этом не требует сборщика мусора или среду выполнения, так что библиотеками на Расте можно безболезненно заменять библиотеки на C (англ.). Если вы хотите поэкспериментировать с Растом, лучше всего начать с раздела «Getting Started» книги Rust Book (если вы предпочитаете читать с электронных книг, Паскаль Хертлиф (Pascal Hertleif) поддерживает неофициальные версии этой книги в электронном виде).
+63
Тренажер для системного администратора или как превзойти своих бывших сокурсников на собеседовании
5 min
80KДоброго времени суток, читатель Мегамозга!
Эта статья не претендует на how-to, но может стать отличной отправной точкой для будущих выпускников ВУЗов. Именно для тех, кто понимает, что одними знаниями из ВУЗа работодателя не только не удивишь, но и не устроишь.
Здесь я постарался собрать советы по созданию некоего «тренажера» для будущих системных администраторов, которых я, к сожалению, не получил в свое время.
Всех новичков в этой сфере прошук столу под кат.
Предупреждаю: здесь нет никаких конфигов и мануалов по настройке.
Эта статья не претендует на how-to, но может стать отличной отправной точкой для будущих выпускников ВУЗов. Именно для тех, кто понимает, что одними знаниями из ВУЗа работодателя не только не удивишь, но и не устроишь.
Здесь я постарался собрать советы по созданию некоего «тренажера» для будущих системных администраторов, которых я, к сожалению, не получил в свое время.
Всех новичков в этой сфере прошу
Предупреждаю: здесь нет никаких конфигов и мануалов по настройке.
+10
Nginx на стероидах — расширяем функционал с помощью LUA
9 min
54KДля обеспечения работы всех наших внешних продуктов мы используем популярный nginx. Это быстро и это надежно. Проблем с ним почти нет. Наши продукты также постоянно развиваются, появляются новые сервисы, добавляется новый функционал, расширяется старый. Аудитория и нагрузка только растет. Сейчас мы хотим рассказать о том, как мы ускорили разработку, неплохо увеличили производительность и упростили добавление в наши сервисы этого нового функционала, при этом сохранив доступность и отказоустойчивость затронутых приложений. Речь пойдет о концепции “nginx as web application”.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
+66
Мысли об идеальном языке программирования
10 min
30KВ данной статье я хотел бы поделиться своими мыслями об идеальном языке программирования общего назначения. В первую очередь — о языке, который мог бы заменить С++.
Так случилось, что языки программирования — мое хобби и мой основной интерес в сфере IT. Наверное, любой программист иногда мечтает создать свой собственный — идеальный — язык программирования. Для меня это нечто большее, чем просто мечта, фактически я уже давно собираю всю информацию по различным языкам и проектирую свой собственный язык.
На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.
Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья — приглашение к обсуждению.
+20
Защита для NGINX — NAXSI
3 min
38KЧто такое NAXSI ?
NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.
Зачем нужен NAXSI ?
Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
- Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
- “Закрытый” код, в котором невозможно исправить ошибки.
- Неизвестное качество кода в важном для бизнеса участке.
+98
Мультиклет R1 — первые тесты
10 min
76K Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.
Рис 1. Кремниевая пластина процессоров R1
Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.
Рис 1. Кремниевая пластина процессоров R1
+71
Атака на оракула. Подробный гайд по векторам атак на Oracle DB
17 min
36KСегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
+19
Hadoop: быть или не быть?
7 min
48KTranslation
Здравствуйте, уважаемые читатели!
Некоторое время назад у нас вышел перевод фундаментальной орейлевской книги о фреймворке Hadoop:
В настоящее время редакция оказалась перед непростым выбором, перевести ли новое 4-е издание этой книги, либо допечатать уже имеющееся.
Поэтому мы решили опубликовать перевод статьи Ананда Кришнасвами, появившейся в блоге Thoughtworks еще в 2013 году, где автор пытается проанализировать, в каких случаях уместно использовать Hadoop, а в каких — излишне.
Надеемся, что материал покажется интересным, вызовет полемику, а Вы поделитесь Вашими впечатлениями о работе с Hadoop и поучаствуете в опросе.
Некоторое время назад у нас вышел перевод фундаментальной орейлевской книги о фреймворке Hadoop:
В настоящее время редакция оказалась перед непростым выбором, перевести ли новое 4-е издание этой книги, либо допечатать уже имеющееся.
Поэтому мы решили опубликовать перевод статьи Ананда Кришнасвами, появившейся в блоге Thoughtworks еще в 2013 году, где автор пытается проанализировать, в каких случаях уместно использовать Hadoop, а в каких — излишне.
Надеемся, что материал покажется интересным, вызовет полемику, а Вы поделитесь Вашими впечатлениями о работе с Hadoop и поучаствуете в опросе.
+14
Определяем веса шахматных фигур регрессионным анализом
15 min
85KЗдравствуй, Хабр!
В этой статье речь пойдёт о небольшом программистском этюде на тему машинного обучения. Замысел его возник у меня при прохождении известного здесь многим курса «Machine Learning», читаемого Andrew Ng на Курсере. После знакомства с методами, о которых рассказывалось на лекциях, захотелось применить их к какой-нибудь реальной задаче. Долго искать тему не пришлось — в качестве предметной области просто напрашивалась оптимизация собственного шахматного движка.
Не будем детально углубляться в архитектуру шахматных программ — это могло бы стать темой отдельной публикации или даже их серии. Рассмотрим только самые базовые принципы. Основными компонентами практически любого небелкового шахматиста являются поиск и оценка позиции.
Поиск представляет собой перебор вариантов, то есть итеративное углубление по дереву игры. Оценочная функция отображает набор позиционных признаков на числовую шкалу и служит целевой функцией для поиска наилучшего хода. Она применяется к листьям дерева, и постепенно «возвращается» к исходной позиции (корню) с помощью альфа-бета процедуры или её вариаций.
Строго говоря, настоящая оценка может принимать только три значения: выигрыш, проигрыш или ничья — 1, 0 или ½. По теореме Цермело для любой заданной позиции она определяется однозначно. На практике же из-за комбинаторного взрыва ни один компьютер не в состоянии просчитать варианты до листьев полного дерева игры (исчерпывающий анализ в эндшпильных базах данных — это отдельный случай; 32-фигурных таблиц в обозримом будущем не появится… и в необозримом, скорее всего, тоже). Поэтому программы работают в так называемой модели Шеннона — пользуются усечённым деревом игры и приближённой оценкой, основанной на различных эвристиках.
В этой статье речь пойдёт о небольшом программистском этюде на тему машинного обучения. Замысел его возник у меня при прохождении известного здесь многим курса «Machine Learning», читаемого Andrew Ng на Курсере. После знакомства с методами, о которых рассказывалось на лекциях, захотелось применить их к какой-нибудь реальной задаче. Долго искать тему не пришлось — в качестве предметной области просто напрашивалась оптимизация собственного шахматного движка.
Вступление: о шахматных программах
Не будем детально углубляться в архитектуру шахматных программ — это могло бы стать темой отдельной публикации или даже их серии. Рассмотрим только самые базовые принципы. Основными компонентами практически любого небелкового шахматиста являются поиск и оценка позиции.
Поиск представляет собой перебор вариантов, то есть итеративное углубление по дереву игры. Оценочная функция отображает набор позиционных признаков на числовую шкалу и служит целевой функцией для поиска наилучшего хода. Она применяется к листьям дерева, и постепенно «возвращается» к исходной позиции (корню) с помощью альфа-бета процедуры или её вариаций.
Строго говоря, настоящая оценка может принимать только три значения: выигрыш, проигрыш или ничья — 1, 0 или ½. По теореме Цермело для любой заданной позиции она определяется однозначно. На практике же из-за комбинаторного взрыва ни один компьютер не в состоянии просчитать варианты до листьев полного дерева игры (исчерпывающий анализ в эндшпильных базах данных — это отдельный случай; 32-фигурных таблиц в обозримом будущем не появится… и в необозримом, скорее всего, тоже). Поэтому программы работают в так называемой модели Шеннона — пользуются усечённым деревом игры и приближённой оценкой, основанной на различных эвристиках.
+64
Список ресурсов для изучения Ассемблера
4 min
438KДоброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…
… но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.
UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…
… но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.
UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.
+125
Native Script. Один код для всех платформ
4 min
60KNative script (NS) – это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, JavaScript. Native script решает ту же задачу, что и уже всем известный phonegap (создание кросс-платформенных приложений), но подходы у них разные. Phonegap использует движок браузера, чтобы отобразить ваш UI (фактически вы получаете веб-страницу), Native script использует нативный рендеринг, использует элементы нативного UI. Следующее важное отличие: чтобы получить доступ к камере, gps и так далее в phonegap необходимо устанавливать плагины, в то время как NS дает доступ из коробки.
+25
Поклонникам китайских пионеров
3 min
18KУчастие в различного рода мероприятиях приводит к грустному выводу: антивирус никому не интересен. Количество посетителей вендорских стендов стремится к нулю. Дошло до того, что уже не разбираются даже знаменитые подарки от Касперского. В основном подходят, чтобы сообщить о проблемах, вопросы «что нового?» и «а как?» отходят в область легенд…
И это на фоне того, что большинство (по моей статистике – примерно 19 из 20) администраторов даже не подозревает о том, что они не реализовали защиту от вредоносных программ – при полной уверенности в обратном. Пример? Да легко! Краткое содержимое статьи «CTB-Locker. Мы решили платить»:
На самом деле это – типичная ситуация, с которой мы как вендоры сталкиваемся постоянно.
В комментариях, правда, указали, что все антивирусы пропускают. Естественно, развернулась дискуссия о методах защиты. Но что предлагали ее участники? За исключением одного (всего одного! — свой комментарий я не считаю, естественно) участника дискуссии – «Единственный способ борьбы с шифровальщиками — это бэкапы». Убиться и не встать.
Не буду повторять доказательства. Материалов в интернете много, из того, что находится в пределах Хабра, — серия статей «Как поймать то, чего нет». Здесь же опишем только тезисы – и да прочитают их те, кто уверен, что антивирус нужен для защиты от пропуска.
И это на фоне того, что большинство (по моей статистике – примерно 19 из 20) администраторов даже не подозревает о том, что они не реализовали защиту от вредоносных программ – при полной уверенности в обратном. Пример? Да легко! Краткое содержимое статьи «CTB-Locker. Мы решили платить»:
- Клиент поймал шифровальшика.
- Антивирус плохой, поскольку пропустил его. Нужно сменить.
На самом деле это – типичная ситуация, с которой мы как вендоры сталкиваемся постоянно.
В комментариях, правда, указали, что все антивирусы пропускают. Естественно, развернулась дискуссия о методах защиты. Но что предлагали ее участники? За исключением одного (всего одного! — свой комментарий я не считаю, естественно) участника дискуссии – «Единственный способ борьбы с шифровальщиками — это бэкапы». Убиться и не встать.
Не буду повторять доказательства. Материалов в интернете много, из того, что находится в пределах Хабра, — серия статей «Как поймать то, чего нет». Здесь же опишем только тезисы – и да прочитают их те, кто уверен, что антивирус нужен для защиты от пропуска.
+10
11 важных вещей, которые нужно знать про DevOps — часть первая
9 min
303KTranslation
От переводчика
В 2009 года за рубежом возникло движение, которое назвало себя DevOps. На первый взгляд это разработчики с навыками сисадминов и сисадмины с навыками разработчиков. Но на самом деле это отнюдь не так. Данное подход имеет четкие цели, философию, инструменты и методы, которые только некоторые русскоязычные компании начинают использовать. Мне кажется, что данный подход у нас незаслуженно игнорируется и мне хотелось бы рассказать об 11 вещах, которые нужно знать о DevOps, в частности:
- что такое DevOps
- каковы его ценности
- как он внедряется
- кому он приносит пользу
Надеюсь, этот текст вам понравится.
+9
Заглянем за кулисы разработки: подборка исходных кодов классических игр
10 min
83KTranslation
Обожаю заглядывать за кулисы. Мне интересно, как делаются вещи. Мне кажется, что большинству людей это тоже интересно.
Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.
К сожалению, почти все игры – для PC. Найти исходники для консолей или аркад почти нереально, и большинство программистов не в курсе различий подходов к программам на платформах, отличных от PC.
Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.
Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.
Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?
Итак, приступим (в хронологическом порядке):
Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.
К сожалению, почти все игры – для PC. Найти исходники для консолей или аркад почти нереально, и большинство программистов не в курсе различий подходов к программам на платформах, отличных от PC.
Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.
Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.
Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?
Итак, приступим (в хронологическом порядке):
+54
Реализуем безопасный VPN-протокол
12 min
48KСнова тема VPN, конфиденциальной передачи данных, безопасности и криптографии. Сейчас, в эру пост-Сноудена, стало модно клепать безопасные, уважающие приватность, невзламываемые, защищённые от спецслужб и цензуры программы. Однако эта статья – не очередной маркетинговый пиар, а, скорее, демонстрация того, как применяются криптографические примитивы и на что стоит обращать внимание при разработке подобного программного обеспечения.
Результатом этой работы предполагается создание работающего клиент-сервера, пригодного для review разработчиками (то есть немного кода на высокоуровневом языке), достаточно производительного, чтобы использоваться в промышленных условиях, имеющего высокий порог безопасности: GoVPN.
Результатом этой работы предполагается создание работающего клиент-сервера, пригодного для review разработчиками (то есть немного кода на высокоуровневом языке), достаточно производительного, чтобы использоваться в промышленных условиях, имеющего высокий порог безопасности: GoVPN.
+45
От Python скрипта до WSGI приложения
4 min
50KTutorial
Появилась задача написать веб интерфейс управления устройством. Управлять устройством будет Raspberry Pi. Логика управления — python, соответственно и интерфейс хотелось бы python. Хочу поделится своим опытом.
- 1. lighttpd mod_cgi и простой скрипт
- 2. web.py на порту 8080
- 3. WCGI интерфейс
- 4. Простой сервер WSGI
- 5. WSGI с использованием wsgiref
- 6. WSGI c помощью flup
- 7. web.py приложение с использованием flup
- 8. Немного особенностей
+10
Где взять полтора миллиона на стартап по кибербезопасности
4 min
15KНа рынке информационной безопасности сейчас очень интересное время. В первом квартале 2015 года американские стартап-проекты, работающие в области ИБ, привлекли $1,02 млрд инвестиций, тогда как за весь 2011 год сумма была менее $1 млрд. Инвестиционные фонды и венчурные подразделения компаний все активнее ищут новые проекты в ожидании резкого увеличения бюджетов, выделяемых на безопасность, отмечает Financial Times со ссылкой на исследование PrivCo.
Причин для столь бурного роста более чем достаточно, и все о них наслышаны. Хакерские атаки на Sony Pictures и Home Depot, «фотоскандалы» Apple, потеря доверия к Bitcoin, появление в 2014 году «уязвимостей века» Heartbleed и Shellshock, а также естественное после такого хаоса ужесточение требований регуляторов почти во всех ведущих странах.
По прогнозам аналитиков Gartner, в 2015 году расходы на информационную безопасность увеличатся на 8,2% и составят $76,9 млрд. Сумма значительная, но и причины для этого не менее существенные. Хакерские атаки лишили Sony Pictures $100 млн, а ущерб шестого ритейлера США, компании Target, расценивается в $162 млн. В случае c американским дискаунтером оружием послужила программа KAPTOXA (позже переименованная в BlackPOS).
Большинство идей по защите информации, на которые обратили внимание инвесторы за последние пару лет, крутятся вокруг облачной и мобильной безопасности, а также технологий поведенческого анализа, как отмечает обозреватель Dark Reading Эрика Чиковски (Ericka Chickowski).
Причин для столь бурного роста более чем достаточно, и все о них наслышаны. Хакерские атаки на Sony Pictures и Home Depot, «фотоскандалы» Apple, потеря доверия к Bitcoin, появление в 2014 году «уязвимостей века» Heartbleed и Shellshock, а также естественное после такого хаоса ужесточение требований регуляторов почти во всех ведущих странах.
По прогнозам аналитиков Gartner, в 2015 году расходы на информационную безопасность увеличатся на 8,2% и составят $76,9 млрд. Сумма значительная, но и причины для этого не менее существенные. Хакерские атаки лишили Sony Pictures $100 млн, а ущерб шестого ритейлера США, компании Target, расценивается в $162 млн. В случае c американским дискаунтером оружием послужила программа KAPTOXA (позже переименованная в BlackPOS).
Большинство идей по защите информации, на которые обратили внимание инвесторы за последние пару лет, крутятся вокруг облачной и мобильной безопасности, а также технологий поведенческого анализа, как отмечает обозреватель Dark Reading Эрика Чиковски (Ericka Chickowski).
+9
Information
- Rating
- Does not participate
- Location
- Новосибирская обл., Россия
- Registered
- Activity