Pull to refresh
72
0

Пользователь

Send message

Как собрать свой собственный прибор ночного видения за $50 из смартфона

Reading time12 min
Views33K


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

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

В древности, этими средствами выступали разнообразные костры, факелы и другие способы подсветки окружающей среды.

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

Немного о том, как работает виртуальный DOM в React

Reading time10 min
Views77K

image


Настоящий или реальный (real) DOM


DOM расшифровывается как Document Object Model (объектная модель документа). Проще говоря, DOM — это представление пользовательского интерфейса (user interface, UI) в приложении. При каждом изменении UI, DOM также обновляется для отображения этих изменений. Частые манипуляции с DOM негативно влияют на производительность.


Что делает манипуляции с DOM медленными?


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


Манипуляции с DOM являются сердцем современного интерактивного веба. К сожалению, они намного медленнее большинства JavaScript-операций. Ситуация усугубляется тем, что многие JavaScript-фреймворки обновляют DOM чаще, чем необходимо.


Допустим, у нас имеется список из 10 элементов. Мы изменяем первый элемент. Большинство фреймворков перестроят весь список. Это в 10 раз больше работы, чем требуется! Только 1 элемент изменился, остальные 9 остались прежними.


Перестроение списка — это легкая задача для браузера, но современные веб-сайты могут осуществлять огромное количество манипуляций с DOM. Поэтому неэффективное обновление часто становится серьезной проблемой. Для решения данной проблемы команда React популяризовала нечто под названием виртуальный (virtual) DOM (VDOM).

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

Три письма об увольнении: почему люди уходят с любимой работы

Reading time21 min
Views27K


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

Но все оказалось куда сложнее. Что только не может отравить даже любимую работу: стыд за политику компании, токсичное начальство, перегорание. Коллеги, которые пытаются мешать секс с работой, переработки по ночам и выходным, игры престолов среди руководства — все это может стать причиной увольнения. Иногда ты просто понимаешь, что ты — не на своем месте.

Я перевел три самых известных «прощальных письма» с Хакерньюс — о расставании с любимой работой из-за совершенно несправедливых превратностей судьбы. Надеюсь, вам понравится это пятничное, немного печальное чтиво о встрече с реальностью на рынке труда в IT.

Я смогла бросить работу в Google — и вы сможете бросить свою


Клэр Шапиро



«У вас, наверное, очень большие яйца, мисс!» — Незнакомец в самолёте

Проработав в Google 7 лет, я покинула Кремниевую долину, чтобы переехать в Бельгию и присоединиться к Совету по инновациям (Board of Innovation). Вопрос номер один, который мне задавали (и до сих пор задают) семья, друзья, незнакомцы и коллеги с обеих сторон: «Почему?»
Читать дальше →

Стенд для испытания некоторых технических решений для 3Д принтера

Reading time7 min
Views6.1K


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

Итак, что мы имеем. Года полтора назад достался мне на халяву кусок… Э-эм… Ну то есть 3D принтер Wanhao i3plus. Должен сказать я сам выбрал данный девайс, причем выбирал я не по тех. характеристикам (будем откровенны, у всех девайсов данного ценового диапазона они, мягко говоря, так себе), а привлек меня цветной сенсорный дисплей от компании DWIN, а точнее операционная система на которой он построен. Ну кастомизация там и все такое… Да ладно, кого я обманываю, конечно же повелся на свистоперделки.

В общем поигрался пару месяцев. Сделал к нему термокамеру, на фото ниже


Нарисовал свою прошивку для дисплея:
Читать дальше →

Мы работаем во тьме: кодинг «глазами» незрячих программистов

Reading time11 min
Views16K


We work in the dark — we do what we can — we give what we have. Our doubt is our passion and our passion is our task. The rest is the madness of art.

Henry James, «The Middle Years»

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

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

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

Клавиатура, наушники и ничего лишнего


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


Тука Ояла в офисе Vincit, расположенном в Тампере
Читать дальше →

Привет, Telnet! И пока. Команда OpenSSL s_client для зашифрованных соединений

Reading time4 min
Views19K

