gentoo.ru
Общение на окологентушные темы
gentoo@conference.gentoo.ru
Суббота, 31 марта 2018< ^ >
evadim установил(а) тему: Gentoo Linux || FAQ: http://www.gentoo.ru/faq || Вставки более 3 строк → app-text/wgetpaste || Логи: http://gentoo.ru/jabber/logs/ || Языками чешут в talks@conference.gentoo.ru ||  Фортунки http://fortunes.gentoo.ru || Кто-нибудь, сделайте что-нибудь с фортунками :'-(
Конфигурация комнаты
Участники комнаты

GMT+3
[00:00:40] 0xd34df00d вошёл(а) в комнату
[00:06:59] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:09:35] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:10:12] 0xd34df00d вошёл(а) в комнату
[00:12:49] 0xd34df00d вошёл(а) в комнату
[00:22:37] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:22:47] 0xd34df00d вошёл(а) в комнату
[00:23:03] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:32:49] 0xd34df00d вошёл(а) в комнату
[00:39:02] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:42:49] 0xd34df00d вошёл(а) в комнату
[00:52:09] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[00:52:19] 0xd34df00d вошёл(а) в комнату
[01:39:00] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[01:47:49] 0xd34df00d вошёл(а) в комнату
[01:53:57] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[01:57:49] 0xd34df00d вошёл(а) в комнату
[02:03:58] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[02:07:49] 0xd34df00d вошёл(а) в комнату
[02:10:21] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[02:12:49] 0xd34df00d вошёл(а) в комнату
[02:30:32] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[02:32:44] 0xd34df00d вошёл(а) в комнату
[02:42:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[02:42:49] 0xd34df00d вошёл(а) в комнату
[02:50:02] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[02:52:49] 0xd34df00d вошёл(а) в комнату
[03:00:26] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[03:02:49] 0xd34df00d вошёл(а) в комнату
[03:12:38] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[03:12:48] 0xd34df00d вошёл(а) в комнату
[03:25:12] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[03:32:49] 0xd34df00d вошёл(а) в комнату
[03:41:03] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[03:42:50] 0xd34df00d вошёл(а) в комнату
[03:52:38] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[03:52:48] 0xd34df00d вошёл(а) в комнату
[04:01:18] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[04:41:04] rea вышел(а) из комнаты
[05:24:09] 0xd34df00d вошёл(а) в комнату
[05:39:04] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[05:42:49] 0xd34df00d вошёл(а) в комнату
[05:52:37] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[05:52:47] 0xd34df00d вошёл(а) в комнату
[06:02:38] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[06:02:48] 0xd34df00d вошёл(а) в комнату
[06:29:20] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[06:32:49] 0xd34df00d вошёл(а) в комнату
[06:42:38] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[06:42:48] 0xd34df00d вошёл(а) в комнату
[06:56:40] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[06:56:50] 0xd34df00d вошёл(а) в комнату
[07:37:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[07:37:49] 0xd34df00d вошёл(а) в комнату
[07:44:13] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[07:44:23] 0xd34df00d вошёл(а) в комнату
[08:13:34] 0xd34df00d вышел(а) из комнаты: Disconnected: No route to host
[08:47:08] nis вошёл(а) в комнату
[12:14:37] rea вошёл(а) в комнату
[12:37:34] <nis> 0xd34df00d: короче С++ это зло - меня так упороло в метапрограммирование, что даже боюсь представить что будет после переключения на С++17
[12:45:16] <michael_ul> Да, есть у него такая особенность ) Попробуй отвлечься на чистый c, может попустит
[12:47:40] <nis> michael_ul: нафиг чистый си
[12:47:46] <nis> мне этого говна на работе хватает
[12:48:22] <nis> ручной закат и восход солнца - сами мучайтесь
[12:51:22] <michael_ul> nis: не скажи, есть в c своя прелесть. Конечно, не для больших проектов
[12:52:13] <nis> нет
[12:52:34] <nis> любой небольшой проект превращается в монстра который тебя готов сожрать
[12:52:55] <nis> + 99% программистов не умеют писать на чистом с
[12:53:18] <nis> итого мы имеем некоторое подобие лапши
[12:53:19] <michael_ul> Это только если с пыхпыхерами считать
[12:53:24] <nis> нет
[12:53:27] <nis> это вообще
[12:53:39] <nis> особенно умиляют железячники
[12:53:46] <nis> возомнившые себя программистами
[12:54:29] <michael_ul> Основный затык у народа с c - это арифметика указателей. Кто её осилил, в общем-то, к программированию на c пригодны.
[12:55:18] <michael_ul> Не арифметика даже, а вообще понимание указателей
[12:56:30] <nis> нет
[12:56:58] <nis> кто не осилил разбиение на модули и чёткое следование хотя бы одному стилю вообще ни на что не пригодны
[12:57:32] <nis> хотя твой вариант тоже барьер для половины разрабов
[12:58:07] <michael_ul> А, вон ты про что. Эта проблема проходит с опытом.
[12:59:06] <nis> michael_ul: касательно небольших программ - сейчас на работе напарник ковыряет модуль на чистом С всего-то на 3500 строк, а логики в нём столько что уже месяц люди по колено в коде и понять не могут что да как
[12:59:30] <michael_ul> nis: а сколько лет напарнику, ежели не секрет?
[12:59:41] <nis> а это не важно
[13:00:00] <nis> он примерно моего возраста
[13:00:15] <nis> michael_ul: кто-то с годами умней кто-то старше
[13:00:42] <nis> а факт остаётся фактом на С написать так чтобы другие прочитали это надо уметь
[13:01:06] <nis> а чтобы потом ещё и расширили это вообще надо уж очень быть умным
[13:01:32] <michael_ul> nis: так на плюсах то же самое, только усугубляется ещё перегружеными операторами и функциями
[13:01:42] <nis> плюсы сложный язык
[13:01:55] <nis> писать на них не каждый может
[13:02:11] <nis> но тот кто смог получает результат лучше чем в С
[13:02:18] <nis> за меньшее чем в С время
[13:02:22] <michael_ul> На с, по крайней мере, a+b - это a+b, а не хрен пойми какая функция хрен знает что делающая
[13:02:42] <nis> опять же не факт
[13:03:13] <nis> вот два инта на архитектуре в которой инт это два слова это будет не а+b а вызов функции
[13:03:34] <nis> тоже к делению и плавающей арифметике
[13:04:00] <nis> прозрачность кода это не проблема языка а проблема используемого компилятора
[13:04:48] <michael_ul> Функция заведомо известная, с заведомо известным результатом. По крайней мере, на конкретной архитектуре.
[13:05:13] <nis> опять же архитектурно зависимый код
[13:05:28] <nis> вот кто сказал что оно будет на другой железке точно так же
[13:05:38] <nis> или с другой версией компилятора
[13:05:46] <michael_ul> Так это один чёрт, что в c, что в c++
[13:05:52] <nis> да
[13:06:25] <nis> эта позиция использования С++ мне уже давно ясна - я не смог, другие так же
[13:08:53] <nis> а на больших проектах в С имеем свою объектную модель, свои метаметоды, индерект колы и прочие радости определения типов во время выполнения
[13:08:55] <michael_ul> nis: c++ - отличный язык, мне он нравится и я его использую. И мне нравятся оба его варианта, просто как расширение с классами, и как метапрограммирование с шаблонами. Но это не значит, что я не люблю c, есть своя радость в том, чтобы все действия прописывать руками.
[13:09:16] <michael_ul> Хотя отсутствие деструкторов иногда раздражает )
[13:09:44] <nis> в том то и вопрос, что рано или поздно любая программа перерастает возможности этого языка
[13:10:00] <nis> и получается монстр о работе которого не знает даже автор
[13:10:11] <nis> типичный пример - все проекты из мира опенсорц
[13:10:21] <nis> и любой другой продакшн код
[13:11:00] <nis> я тоже люблю С, но его применение дальше 1000 строк это ужас, боль, и велосипеды
[13:11:13] <michael_ul> Про перерастание возможностей - согласен. Так я сразу и сказал, c - для мелочёвки.
[13:11:28] <nis> хорошо 5000 строк
[13:11:40] <nis> но 1.5 млн это уже явно не его уровень
[13:11:59] <nis> ну да
[13:12:02] <nis> мелочь а приятно
[13:12:23] <michael_ul> Потому что потом начинается самопроизвольное превращение его в c++
[13:12:51] <nis> michael_ul: а С++ превращается в лисп или другой функциональный язык после 500к строк
[13:13:33] <nis> когда тебе хочется меты, интроспекции и вообще хорошо бы было чтобы объект сам знал что я от него хочу
[13:14:40] <michael_ul> Угу, и появляются god-object'ы от такого
[13:16:43] <nis> и широкие интерфейсы размером с целую библиотеку
[13:17:09] <nis> либо смотрящие в себя объекты
[13:17:13] <nis> что ещё ужасней
[13:17:23] <nis> GTK, Qt и иже с ними
[13:18:21] <michael_ul> Метапрограммирование увлекательно, затягивает, но потом иной раз оглядываешься и приходишь в ужас от того, что наворотил. И думаешь, что на с эту же задачу было бы решить проще )
[13:51:38] rea вошёл(а) в комнату
[13:58:19] <nis> ну как сказать, когда тебе нужно разложить всё по полочкам, не перепутав полочки и их размер, то на С эта задача становиться отнють не такой уж и тривиальной
[14:27:06] <nis> michael_ul: как не смешно звучит но написание прямо под железо показывает что подход "написать на С" не работает от слова вообще
[14:28:08] <michael_ul> Это под какое железо?
[14:28:43] <nis> это под обычное
[14:28:53] <nis> которое микроконтроллеры
[14:29:44] <nis> когда у тебя из шести регистров 4 стоят рядом, а 5ый и 6ой мало того что разнесены от первых четырёх так ещё и между собой
[14:29:50] <michael_ul> И почему не работает? Я с микроконтроллерами дела не имел
[14:30:02] <nis> и у тебя такая портянка кода
[14:30:31] <nis> которая на С++ даже не 11го стандарта заменяется на очень короткую последовательность
[14:31:39] <nis> там беда как и в любом железе - интерфейс делают удобным для использования и стоимости итогового железа - а для софта пируэты и магия
[14:32:43] <michael_ul> То есть прямая работа с регистрами загоняется в плюсовые классы?
[14:34:28] <nis> скорее не так - адресная арифметика и битовые операции загоняются во время компиляции, а на выходе мы имеем уже компактные и непрерывные структуры которые даже из С удобно использовать
[14:37:10] <michael_ul> Вообще в шаблоны, что ли? А можешь какой-нибудь короткий пример показать?
[14:38:05] <nis> по факту да
[14:39:20] <nis> michael_ul: использования или реализации?
[14:40:11] <michael_ul> И то, и то. А хлеба можно совсем не давать
[14:42:17] <nis> реализацию прям в отрыве не нашёл, чтобы одним примером
[14:42:37] <nis> michael_ul: а использование
[14:43:27] <nis> michael_ul: https://godbolt.org/g/P953ij - общий принцип как это работает
[14:49:57] <michael_ul> С bits туплю, использование будет выглядеть как bits<int,bit<0>,bit<1> >?
[14:51:12] <nis> да
[14:55:07] <michael_ul> Угу, понятен принцип. Число формируется на этапе компиляции из отдельных битов, запись в регистр по тому же принципу идёт.
[14:55:23] <nis> ага
[14:55:49] <michael_ul> reg<unsigned int, base_address + 0x0> - зачем 0 добавляется?
[14:56:00] <nis> тут для однотипности
[14:56:57] <nis> по сути все базовые типы у меня сейчас генерирует питон из xml который предоставил производитель чипа
[14:57:20] <michael_ul> Не понял, у тебя ж unsigned long и в reg, и в block?
[14:58:18] <nis> да
[14:58:21] <nis> пока так
[15:00:17] <michael_ul> А может быть по другому? И там адрес, и там адрес
[15:00:26] <nis> да
[15:00:38] <nis> блок объединяет в себя набор регистров
[15:01:20] <nis> у блока свой оффсет от начала, у регистров внутри блока свой
[15:01:37] <nis> регистры могут быть синонимами друг друга
[15:02:04] <nis> в реальном коде там addr_t - адресный тип
[15:02:39] <michael_ul> Но тут блок только адресом параметризуется, ни числа регистров, ни смещения нет. Или ты просто упростил эту часть для примера?
[15:03:21] <nis> по факту да
[15:03:28] <nis> тут очень прос
[15:03:43] <nis> задача этого кода проверить концепцию
[15:04:37] <michael_ul> Не спорю, изящно. Но, как я понимаю, вся эта метамагия имеет смысл, когда в шаблонах прошита привязка к архитектуре?
[15:05:00] <nis> да
[15:05:17] <nis> поэтому как я говорил это весь код генерируется по манифесту
[15:06:07] <michael_ul> А уже в рабочем коде ты обращаешься к некоторым именованым регистрам, читая/записывая конкретные биты?
[15:06:19] <nis> да
[15:06:27] <nis> причём это на низком уровне
[15:06:40] <michael_ul> Да, безусловно
[15:06:59] <nis> а на высоком оно вообще выглядит вот так: hal::rcc::device_enable<hal::rcc_device::gpioben>();
[15:07:34] <michael_ul> На c городятся шаблоны в таком случае
[15:08:01] <nis> и ты потом ищешь кусок кода где у тебя ошибка)))
[15:08:22] <nis> спасибо я в хроме с макросами рпц навоевался
[15:08:37] <michael_ul> Угу. И возможностей у них меньше.
[15:08:49] <nis> ага
[15:08:59] <nis> в итоге всё равно идёт месиво кода
[15:09:35] <michael_ul> Спасибо, что объяснил, как и почему используются плюсы для низкоуровневых задач )
[15:09:35] <nis> а из-за отсутсвия самовызова, она же рекурсия имеем кучу однородных макросов
[15:09:45] <nis> michael_ul: да не за что
[15:10:01] <nis> если не лень будет то через пол года будет реальная библиотека
[16:24:59] <nis> 0xd34df00d: в кьют креатор завезли С++17))
[16:38:08] 0xd34df00d вошёл(а) в комнату
[16:46:59] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[16:52:50] 0xd34df00d вошёл(а) в комнату
[17:02:38] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:02:48] 0xd34df00d вошёл(а) в комнату
[17:03:03] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:12:50] 0xd34df00d вошёл(а) в комнату
[17:15:18] rea вышел(а) из комнаты: Вышел из Vacuum-IM
[17:22:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:22:49] 0xd34df00d вошёл(а) в комнату
[17:32:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:32:49] 0xd34df00d вошёл(а) в комнату
[17:35:47] medvedko вошёл(а) в комнату
[17:42:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:42:49] 0xd34df00d вошёл(а) в комнату
[17:50:20] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[17:52:51] 0xd34df00d вошёл(а) в комнату
[17:59:59] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[18:00:09] 0xd34df00d вошёл(а) в комнату
[18:01:51] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[18:02:01] 0xd34df00d вошёл(а) в комнату
[18:15:15] medvedko вышел(а) из комнаты
[18:15:25] medvedko вошёл(а) в комнату
[18:15:56] nis вышел(а) из комнаты
[18:46:04] rea вошёл(а) в комнату
[18:50:13] rea вышел(а) из комнаты
[19:30:02] <0xd34df00d> michael_ul: но ведь чистый С не нужен.
[19:30:13] <0xd34df00d> Непонятно, правда, в чём именно прелесть сишечки.
[19:48:24] nis вошёл(а) в комнату
[19:55:00] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:02:52] 0xd34df00d вошёл(а) в комнату
[20:06:29] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:12:51] 0xd34df00d вошёл(а) в комнату
[20:17:32] <nis> 0xd34df00d: а в чём прелесть 8ми битных мк с истинно гарвардской архитектрурой или ZX-spectrum?
[20:18:00] <nis> 0xd34df00d: нету в тебе ностальгии и тёпло-ламповых ощущений
[20:19:02] <0xd34df00d> Ну, я периодически хочу написать что-нибудь под attiny какое.
[20:19:04] <0xd34df00d> Но нечего :(
[20:19:44] <nis> 0xd34df00d: нафиг тебе attiny
[20:19:54] <0xd34df00d> У меня от него ностальгия.
[20:20:02] <0xd34df00d> Я на нём 10 лет назад на плюсах систему управления лазерами делал.
[20:20:08] <nis> хех
[20:20:10] <0xd34df00d> Тёплую и ламповую почти что.
[20:20:14] <nis> )))
[20:20:20] <0xd34df00d> В лабе в одном из институтов РАН.
[20:20:21] <nis> видел я те лампы
[20:20:23] <0xd34df00d> Хорошее время было.
[20:20:42] <nis> они в рентгеновском спектре весьма некисло светят
[20:21:12] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:21:22] 0xd34df00d вошёл(а) в комнату
[20:21:33] <nis> 0xd34df00d: возьми stm32 борду, запихай туда кальмана и стебись над товарищами с форума радиоуправляемых моделей
[20:22:09] <0xd34df00d> crossdev, avrdude, эх.
[20:22:27] <nis> это да
[20:22:40] <0xd34df00d> Самопайный программатор на LPT-порту.
[20:22:42] <nis> но мне авр осточертел тем что у него память негомогенная
[20:22:46] <0xd34df00d> Который прикидывался STK200, кажется.
[20:23:01] <nis> 0xd34df00d: я таким программатором тогда себе комп ребутнул во время обновления генты
[20:23:10] <nis> потом сваял подобный на усб
[20:23:12] <nis> из авр
[20:23:30] 0xd34df00d вчера выяснил, что не зря качал раздачу Math Collection с рутрекера.
[20:23:38] <0xd34df00d> Гуглил книгу, гуглил, а потом там проверил, а она там и нашлась.
[20:23:49] <nis> 0xd34df00d: https://nis-embedded.blogspot.com.by/2011/12/usbasp.html
[20:24:07] <nis> 0xd34df00d: а что за коллекция, можно ссылочку?
[20:24:20] <0xd34df00d> https://rutracker.org/forum/viewtopic.php?t=2829301
[20:24:33] <0xd34df00d> Там даже оригинальные Начала Евклида есть.
[20:24:36] <0xd34df00d> С переводом на английский.
[20:24:42] <0xd34df00d> И книга по аксиоме выбора, которую я вчера искал, kek.
[20:25:01] <nis> ооо
[20:25:50] <nis> 0xd34df00d: как тебе программатор из куска компакт-диска?
[20:27:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:28:19] Anarchist вошёл(а) в комнату
[20:30:13] <nis> а потом пришли стм32 и мне стало не интересно развлекаться с допилом и дебагом вдумчивым мыслём
[20:30:27] medvedko вышел(а) из комнаты
[20:32:50] 0xd34df00d вошёл(а) в комнату
[20:33:04] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:36:28] 0xd34df00d вошёл(а) в комнату
[20:41:29] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:42:50] 0xd34df00d вошёл(а) в комнату
[20:47:45] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:52:50] 0xd34df00d вошёл(а) в комнату
[20:56:11] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[20:56:21] 0xd34df00d вошёл(а) в комнату
[21:00:34] racc вошёл(а) в комнату
[21:12:41] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:12:51] 0xd34df00d вошёл(а) в комнату
[21:17:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:22:53] 0xd34df00d вошёл(а) в комнату
[21:23:45] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:32:51] 0xd34df00d вошёл(а) в комнату
[21:33:57] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:42:51] 0xd34df00d вошёл(а) в комнату
[21:43:48] Anarchist вышел(а) из комнаты
[21:47:39] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:52:50] 0xd34df00d вошёл(а) в комнату
[21:53:04] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:02:50] 0xd34df00d вошёл(а) в комнату
[22:04:08] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:07:47] 0xd34df00d вошёл(а) в комнату
[22:18:14] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:22:51] 0xd34df00d вошёл(а) в комнату
[22:29:04] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:32:51] 0xd34df00d вошёл(а) в комнату
[22:41:00] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:42:50] 0xd34df00d вошёл(а) в комнату
[22:47:45] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:52:51] 0xd34df00d вошёл(а) в комнату
[22:58:07] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:02:51] 0xd34df00d вошёл(а) в комнату
[23:09:59] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:12:51] 0xd34df00d вошёл(а) в комнату
[23:15:22] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:15:32] 0xd34df00d вошёл(а) в комнату
[23:21:04] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:21:38] 0xd34df00d вошёл(а) в комнату
[23:26:36] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:32:51] 0xd34df00d вошёл(а) в комнату
[23:47:46] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:52:51] 0xd34df00d вошёл(а) в комнату
[23:58:14] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:59:14] 0xd34df00d вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!