Home
Обсуждение программирования на любых платформах
codingteam@conference.jabber.ru
Воскресенье, 3 февраля 2019< ^ >
m4n71k0r установил(а) тему: C, C#, C++, Clojure, Cobol, Common Lisp, D, Erlang, F#, Go, Groovy, Haskell, Java, JavaScript, Kotlin, MATLAB, OCaml, PowerShell, Python, R, Racket, Refal, Ruby, Rust, Scala, Scheme, TypeScript
Telegram channel: https://t.me/codingteam
HQ, логи: https://codingteam.org.ru/
Код постить сюда: http://lpaste.net/
Юным погромцам сюда: http://e-maxx.ru/algo/ , а ещё читать Кнутца, Корменца, Седжвикца и др.
Let's Dev (когда Капитан на мостике): http://www.youtube.com/playlist?list=PLK6mcZkmN4QTusFvp_0GVtscQbCiIg81Y
Tsoding: https://tsoding.github.io/schedule.html
http://i.imgur.com/slnyI6a.jpg
Упоминания о Flash, PHP, Pascal/Delphi/Borland, Basic, 1С караются съедением поциента.
Конфигурация комнаты
Участники комнаты

GMT+3
[00:20:36] unclechu вошёл(а) в комнату
[00:26:25] <tg> <@Devel29A> >> <the_RAMZAY> Жаба задушила по самые гланды ))
Гланды можно и отрезать
[00:26:45] unclechu вышел(а) из комнаты
[00:47:36] Minoru вышел(а) из комнаты
[01:01:09] <tg> <@ingvarjackal> >> <the_RAMZAY> У меня удивление вызвало, когда дельфисту выдали макбук про 15’’ в топовой комплектации ДЛЯ РАБОТЫ.
>> И я задумался... А правильный ли я сделал выбор в сторону дотнета? )))
надо было выбирать джаву
[01:31:44] <tg> <@the_RAMZAY> >> <ingvarjackal> надо было выбирать джаву
Джава страшненькая.
[01:32:07] <tg> <@Devel29A> Пффф
[01:32:10] <tg> <@sarakerrigan> >> <the_RAMZAY> Джава страшненькая.
зато дают хорошее железо
[01:32:17] <tg> <@Devel29A> 1С страшно
[01:32:21] <tg> <@Devel29A> Или похапэ
[01:32:26] <tg> <@Devel29A> Остальное еще норм
[01:32:28] <tg> <@the_RAMZAY> На фоне С# очень скудна на плюшки.
[01:32:39] <tg> <@the_RAMZAY> >> <sarakerrigan> зато дают хорошее железо
Угу, тоже верно.
[01:32:52] <tg> <@the_RAMZAY> Kotlin огонь
[01:33:49] <tg> <@the_RAMZAY> Но вроде я слышал в интерпрайзе не спешат Котлин юзать.
[01:34:38] <tg> <@Devel29A> Там и с плюсами все плохо
[01:35:00] <tg> <@the_RAMZAY> Я сейчас пет проект начал с другом делать. Решил заниматься только фронтедом.
[01:35:11] <tg> <@the_RAMZAY> Пишу на TypeScript
[01:35:37] <tg> <@the_RAMZAY> Вроде даже норм.
[01:36:18] <tg> <@ingvarjackal> >> <the_RAMZAY> На фоне С# очень скудна на плюшки.
yвот и наслаждайся своими плюшками :)
[01:36:20] <tg> <@ingvarjackal> ч0 ты ноешь
[01:36:41] <tg> <@the_RAMZAY> 2.5 года до не притрагивался к фронтенду )
[01:37:12] <tg> <@the_RAMZAY> >> <ingvarjackal> yвот и наслаждайся своими плюшками :)
Дак если бы проекты на .net core были ))
[01:37:27] <tg> <@ingvarjackal> >> <the_RAMZAY> Дак если бы проекты на .net core были ))
не ной
[01:38:02] <tg> <@the_RAMZAY> Это как ситуация с Котлином. Хипстеры пишут на коре, а интерпрайз на .net framework)
[01:38:33] <tg> <@Devel29A> >> <ingvarjackal> не ной
https://youtu.be/00FDR1E0zvE
[01:39:02] <tg> <@ingvarjackal> >> <Devel29A> https://youtu.be/00FDR1E0zvE
с первых слов захотелось уебать :)
[01:39:42] <tg> <@Devel29A> >> <ingvarjackal> с первых слов захотелось уебать :)
Смотри до конца:)
[01:39:58] <tg> <@ingvarjackal> да и так всё понятно (:
[07:06:48] uggur вышел(а) из комнаты: Replaced by new connection
[07:06:49] uggur вошёл(а) в комнату
[07:42:14] <tg> <@fvnever> >> <sarakerrigan> зато дают хорошее железо
У нас плюсоводам самое хорошее железо дают, например.
[08:30:03] unclechu вошёл(а) в комнату
[08:53:35] portnov вошёл(а) в комнату
[09:48:56] <tg> <@Devel29A> >> <fvnever> У нас плюсоводам самое хорошее железо дают, например.
Да, у нас дают топовые зионы (или почти) с трехзначным числом рамы
[10:12:56] <portnov> omfg
[10:13:05] <portnov> а потом говорят жава много жрёт
[10:13:23] <portnov> у нас простенькие 8-ядерные i7 с 32 гигами...
[10:13:28] <portnov> :)
[10:26:59] <tg> <@deadalivee> you or in office?
[10:28:22] <portnov> in office.
[10:29:06] <tg> <@deadalivee> and what they going to run on that?
[10:30:19] <portnov> it's more or less enough to run 2 instances of IDE (for 2 development branches, for example), and our application client + server
[10:31:33] <tg> <@deadalivee> i think you can run more
[10:31:48] <portnov> during compilation the most precious resource is disk IO, so it's good to have fast SSD and a lot of RAM for disk cache
[10:32:08] <tg> <@deadalivee> yes
[10:32:40] <tg> <@deadalivee> i have fx 8350 with 16gigs, i can run everything at once, with two games
[10:33:32] <portnov> IDE eats about 5-6 gigabytes, 2x = 10-12, server about 3 gigabytes and client about 2 = about 17 gigs in total
[10:33:45] <portnov> not to mention browser or office application
[10:34:52] <tg> <@deadalivee> [Photo]
[10:34:54] <portnov> so only ~15 gigs for disk cache, it's not so much when svn checkout is > 1gb...
[10:35:37] <tg> <@deadalivee> i am running, steam, discord, VS, mozilla, edge, notepad
[10:35:54] <portnov> @Devel29A you serious about > 100 gb ram? what you doing with it? :)
[10:36:57] <portnov> i know one application: digging through heapdumps from production (.hprof files about 5 gigs and more)
[10:37:38] <portnov> MAT and visualvm both like RAM
[10:50:11] <tg> <@ttldtor> >> <Devel29A> https://youtu.be/00FDR1E0zvE
Эти миллениалы как-то невнятно говорят.
[10:53:18] <tg> <@Devel29A> >> <portnov> @Devel29A you serious about > 100 gb ram? what you doing with it? :)
Yes, I'm.
[10:53:40] <tg> <@Devel29A> Mostly I run HPC like stuff
[10:55:39] <tg> <@Devel29A> And of course 'make -j90 '
[10:56:56] <tg> <@deadalivee> what is j90?
[10:57:33] <tg> <@Devel29A> It's thread count
[10:58:30] <tg> <@Devel29A> The machine I boocked has Skylake CPU on board with 88 logical cores
[10:58:49] <tg> <@deadalivee> wtf
[10:58:53] <tg> <@Devel29A> and ~190GB RAM
[10:59:11] <tg> <@deadalivee> never tell those to indians, they can have heart attack
[10:59:13] <tg> <@Devel29A> It's Xeon :D
[11:00:10] <tg> <@Devel29A> Actually profiling takes a lot of time and resources
[11:00:34] <tg> <@Devel29A> That's why we need such high performance stuff
[11:00:54] <tg> <@deadalivee> and what apps you run? for example?
[11:01:22] <tg> <@Devel29A> Let me recall...
[11:01:42] <tg> <@Devel29A> LCALS
[11:01:53] <tg> <@Devel29A> https://computation.llnl.gov/projects/co-design/lcals
[11:02:02] <tg> <@Devel29A> And something along those lines
[11:02:53] <tg> <@deadalivee> out of my box
[11:14:26] <tg> <@Devel29A> DLMESO
[11:14:40] <tg> <@Devel29A> https://www.ace-net.ca/wiki/DL_MESO
[11:16:10] <tg> <@deadalivee> i am noob for these things
[11:29:40] Aman вошёл(а) в комнату
[11:33:08] unclechu вышел(а) из комнаты
[11:33:49] <tg> <@Devel29A> Basically these apps simple crunch numbers
[11:34:48] <tg> <@Devel29A> ...a lot of operations. Some of them take hours to complete
[11:35:36] <tg> <@Devel29A> even on machines with high computation capacity
[11:35:39] <tg> <@deadalivee> ahh
[11:35:47] <tg> <@deadalivee> and what is the use of it?
[11:36:23] Aman вышел(а) из комнаты
[11:36:42] Aman вошёл(а) в комнату
[11:39:21] <tg> <@Devel29A> Mostly simulation in labs
[11:40:30] <tg> <@Devel29A> We use such apps to test our profiling tools
[11:42:01] <tg> <@deadalivee> aha nice
[12:27:06] uıʃɐɟ∀ вышел(а) из комнаты: Replaced by new connection
[12:27:18] uıʃɐɟ∀ вошёл(а) в комнату
[12:48:30] unclechu вошёл(а) в комнату
[12:51:14] <tg> <@ttldtor> [Sticker 😍]
[12:52:00] <tg> <@ttldtor> А что, шарп не умеет в многопоточную сборку?
[12:53:13] <tg> <@ttldtor> Я только -j24 тыкал за свою жизнь
[12:53:20] <tg> <@ttldtor> Эххх
[12:56:12] <tg> <@fvnever> >> <ttldtor> А что, шарп не умеет в многопоточную сборку?
А gcc умеет?
[12:57:08] <tg> <@fvnever> Вообще, некоторые этапы компиляции могут выполняться параллельно. Но, как правило, просто оркеструют сборку разных DLL снаружи (через msbuild или что-то ещё).
[13:01:09] <tg> <@Devel29A> >> <fvnever> А gcc умеет?
gcc вообще не умеет в сборку. Этим уже binutils занимается
[13:01:25] <tg> <@fvnever> >> <Devel29A> gcc вообще не умеет в сборку. Этим уже binutils занимается
Ну вот и шарп не умеет в сборку. Я на это и намекал :)
[13:01:28] <tg> <@ttldtor> Я неправильно задал вопрос
[13:01:39] <tg> <@ttldtor> Но можно придираться
[13:01:48] <tg> <@fvnever> Ну я постарался ответить так, чтоб не придираться.
[13:02:36] <tg> <@ttldtor> До msbuild как параллельно собирали шарпопроекты?
[13:02:50] <tg> <@ttldtor> Аналог -m был?
[13:02:53] <tg> <@fvnever> >> <ttldtor> До msbuild как параллельно собирали шарпопроекты?
Ээ, msbuild появился раньше, чем нужда в сборке шарпопроектов.
[13:03:07] <tg> <@ttldtor> Странно
[13:03:25] <tg> <@ttldtor> Помню шарп, но мсбилд не помню
[13:03:29] <tg> <@ttldtor> Ок
[13:03:39] <tg> <@fvnever> А, нет, я неправ, говорят, что он появился только в 2.0
[13:03:46] <tg> <@fvnever> Ну значит до этого студия собирала.
[13:04:04] codenull вышел(а) из комнаты
[13:05:04] <tg> <@fvnever> https://blog.lextudio.com/the-rough-history-of-msbuild-cc72a217fa98
> When Microsoft designed .NET Framework 1.0 around year 2000, nobody thought about a command line build system as modern as what we are familiar with today. You might use devenv.exe to build a project, but the customization can be quite difficult, and the project file format was strange either.
[13:17:01] <tg> <@ttldtor> Могли использовать что-то готовое, но поступили как обычно)
[13:19:04] <tg> <@fvnever> А там же написано. Пытались портировать ant, но получалась фигня (собственно, такая же, как изначальный ant).
[13:21:34] <tg> <@ttldtor> Да, ант - это просто чуть другой make.
[13:47:13] unclechu вышел(а) из комнаты
[13:57:43] <Aman> @fvnever you still supporting WPF?
[13:57:55] <tg> <@fvnever> >> <Aman> @fvnever you still supporting WPF?
Yas.
[13:58:44] <Aman> why not advice people to use wpf
[14:09:41] <tg> <@fvnever> >> <Aman> why not advice people to use wpf
What people?
[14:10:57] <Aman> hacklex
[14:11:04] <Aman> he is remaking some game in wpf
[14:11:55] <tg> <@fvnever> And what's the issue? I didn't advice him anything. He's a grown man and better know what to do.
[14:15:02] <Aman> ahh ok
[14:45:43] O01eg вышел(а) из комнаты: Replaced by new connection
[14:45:44] O01eg вошёл(а) в комнату
[14:57:36] <tg> <@ttldtor> Я очень мало знаю взрослых людей. Ну, таких, кто действительно знают, что делают. Большинство выступает субъектом действия.
[15:20:31] Minoru вошёл(а) в комнату
[15:24:10] <Minoru> утро!
[15:27:29] <tg> <@ttldtor> !
[15:42:59] O01eg вышел(а) из комнаты
[15:51:11] m4n71k0r вошёл(а) в комнату
[15:58:24] <tg> <@noktoborus> Чем обезвредить двухкомпанентную эпоксидку?
[15:58:27] <tg> <@noktoborus> В волочы попала
[15:59:23] <tg> <@no111u3> >> <noktoborus> Чем обезвредить двухкомпанентную эпоксидку?
к сожалению по отношению к волосам такого нет
[16:00:01] <tg> <@fvnever> Это же Минору!
[16:01:10] <tg> <@noktoborus> Залил спирт в волосы
[16:01:16] <tg> <@noktoborus> Не помогло
[16:01:26] <tg> <@noktoborus> Теперь подозрительно пахну
[16:01:48] <m4n71k0r> ХАХАХААХАХА
[16:02:01] <m4n71k0r> брейся налысо)
[16:03:58] <tg> <@no111u3> так это ему и поможет только
[16:04:08] <tg> <@no111u3> кератин растворится быстрей чем эпоксидка
[16:10:31] Aman вышел(а) из комнаты
[16:19:47] <portnov> так
[16:20:04] <portnov> а как сделать кэш, который можно эффективно использовать в несколько потоков?
[16:20:41] <portnov> предположим у нас есть мутабельная хэш-мапа
[16:21:06] <portnov> и мы хотим делать по ней лукапы и инсерты во много потоков
[16:21:29] <portnov> очевидно, если не делать локов, то сломаешь внутренние структуры мапы и всё сломается
[16:22:01] <portnov> если сделать один большой лок, то прощай многопоточность...
[16:22:53] <Minoru> rwlock на неё тогда, чтобы хотя бы чтения друг другу не мешали
[16:23:58] <Minoru> либо внутри мапы заюзать STM, чтобы можно было разные buckets параллельно менять
[16:24:32] <portnov> да, походу надо какую-то тредсейфную структуру городить...
[16:27:29] <portnov> http://hackage.haskell.org/package/stm-containers-0.2.10/docs/STMContainers-Map.html
[16:39:55] <tg> <@fvnever> >> <portnov> если сделать один большой лок, то прощай многопоточность...
Обычно делают несколько небольших сегментов, и на каждый — отдельный лок.
[16:40:27] <portnov> ну тогда надо внешнюю структуру делать тред-сейфной
[16:40:50] <portnov> например, если у тебя список бакетов, то конечно очевидно, что можно сделать по локу на бакет
[16:40:58] <portnov> но, что делать при добавлении нового бакета?
[16:41:03] <tg> <@fvnever> А ты не добавляй.
[16:41:13] <tg> <@fvnever> Сделай сразу все бакеты и всё
[16:41:25] <m4n71k0r> прикольно, где-то ещё нет готовых кэшей
[16:41:37] <tg> <@fvnever> А где-то есть готовые?
[16:41:42] <m4n71k0r> в ДЖАВЕ!
[16:41:48] <m4n71k0r> =)
[16:41:50] <tg> <@fvnever> Сколько себя помню, всегда надо костылять своё.
[16:41:54] <portnov> m4n71k0r: в программировании только две сложные проблемы же
[16:42:18] <portnov> именование переменных, инвалидация кэшей и проблема плюс-минус-один
[16:52:17] O01eg вошёл(а) в комнату
[16:58:57] Птичка:D вышел(а) из комнаты
[18:41:30] <tg> <@ttldtor> >> <Devel29A> gcc вообще не умеет в сборку. Этим уже binutils занимается
не нашёл я сборщика в бинутилзах) Ты меня обманул)))
[18:44:52] <tg> <@Devel29A> >> <ttldtor> не нашёл я сборщика в бинутилзах) Ты меня обманул)))
Куда же он сбежал?
[18:45:33] <tg> <@ttldtor> а он был?
https://sourceware.org/binutils/
[18:48:08] <tg> <@Devel29A> Хм. Я готов был поклясться, что видел его между линкером и стрипом.....
[18:49:20] <tg> <@ttldtor> ну хз, пишут, что отдельно оно
[18:49:39] <portnov> кого именно?
[18:49:45] <portnov> мейк?
[18:50:39] <tg> <@ttldtor> да
[18:50:53] <portnov> ну он совсем отдельно, да
[18:55:04] <tg> <@Devel29A> А может это била мингва...
[18:55:09] <tg> <@Devel29A> Там же все в кучу
[19:00:38] <tg> <@ttldtor> https://i.imgur.com/HEpXH44.png
[19:00:58] <tg> <@ttldtor> кхм https://nplus1.ru/material/2019/02/03/choose-your-destiny
[19:02:30] <tg> <@fvnever> > Ваш язык — Java
Ха-ха :)
[19:03:43] <tg> <@winged_pegasus> [Photo]
[19:03:45] <tg> <@winged_pegasus> Ну ёпрст
[19:03:47] <tg> <@gsomix> > Ваш язык — JavaScript
[19:03:54] <tg> <@fvnever> [Sticker ✨]
[19:03:56] <tg> <@winged_pegasus> >> <gsomix> > Ваш язык — JavaScript
Привет, ваш язык Гсомикс
[19:04:14] <tg> <@gsomix> [Sticker 🦈]
[19:04:43] <tg> <@gsomix> Они еще и онлайн курс по JS предлагают.
[19:04:49] <tg> <@gsomix> Издеваются.
[19:05:44] <tg> <@Devel29A> >> <ttldtor> https://i.imgur.com/HEpXH44.png
Мне тоже C# предлагает
[19:07:13] <tg> <@fvnever> Ну на самом деле этот их опросник что-то знает. Я действительно собирался поковырять JDK на следующей неделе.
[19:07:46] <Minoru> и мне C# предлагают
[19:07:53] <tg> <@ttldtor> а я в твиче шарпера смотрел(
[19:08:15] <Minoru> а я не знаю, чем провинился
[19:08:21] <tg> <@fvnever> Никому не предлагают их родной язык, заметьте. Наверное, это фича?
[19:09:46] <tg> <@gsomix> >> <fvnever> Никому не предлагают их родной язык, заметьте. Наверное, это фича?
Я думаю, моего родного там не было.
[19:09:50] <tg> <@fvnever> А, Минору, ты видал, я тебе писал ответ про винапи?
[19:09:58] <tg> <@fvnever> >> <gsomix> Я думаю, моего родного там не было.
А какой у тебя родной?
[19:10:01] <tg> <@winged_pegasus> >> <gsomix> Я думаю, моего родного там не было.
Фортрана?
[19:10:06] <tg> <@gsomix> >> <fvnever> А какой у тебя родной?
MATLAB.
[19:10:12] <tg> <@gsomix> [Sticker 🐧]
[19:10:22] <tg> <@fvnever> Я, кстати, и не знаю даже, как понять, какой у меня язык теперь «родной»…
[19:10:33] <tg> <@fvnever> Кажется, больше всего я на работе пишу на Kotlin ._.
[19:12:38] <Minoru> @fvnever: не видел. Пойду найду в логах; спасибо!
[19:15:42] <Minoru> @fvnever: > И, нет, «обходы ФС» делаются не через виджет, если я тебя правильно понял. Они делаются как везде — кодом без всякого гуя.
Ну, я так понял, что в WinAPI попросту нет другого способа получить листинг директории, кроме как с помощью этого listbox. Поэтому все обходы ФС будут его использовать, пусть даже он нигде не отображается на самом деле
[19:16:10] <tg> <@fvnever> Или я тебя не понял, или ты понял очень странно и неправильно.
[19:16:47] <tg> <@fvnever> Обойти ФС можно с помощью обычного людского кода, не нужно для этого создавать никаких гуйных виджетов.
[19:17:03] <tg> <@fvnever> Пусть и невидимых :)
[19:18:15] <Minoru> ну вот есть у меня путь "C:\", как мне получить список файлов и каталогов по этому пути? Я вот в старом приложении увидел: 1) создаётся выключенный LISTBOX; 2) ему отправляется сообщение LB_DIRS; 3) из него вычитывается список файлов и директорий. Видимо, другого способа получить список нет?
[19:18:28] <tg> <@fvnever> Это какой-то ужас!
[19:19:29] <tg> <@fvnever> На самом деле можно перечислять список файлов через FindFirstFile / FindNextFile, например.
[19:20:31] <Minoru> хм, что-то такое я в том коде тоже видел, но посчитал, что это какое-то внутрнее API самого приложения. Нужно будет вчитаться повнимательней, спасибо
[19:23:22] <Minoru> API у TaskDialog-а действительно выглядит гораздо компактнее и более вменяемо, чем у List Box-а
[19:25:19] OKTAVIUS вошёл(а) в комнату
[19:28:35] OKTAVIUS вышел(а) из комнаты: Скоро буду.
[19:28:40] OKTAVIUS вошёл(а) в комнату
[19:29:41] OKTAVIUS вышел(а) из комнаты
[19:30:21] uggur вышел(а) из комнаты: Replaced by new connection
[19:30:23] uggur вошёл(а) в комнату
[19:39:30] <tg> <@ingvarjackal> >> <fvnever> Сколько себя помню, всегда надо костылять своё.
guava
[19:40:13] <tg> <@ingvarjackal> >> <winged_pegasus> Ну ёпрст
xD
[19:40:56] <Minoru> @ingvarjackal: а что у него там на фоточке?
[19:41:08] <tg> <@ingvarjackal> ваш язык -- java :D
[19:45:31] <tg> <@ingvarjackal> >> <fvnever> Ну на самом деле этот их опросник что-то знает. Я действительно собирался поковырять JDK на следующей неделе.
https://imgs.xkcd.com/comics/psychic.png
[19:55:58] <tg> <@ttldtor> на самом деле не 1%
[19:56:10] <tg> <@ttldtor> у людей есть чёртовы любимые цифры
[19:58:40] <tg> <@ttldtor> это мне Копперфилд сказал)
[20:03:11] <tg> <@ingvarjackal> какая твоя любимая цифра до 100?
[20:03:26] <tg> <@ingvarjackal> число
[20:03:29] <tg> <@ingvarjackal> натуральное
[20:11:54] uıʃɐɟ∀ вышел(а) из комнаты
[20:12:10] uıʃɐɟ∀ вошёл(а) в комнату
[20:25:14] unclechu вошёл(а) в комнату
[20:27:17] <tg> <@ttldtor> я кавычки забыл. Просто утверждалось, что люди чаще называю, например: 1, 3, 7
[20:28:11] <tg> <@ttldtor> Хотя, вот у китайцев 8 считается счастливым)
[20:28:18] <tg> <@ttldtor> варпово отродье
[21:12:40] <tg> <@noktoborus> [Photo]
[21:12:43] <tg> <@noktoborus> Порезался :(
[21:13:17] <portnov> эпоксидкой заклей...
[21:19:23] unclechu вошёл(а) в комнату
[22:15:25] <tg> <@Devel29A> >> <ttldtor> варпово отродье
Лицемерные ублюдки! Алфавит свой в аски не впихнули!
[22:18:06] uggur вышел(а) из комнаты: Replaced by new connection
[22:18:07] uggur вошёл(а) в комнату
[22:33:15] portnov вышел(а) из комнаты
[23:32:53] Minoru вышел(а) из комнаты
[23:48:18] m4n71k0r вышел(а) из комнаты
[23:51:35] <tg> <@the_RAMZAY> >> <fvnever> https://blog.lextudio.com/the-rough-history-of-msbuild-cc72a217fa98
>>
>> > When Microsoft designed .NET Framework 1.0 around year 2000, nobody thought about a command line build system as modern as what we are familiar with today. You might use devenv.exe to build a project, but the customization can be quite difficult, and the project file format was strange either.
Воу
[23:55:04] nightmare вошёл(а) в комнату
[23:55:30] nightmare вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
Powered by ejabberd - robust, scalable and extensible XMPP server Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!