Изображение:  JanBaby, via Pixabay CC0

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

Но протокол telnet не использует шифрование. В сегодняшних реалиях жертвовать безопасностью — непозволительная роскошь. Однако, есть ряд задач, которые telnet с переменным успехом может выполнять: тестирование сети, проверка портов, а также взаимодействие с IoT устройствами и роутерами. 

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

Как я перестал бояться и полюбил бомбу. История создания и уничтожения ядерного оружия

Reading time24 min
Views31K

Радиоактивный пепел от нескольких тысяч ядерных боеголовок словно одеяло покроет Землю и начнется «Ядерная зима»… А, стоп. Или не начнется? Надеюсь, что практический эксперимент человечество никогда не застанет. В целом, вокруг ядерного оружия ходит много слухов: то об его разрушительности, то о вымирания человечества в ходе ядерной войне. Да это и неудивительно, применений вне полигона было всего два и то на заре эпохи ядерного оружия. А «рецепты» бомб хранятся под самым секретным грифом. Я предлагаю рассмотреть историю ядерного вооружения и его мифологию, а также как там что устроено.

Немного истории


Кого можно считать «отцом атомной бомбы»? К сожалению, на этот вопрос не существует однозначного ответа. Созданию ядерного оружия предшествовала череда научных открытий на протяжении практически всей первой половины 20-го века. Условную точку отсчета можно поставить в 1896 году, когда французский химик Антуан Анри Беккерель обнаружил радиоактивность урана. Следующие несколько десятилетий ученые шаг за шагом приближались к созданию атомной бомбы: открытие альфа-, бета- и гамма-лучей; обнаружение радиоактивных изотопов некоторых химических элементов; публикация закона радиоактивного распада; открытие ядерной изомерии… Наконец, в 1938 году немецкие физики Отто Ган и Фриц Штрассман впервые в мире смогли осуществить искусственное расщепление ядра атома (урана). С этого момента началась эпоха разработки ядерного оружия. А также немецкая ядерная программа.
Читать дальше →

Как выбрать механическую клавиатуру для программиста или геймера

Reading time4 min
Views91K

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

Сначала мы быстро вспомним, чем отличаются эти два базовых класса клавиатур, а потом постепенно придём к ответу на поставленный вопрос.

1. Количество одновременных нажатий клавиш (KRO): у мембранных клавиатур обычно оно составляет 2 (2KRO), 3 (3KRO) или 6 (6KRO). У механических — таких ограничений вообще нет (NKRO). Неважно, сколько клавиш вы нажмёте одновременно: компьютер получит и обработает соответствующие сигналы от каждой из них.

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

Есть ли у игровой индустрии шанс стать более человечной?

Reading time11 min
Views10K
Бесконечные переработки без отпусков и неоплачиваемые сверхурочные. Сокращения и увольнения. Выгорание и переезды в поисках новой работы. Конфликты с руководством и непрозрачные схемы вознаграждения и т.д. Именно из этого сделана современная игровая индустрия, — так считает журналист Джейсон Шрайер, автор вышедшей на прошлой неделе книги Press Reset, которая рассказывает об обратной стороне геймдева.

Книга богата на захватывающие сюжеты, от биографий известных геймдизайнеров, ставших “сбитыми летчиками”, до рассказов о тяжелейших условиях, в которых создавались культовых игр. Однако главные выводы Шрайер делает в финальной главе, посвященной будущему индустрии. Мы выбрали из нее главное.

image

Отправной точкой для разговора о будущем геймдева Шрайер делает вопрос: “Что работникам игровой индустрии нравится в ней меньше всего?”. На этот вопрос опытные разработчики отвечают примерно одно и то же: игровая индустрия очень сурово обходится с людьми. Она пережевывает и перемалывает их, оставляя после себя одни кости.

Даже не пытайтесь повторить это в GUI

Reading time7 min
Views18K


Есть такое понятие, как дружественный пользователю Linux. Возникло оно оно очень давно, возможно через несколько минут после того, как Линус Торвальдс анонсировал свою разработку в листе comp.os.minix. Трудно сказать принесла-ли пользу данная концепция и различные её воплощения на рабочей станции. Понятно одно, что прогресс на этом пути довольно-таки ощутимо не совпадает с ожиданиями этого самого пользователя.

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

Предлагаем рассмотреть несколько сценариев из реальной жизни, где хочешь — не хочешь, все необходимо сделать в CLI. Таких примеров очень и очень много, это всего лишь пара кейсов в огромном множестве подобных.
Читать дальше →

Практическое руководство по TypeScript для разработчиков

Reading time10 min
Views98K

Представляю вашему вниманию перевод статьи "Working With TypeScript: A Practical Guide for Developers".


Что такое TypeScript?


TypeScript — это популярный статический типизатор (static type checker) или типизированное надмножество (typed superset) для JavaScript, инструмент, разработанный Microsoft и добавляющий систему типов к гибкости и динамическим возможностям JavaScript.


TypeScript развивается как проект с открытым исходным кодом, распространяется под лицензией Apache 2.0, имеет очень активное и высокопрофессиональное сообщество, а также огромное влияние на экосистему JavaScript.


Установка TypeScript


Для того, чтобы начать работу с TypeScript, нужно либо установить специальный интерфейс командной строки (command line interface, CLI), либо воспользоваться официальной онлайн-песочницей или другим похожим инструментом.

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

Трюки CSS, которые сделают из вас ниндзя верстки

Reading time5 min
Views52K

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


Многие свойства, о которых пойдет речь, являются экспериментальными. Большинство из них поддерживаются всеми современными браузерами, однако, если вы решите использовать какое-либо из названных свойств в продакшне, не поленитесь зайти на Can I use и уточнить поддержку (недавно сильно расстроился, обнаружив, что Safari не поддерживает атрибут loading="lazy").


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


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


Итак, вы готовы к нашему небольшому путешествию в удивительный и почти безграничный мир CSS? Тогда вперед.


grid + place-items


Здесь вы найдете полное визуальное руководство по Grid и Flexbox.


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

Ахиллесова пята коронавируса

Reading time4 min
Views12K
Вирус SARS-​CoV-2 критически зависит от особого механизма, обеспечивающего синтез его белков. Коллаборация под руководством исследовательской группы из Высшей Технической Школы Цюриха (ETH Zurich) докопалась до молекулярного устройства этого процесса и показала, что его можно ингибировать специальными химическими соединениями, тем самым существенно подавляя репликацию вируса в инфицированных клетках. 


Видео: Said Sannuga, Cellscape.co.uk / ETH Zurich, The Ban Lab 

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

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

Реверс-инжиниринг неизвестного микроконтроллера

Reading time44 min
Views16K


Сложная завязка


Предыстория...


В рамках моей работы над реверс-инжинирингом электронных eInk-ценников мне довелось столкнуться с интересной проблемой. Конкретная компания (Samsung Electro Mechanics/SoluM) перешла с использования сторонних чипов, происхождение которых мне удалось выявить (Marvell 88MZ100) на новый чип, который стала применять со своими ценниками следующего поколения.

Казалось, что это их собственный чип, разработанный силами компании именно для этой цели. Браться за реверс-инжиниринг такой штуки – дохлый номер. Друг дал мне несколько ценников с такими чипами – повозиться. Оказалось, они бывают двух типов: одни с сегментированным дисплеем на электронных чернилах, а другие – с обычным графическим дисплеем на электронных чернилах. Главный чип в обеих моделях один и тот же, поэтому первым делом я взялся за устройство с сегментированным дисплеем, поскольку оно проще, и на его примере легче разобраться с неизвестной системой. Было не вполне ясно, с чего начать, но, конечно же, как раз такие задачки всегда самые интересные! 

Исследование



Глупо пытаться решить кроссворд, не прочитав вопросы к нему. Столь же глупо браться за реверс-инжиниринг устройства, не собрав сперва всю информацию, которая о нем уже имеется. Итак, что нам исходно известно? Протокол беспроводной передачи данных, вероятно, такой как обычно, поскольку ни одна компания не захочет мигрировать на новый либо поддерживать для своих клиентов сразу два протокола, не спеша выполняя миграцию. Старый протокол был ZigBee-подобным на 2,4 Ггц, поэтому новый, вероятно, такой же. Вот фото платы с обеих сторон.

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

Что такое компьютерный зрительный синдром и как от него защититься?

Reading time11 min
Views31K


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

То, чего не может быть: почему наши глаза не дружат с компьютером?


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

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

Инструменты для аудита CSS

Reading time6 min
Views9.3K


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

Существуют некоторые инструменты, облегчающие выполнение указанных задач. Но давайте начнем с того, что понимается под «аудитом» CSS.

Аудит CSS — задача не из легких


Как правило, оценка качества кода включает в себя его анализ в поиске багов и других проблем, например, проблем с производительностью. Для большинства языков программирования концепция аудита кода проста: она работает или не работает. Но CSS — это особенный язык, большая часть ошибок которого игнорируется браузером. Один и тот же стиль можно применять совершенно по-разному. Это обуславливает сложность аудита CSS. И «сложность» — это еще мягко сказано.
Читать дальше →

Отслеживание и визуализация положения МКС с помощью 30 строк JavaScript-кода

Reading time6 min
Views7.6K


Предлагаю вашему вниманию перевод этой замечательной статьи.

В этом туториале мы создадим веб-приложение, визуализирующее положение любого спутника, например, Международной Космической Станции (далее — МКС), в режиме реального времени (ну, почти).

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

  • Мы узнаем, где найти данные для отдельного спутника, известные как двухстрочный набор элементов (two-line element set, TLE) (далее — ДНЭ)
  • Мы используем библиотеку ”satellite-js” для предсказания орбиты спутника по ДНЭ (это часть напрямую связана с ракетостроением)
  • Мы используем библиотеку ”CesiumJS” для визуализации результата, однако, вы можете использовать любую библиотеку/движок, которые умеют работать с долготой, широтой и высотой

Превью конечного результата:


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

Шпаргалка по JS-методам для работы с DOM

Reading time18 min
Views81K

image


Основные источники



Введение


JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью документа): одни из них являются более полезными, чем другие; одни используются часто, другие почти никогда; одни являются относительно новыми, другие признаны устаревшими.


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


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


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


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

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

Как спасти разбитую читалку, если у вас прямые руки

Reading time9 min
Views17K
Статей о том, как подключить дисплей на электронных чернилах к Arduino, STM32, ESP32 и т.д. (нужное подчеркнуть) на этом ресурсе более чем достаточно, и я не стану утомлять читателя очередным погодным информером. Речь пойдет о том, как в хозяйстве можно использовать электронную книгу, ставшую жертвой комбинации четвертой фундаментальной силой природы – гравитации и седалищной мышцы Человека Разумного. Хе-хе. 

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

Для простоты рассмотрим, как устроен один чернильный «пиксель». В наиболее распространённом случае, это прозрачная сфера микронных размеров, наполненная неким подобием силиконового масла. В ней плавает некоторое количество частиц черного и белого цвета, имеющих разноименные заряды. И нет, это не электроны с протонами. Как правило частицы представляют собой полимер, обладающий электретными свойствами, то есть они способны долговременно удерживать электрический заряд со всеми вытекающими отсюда свойствами. То есть они будут соответственно себя вести в электрическом поле – заряженные частички будут испытывать силу притяжения или отталкивания от обкладок конденсатора с соответствующими зарядами. Ниже, я проиллюстрировал эту магию:

Ускоряем загрузку веб-страниц: тестируем 4 стратегии оптимизации изображений

Reading time10 min
Views9.3K


Статистика не устаёт повторять нам про устойчивую корреляцию между падением скорости загрузки страниц сайта и ростом частоты отказов со снижением конверсии. Я не открою Америку, если скажу, что работу сайта замедляет «раздутая» полезная нагрузка (с плохо оптимизированными изображениями и избыточным HTML-кодом). Это заставляет сервер выполнять лишнюю работу. Огромный пласт такой работы связан с проблемами оптимизации изображений. 

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

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

Information

Rating
Does not participate
Registered
Activity