Home
codingteam
codingteam@conference.jabber.ru
23.08.2014< ^ >

Тема: Тема: C, С++, D, Java, C#, Haskell, Python, Ruby, Scheme, Common Lisp, Erlang, OCaml, JavaScript, Clojure, Scala, Nemerle, F#, Groovy, R, Rust.
http://i.imgur.com/oQL4t.jpg
Код выкладывать на http://hastebin.com/
Вопросы задавать в чат, а не в личку.
Наша организация на гитхабе: https://github.com/codingteam
Организация в Trello: https://trello.com/codingteam
Команда в битбукете: https://bitbucket.org/codingteam
Логи: http://tinyurl.com/ctcjr-logs
Упоминания о Flash, PHP, Pascal/Delphi/Borland, Basic, 1С караются съедением поциента.
Личкрафты: http://leechcraft.org
Horta Hell: https://github.com/codingteam/horta-hell | http://paste.org.ru/?oeqcga
Рисовалка: https://bitbucket.org/derptech/palette-swap/
Проблем решено: 0x17
[00:00:16] <Ender> подскажите мнееее
[00:00:21] <Ender> файлообменник
[00:00:31] <uggur> rghost
[00:00:41] <Ender> ru?
[00:00:45] <uggur> Да
[00:00:50] <uggur> Наверное х)
[00:02:41] <Ender> uggur, на, программируй
[00:02:43] <Ender> http://rghost.ru/57618358
[00:02:51] <Ender> и альбатросу дай
[00:02:55] <Ender> пусть тоже попрограммирует
[00:02:57] <uggur> rar?
[00:03:03] <uggur> Ну ты и мудак.
[00:03:33] <Ender> тебе в можт в какой-нить другой архив пережать?
[00:03:55] eaeee вышел из конференции
[00:03:56] <uggur> Да не, я сейчас соберу из сырцов модуль и нагорячую подгружу
[00:04:05] <Ender> кстати всякие team-air, r2r и прочие няшки тоже раром пользуются.
[00:04:16] <uggur> Но лучше бы ты использовал zip %)
[00:04:30] <Ender> макоеб штоле?
[00:04:44] <uggur> Красноглазик
[00:04:58] <uggur> Но ты ведь в tar запихнуть не сможешь, нэ?
[00:05:26] <Ender> winrar вроде может тарболы
[00:05:48] <Ender> ну, раскукоживать, точно
[00:06:11] <uggur> Вот потому я предпочитаю zip
[00:06:20] <uggur> По крайней мере оно открывается почти везде.
[00:07:22] <uggur> Ender: Кстати, а чем ты предпочитаешь именно жать без потерь данные?
[00:08:04] <Ender> жать без потерь это оксюморон
[00:08:14] <uggur> ???
[00:08:18] <uggur> Почему?
[00:08:22] <uggur> Сжатие без потерь же.
[00:08:44] <Ender> и вообще
[00:08:50] <Ender> жать без потерь?
[00:08:59] <Ender> зачем мне что-то жать вообще?
[00:09:14] <uggur> У тебя нету данных с низкой энтропией?
[00:09:42] <Ender> хм. ну ты красавчик.
[00:10:14] <Ender> энтропия эт неопределенность?
[00:10:27] * uggur просто как молбиолог часто встречается с многогиговыми сиквенсами, закодированными через вырожденные алфавиты, и потому всё жмёт.
[00:10:32] * Ender забыл что было на первом курсе.
[00:11:16] <uggur> Ender: Ну, в данном случае считай что энтропия -- это мера неопределённости и неструктурированности информации.
[00:11:37] rea вышел из конференции: Вышел из Vacuum-IM
[00:12:13] <uggur> Суть в том, что чем выше энтропия, тем хуже сжатие потому что в принципе невозможно сжать без потерь то, что не имеет структуры.
[00:12:14] <Ender> с такой низкой, как ты мне рассказал у меня только waveform 96khz/24bit
[00:13:00] <uggur> Хех, не то
[00:13:19] <Ender> епты
[00:13:21] <Ender> наоборот
[00:13:25] <Ender> но ты понял
[00:13:29] <uggur> Это же записи сигналов?
[00:13:34] <Ender> угу
[00:13:43] <uggur> Просто когда в тексте меняется пара бит -- получается другой символ.
[00:13:53] <Ender> так, ну
[00:13:58] <uggur> А если в записи сигнала -- получается громкость чуть громче. Например %)
[00:15:05] <uggur> Ender: насколько это критично?
[00:15:07] <Ender> в записи сигнала там пара бит не повлияет, особо, хотя, если человек с кривыми руками лез, то файл дальше перестанет читаться, а если с прямыми -- то будет клик/поп/шлеп
[00:16:09] <Ender> то есть я редко пользуюсь архивами
[00:16:17] <Ender> а если есть возможность ими не пользоваться
[00:16:20] <Ender> я так и делаю
[00:16:24] <Ender> понимаешь?
[00:17:00] <uggur> Ну да.
[00:17:29] <Ender> если мне нужно проект (звуковой) кинуть в инет, если я знаю, что человек виндоеб -- я ему рар с наивысшим сжатием нахуярю. всерна оно особо роли не сыграет, да и безопастно вроде.
[00:17:42] <Ender> у меня в архивах еще ни разу не ломались файлы, понимаешь?
[00:17:59] <uggur> Эмм... а почему им ломаться?
[00:17:59] <Ender> а если макоеб челвоек, то это стопудово будет зип
[00:18:46] <Ender> бывает што ты скачал архив, а из него 1 файл почему-то не раскукоживается.
[00:19:18] <Ender> то есть почему-то
[00:19:19] <uggur> Хмм...
[00:19:27] <uggur> А архив не битый?
[00:19:33] <Ender> нет
[00:20:00] <uggur> Странно
[00:20:14] <Ender> ну он открывается, говорит, что не битый, можно шариться fmом там, но файл один может не раскукожится.
[00:20:29] <Ender> или раскукожится, но более старой версией программы.
[00:20:32] <uggur> Какой формат?
[00:20:37] <Ender> да рар епта
[00:20:46] <Ender> под виндой я рар использую чаще всего
[00:21:06] <uggur> Я для сжатия использую контейнер 7z :3
[00:21:10] Славный капитан зашёл в конференцию
[00:21:20] <Ender> имо WinRar должен уже давно входить в виндомс.
[00:21:26] <Ender> изкоробки
[00:21:39] <Ender> как тарболы ваши в линуксах
[00:21:48] <Ender> 7z кстати да
[00:21:53] <Ender> тоже очень вкусно.
[00:22:01] <uggur> Эмм... тарболлы в линуксах как бы из совместимости тащат.
[00:22:12] <uggur> А дальше жмут кто чем горазд %)
[00:22:23] <Ender> нуу...
[00:22:30] <Ender> из коробки тащат.
[00:22:41] <uggur> А в винде zip, нет?
[00:22:49] <Ender> если у тебя убунта то там Aptitude.
[00:22:55] <Ender> говно короче.
[00:22:58] <uggur> Эмм..?
[00:23:13] <uggur> А Aptitude какое отношение к архивам имеет? %)
[00:23:19] <Ender> прямое.
[00:23:40] <Ender> я понятие не имею, как по зависимостям ты можешь вытащить в убунте тар
[00:23:45] <Ender> если он не из коробки.
[00:24:00] <uggur> Зачем? (%
[00:24:14] <uggur> Ты имеешь ввиду "поставить пакет с таром"?
[00:24:14] <Ender> а аптитьюд раскукоживает deb пакеты с программами.
[00:24:28] <Ender> вроде того.
[00:24:47] <Ender> zip в винде есть, да.
[00:24:52] <uggur> https://packages.debian.org/wheezy/tar
[00:25:01] <uggur> Вот отдельный пакет
[00:25:58] <Ender> uggur, кстати emerge -f вроде, ну, fetch когда делаешь, portage тащит tag.gz
[00:26:02] <Ender> вот
[00:26:16] <uggur> Да, gzip-ом жатый tar
[00:26:33] <Ender> так что в линуксах во всех скорее всего тар идет из коробки с дистрибутивом.
[00:26:43] <uggur> Ещё tar.bz встречал и tar.7z
[00:26:56] <Ender> ну все встречали.
[00:27:54] <uggur> И ещё tar.xz, tar.lzma %)
[00:28:05] <uggur> В общем, тот ещё зоопарк.
[00:28:12] <Ender> так то да
[00:28:24] <Ender> uggur, у тебя есть смску отправить?
[00:28:29] ckorzhik зашёл в конференцию
[00:28:39] <uggur> Неа
[00:28:48] <Ender> что ж ты за человек такой.
[00:29:06] <uggur> А зачем тебе СМС? %)
[00:29:15] <Ender> ну у меня денег нету
[00:29:18] <Ender> реально
[00:29:25] <Ender> чтобы смску отправить
[00:29:30] <uggur> лол
[00:29:32] <Ender> у меня -11р на телефоне
[00:29:45] <Ender> просто я уже сколько погулять хочу?
[00:29:49] <Ender> а не с кем.
[00:29:58] <uggur> А мой оператор не позволяет иметь отрицательный счёт
[00:30:11] <Ender> у тебя теле2?
[00:30:15] <uggur> У меня телефон в режиме readonly -- только принимаю звонки х)
[00:30:30] <Ender> да у меня такая же хуета
[00:30:31] <uggur> ...если мне кто-то звонит *FOREVERALONE*
[00:30:36] <Ender> последние месяца два.
[00:31:13] <rexim> Вставка одного файла логов в h2 через протокол постгреса занимает ~4 секунды. Вставка всех логов при таком раскладе будет занимать ~2 часа.
[00:31:15] <rexim> Странно, вроде, автокоммит отключил...
[00:33:21] v_oron вышел из конференции
[00:36:36] <ɹǝɟılʍǝu> У меня вопросец.
[00:36:38] <ɹǝɟılʍǝu> Вот есть либа.
[00:36:57] <ɹǝɟılʍǝu> Есть какой-то функционал в ней, и есть шейдеры, которые в нём используются.
[00:37:04] <ɹǝɟılʍǝu> Куда лучше засунуть шойдеры?
[00:37:13] <ɹǝɟılʍǝu> В ресурсы?
[00:37:15] <uggur> Что за либа?
[00:37:22] <ɹǝɟılʍǝu> libpainter
[00:37:24] <uggur> Точнее, какого рода функционал?
[00:37:25] <rexim> ɹǝɟılʍǝu, что мешает?
[00:37:27] <ɹǝɟılʍǝu> Часть проекта рисовалки.
[00:37:31] <ɹǝɟılʍǝu> uggur, рисует
[00:37:45] <uggur> В каталог shaders?
[00:37:47] <ɹǝɟılʍǝu> rexim, ничего. Я думаю, что будет лучше.
[00:38:06] <ɹǝɟılʍǝu> uggur, и зачем оно тогда в отдельной либе?
[00:38:30] <rexim> ɹǝɟılʍǝu, я бы в качестве первого приближения в ресурсы бы запихнул.
[00:38:38] <rexim> А там бы уже посмотрел.
[00:38:39] <uggur> А что, больше никогда шейдер использоваться не будет?
[00:38:47] <ɹǝɟılʍǝu> uggur, нет.
[00:38:53] <uggur> %)
[00:38:59] <ɹǝɟılʍǝu> Там примитивные шейдеры.
[00:39:01] <uggur> Тогда кинь в каталог с либой.
[00:39:12] <uggur> Или в ресурсы запихни.
[00:39:18] <rexim> Та-да!
[00:39:20] <ɹǝɟılʍǝu> Типа, нарисовать квадрат.
[00:39:45] <rexim> .time
[00:39:46] <DeadBot> rexim: Сб. 23 авг. 2014 03:40:33
[00:39:53] <rexim> Ололо, всем снов.
[00:39:57] <ɹǝɟılʍǝu> Снов)
[00:39:58] rexim вышел из конференции
[00:40:25] <uggur> Пойду и я спать (:
[00:40:33] <uggur> Снов всем кто будет спать :)
[00:43:47] <ɹǝɟılʍǝu> Блжад
[00:43:51] <ɹǝɟılʍǝu> Наткнулся вот https://code.google.com/r/costardi4ever-dolphin/source/browse/Externals/wxWidgets3/src/msw/gdiplus.cpp?name=glsl&r=8110f9ae7d50727880b0ebac358723186f8d4f6a
[00:44:57] Myp вышел из конференции: Replaced by new connection
[00:44:57] Myp зашёл в конференцию
[00:47:51] kosc вышел из конференции
[00:51:33] m4n71k0r вышел из конференции
[00:54:46] <Славный капитан> чет я нифига заснуть не могу
[00:54:49] <Славный капитан> =(
[01:01:52] <Ender> Славный капитан, ну со мной такая хуета уже давно
[01:02:02] <Ender> и чот Zetoke не видно
[01:02:55] matraskin вышел из конференции
[01:03:19] <Славный капитан> видимо, я слишком хорошо моргнул, пока домой ехал
[01:03:39] <Славный капитан> ну и углеводов перед сном перебрал явно
[01:03:58] matraskin зашёл в конференцию
[01:06:04] a1batross вышел из конференции: Disconnected: Replaced by new connection
[01:06:06] a1batross зашёл в конференцию
[01:07:07] <Ender> я творожка захавал.
[01:07:10] <Ender> час назад примерно.
[01:08:38] <Славный капитан> а я овсянки заебенил
[01:09:51] Славный капитан вышел из конференции
[01:09:58] <ɹǝɟılʍǝu> Овсянка с фруктами ок.
[01:10:44] <Myp> Не
[01:11:08] <Myp> Это извращение
[01:11:57] <ɹǝɟılʍǝu> Но это вкусно.
[01:12:37] <Myp> Мне кажется, что не очень
[01:12:42] <Myp> Даже наоборот
[01:13:03] <Myp> Лучше корицы добавить
[01:13:23] Славный капитан зашёл в конференцию
[01:13:56] <Ender> овсянка?
[01:14:08] <Ender> это когда надо с молоком там
[01:14:10] <Ender> вот
[01:14:20] <Ender> тогда норм
[01:14:41] <Ender> в любом случае, овсянка на воде это пиздец короче.
[01:14:53] <Славный капитан> -что это, бэрримор? -волчанка, сэр!
[01:15:05] <Ender> =D
[01:16:37] <Славный капитан> а вообще, ересь
[01:17:07] <Славный капитан> каша должна быть строго на мясном бульоне, в крайнем случае на воде
[01:17:45] <Myp> Смотря какая каша
[01:17:51] <Славный капитан> любая
[01:18:46] Славный капитан вышел из конференции
[01:21:15] ckorzhik вышел из конференции
[01:21:31] <Ender> Myp, мне давеча знакомый веган говорил -- чечевица мол, с яйцами
[01:21:35] <Ender> охуенно
[01:21:40] <Ender> и без мяса.
[01:21:46] <Ender> ну и да
[01:21:47] Славный капитан зашёл в конференцию
[01:21:55] <Myp> Без мяса? Ебанулся совсем
[01:22:15] <Myp> Так мышечную дистрофию схлопотать недолго
[01:22:25] <Славный капитан> http://www.youtube.com/watch?v=9DGNqnpMpbc
[01:22:54] <Ender> Славный капитан, вот я например вообще не представляю себе, как должна выглядеть овсянка на мясном бульоне
[01:22:56] <Славный капитан> -Что это, Бэрримор? - Чунга-чанга, сэр.
[01:22:58] <Ender> вот это немыслемо.
[01:25:39] <Myp> Славный капитан: У всей конфы ссылкой сон прогнал на 72 часа
[01:27:07] ckorzhik зашёл в конференцию
[01:27:23] <Ender> там реклама
[01:27:29] <Ender> и я не буду это смотреть
[01:27:40] <Ender> мне только-только 75мб начислили
[01:27:40] Minoru вышел из конференции: Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке другому участнику: service-unavailable
[01:27:43] <Славный капитан> сказал эндер, посмотрев три раза
[01:28:03] <Ender> атвичаю, несмотрел
[01:28:16] <Славный капитан> за качество отвечать будешь
[01:28:34] <Славный капитан> копетан сказал смотрел, значит в морг^W^W смотрел.
[01:28:40] <Ender> я рассказывал подружке, какой ты наркоман, если овсянка на мясном бульоне для тебя -- это более чем нормально.
[01:29:05] <Славный капитан> овсянку я на воде варю
[01:29:32] <Ender> на молоке пизже
[01:29:38] <Myp> А мне вообще нихуя нельзя
[01:29:43] <Myp> Только отруби
[01:29:50] <Ender> 0_0
[01:29:54] <Ender> что с тобой?
[01:30:05] <Myp> Избыточный вес
[01:30:17] <Славный капитан> на молоке кашу варят только аристократы и дегенераты.
[01:30:37] <Ender> Славный капитан, овсянку!
[01:30:47] <Ender> гречу ясно, на воде
[01:31:05] <Myp> Почему ясно?
[01:31:07] <Ender> Myp, ты ж на фотке вк нормальный?
[01:31:08] <Славный капитан> а родословную ты вряд ли предъявить можешь ;3
[01:31:09] <Myp> Я и на молоке люблю
[01:31:29] <Myp> Ender: Ну, там же не видно нихуя
[01:31:49] <Ender> хм
[01:39:21] Minoru зашёл в конференцию
[02:06:35] Славный капитан вышел из конференции
[02:08:34] grouzen зашёл в конференцию
[02:27:14] <kpecmuk> $pet stats
[02:27:15] <horta hell> kpecmuk:
Кличка: Сволота
Здоровье: 60
Голод: 20
Возраст: 187 часов
[02:27:21] <kpecmuk> $pet feed
[02:27:21] <horta hell> kpecmuk: Сволота покормлен.
[02:27:29] <kpecmuk> $pet heal
[02:27:30] <horta hell> kpecmuk: Сволота здоров.
[02:28:15] hinst вышел из конференции
[02:36:18] a1batross вышел из конференции: Disconnected: Replaced by new connection
[02:36:19] a1batross зашёл в конференцию
[02:37:15] nexfwall зашёл в конференцию
[03:07:20] <Ender> http://compress.ru/article.aspx?id=17782
[03:07:23] <Ender> ЛОЛ
[03:07:29] <Ender> чуваку сказал
[03:07:36] <Ender> читай стандарт, потом мне расскажешь
[03:07:49] <Ender> он блядь нашел
[03:07:53] <Ender> Сергей Пахомов
[03:07:58] <Myp> Ender: Что это за поебень?
[03:08:02] <Ender> охуенно, братишка, уважаю
[03:08:08] <Ender> хуй знает
[03:08:27] <Myp> Это не стандарт нихуя, а говно какое-то на палке
[03:11:55] <Myp> тут даже в pdf раздают http://standards.ieee.org/getieee802/download/802.11n-2009.pdf
[03:13:52] <Ender> вотыменно!
[03:14:00] <Ender> ты посмотри там внизу страницы
[03:14:03] <Ender> мне инетересно
[03:14:14] <Ender> http://standards.ieee.org/getieee802/download/802.11-2012.pdf
[03:14:29] <Ender> есть разница если я выберу студент или разработчик?
[03:14:50] <Ender> может быть там разные книжки и от выбора зависит какую версию стандарта мне дадут?
[03:14:55] <Ender> выберу, мол, студент я
[03:15:03] <Ender> и мне для дебилов дадут
[03:17:57] <Myp> Ender: могут предложить купить
[03:18:02] <Myp> если не студент
[03:29:05] Minoru вышел из конференции
[03:33:23] <Ender> http://cs616322.vk.me/v616322206/2b78e/wHqA16iqU_I.jpg
[03:36:24] Minoru зашёл в конференцию
[03:38:11] <Ender> Myp, а что такое 802 draft standarts?
[03:38:20] <Ender> и почему их можно только покупать?
[03:41:05] Minoru вышел из конференции
[03:41:54] <Ender> а еще индийцы проедут на электрической моторикше 10к км.
[03:41:57] <Ender> хм
[03:42:15] kpecmuk вышел из конференции
[03:52:00] Myp вышел из конференции: Replaced by new connection
[03:52:00] Myp зашёл в конференцию
[03:58:18] ckorzhik вышел из конференции
[03:58:32] ckorzhik зашёл в конференцию
[04:06:32] a1batross вышел из конференции: Disconnected: Replaced by new connection
[04:06:34] a1batross зашёл в конференцию
[04:22:02] Myp вышел из конференции
[04:39:32] <Ender> почта рамблер -- говно собачье
[04:39:42] <Ender> как они только не развалились еще?
[04:39:50] <Ender> и почему жив мейл?
[04:39:58] <Ender> это пиздец странно!
[05:05:01] O01eg вышел из конференции
[05:09:55] xspeed вышел из конференции
[05:16:19] O01eg зашёл в конференцию
[05:36:44] a1batross вышел из конференции: Disconnected: Replaced by new connection
[05:36:46] a1batross зашёл в конференцию
[05:42:40] xspeed зашёл в конференцию
[06:04:48] nexfwall вышел из конференции: Вышел из Vacuum-IM
[06:34:45] ckorzhik вышел из конференции
[06:53:22] <horta hell> Сволота пытается сожрать все, что найдет.
[07:06:57] a1batross вышел из конференции: Disconnected: Replaced by new connection
[07:06:59] a1batross зашёл в конференцию
[07:15:39] xspeed вышел из конференции
[07:23:22] <horta hell> Сволота умер в забвении. Все теряют по 1PTC.
[07:51:47] O01eg вышел из конференции
[08:13:04] lifeseemer зашёл в конференцию
[08:13:28] lifeseemer вышел из конференции
[08:23:07] m4n71k0r зашёл в конференцию
[08:23:31] <m4n71k0r> $pet resurrect
[08:23:34] <horta hell> m4n71k0r: Вы воскресили питомца этой конфы! Это ли не чудо?! За это вы получаете 3PTC.
[08:23:40] <m4n71k0r> $pet stats
[08:23:41] <horta hell> m4n71k0r:
Кличка: Сволота
Здоровье: 100
Голод: 100
Возраст: 0 часов
[08:23:54] <m4n71k0r> недоглядели окаянные
[08:24:05] <m4n71k0r> подохла животинушка
[08:37:10] a1batross вышел из конференции: Disconnected: Replaced by new connection
[08:37:12] a1batross зашёл в конференцию
[08:59:33] <m4n71k0r> хм, а я и не знал, что у них жира https://issues.scala-lang.org/secure/Dashboard.jspa
[08:59:56] <ForNeVeR> Удивительно. Как можно писать на скале и не заглядвать в багтрекер? :)
[09:00:16] <m4n71k0r> да как-то так) Я аккуратно писал)
[09:00:39] a1batross вышел из конференции: Disconnected: closed
[09:00:45] <m4n71k0r> Вообще, когда плохо знаешь язык и не подозреваешь, что что-то с ним не так
[09:01:22] <ForNeVeR> ...а потом заглядываешь в трекер, и становится страшно.
[09:01:52] <ForNeVeR> Как будто бы выходишь с поля, и только потом видишь, что на табличке написано "минное".
[09:02:11] <m4n71k0r> да, именно из-за большого количества значков багов
[09:02:57] <m4n71k0r> не так было бы страшно, если бы там были обычные задачи или улучшения
[09:03:51] sss|zombie зашёл в конференцию
[09:13:45] <ɹǝɟılʍǝu> утра
[09:42:33] a1batross зашёл в конференцию
[09:54:45] rexim зашёл в конференцию
[09:55:23] <rexim> Утряшки! \о/
[09:57:12] <uggur> Привет, *
[09:57:42] <rexim> uggur, уггурушка!
[09:57:59] <uggur> rexim: Что? :)
[09:58:35] <rexim> uggur, это я так с тобой поздоровался. )
[09:59:14] <uggur> Я тоже рад тебя видеть (((%
[10:00:35] <ɹǝɟılʍǝu> Фыр
[10:02:05] <uggur> ɹǝɟılʍǝu: не ревнуй, тебя я рад видеть не меньше :)
[10:08:55] <uggur> https://github.com/codingteam/horta-hell/issues/24 как лучше делать локализацию?
[10:10:42] * uggur видел только вариант с java.utils.Properties
[10:12:34] <uggur> Вот тут ещё видел через Globals.lang https://github.com/JabRef/jabref
[10:40:25] <uggur> Ender: http://s.developers.org.ua/storage-files/CINfPZKg3lg.jpg
[10:42:26] <uggur> ForNeVeR: Кстати, этим своим медикам можешь показать: http://www.statconn.com/
[10:43:04] <uggur> А я попробую этих моих биолухов перевести (%
[10:43:08] reggies зашёл в конференцию
[10:43:13] <ForNeVeR> uggur: у нас медики довольно продвинутые и предпочитают сами делать штуки на жабе.
[10:43:32] <uggur> Да?
[10:43:34] <uggur> Круть
[10:43:49] <ForNeVeR> ms office нам вообще не в тему.
[10:43:54] <uggur> У нас едва Excel осиливают.
[10:44:34] <uggur> Сужу по радиационным эпидемиологам, с которыми я работал когда проходил подготовку на специалиста по борьбе с радиохимическим терроризмом.
[10:44:59] <ForNeVeR> Радиохимический терроризм?
[10:45:07] <ForNeVeR> Это перспективно? Может, нам таким заняться?
[10:45:32] <uggur> Да не, я просто поучаствовал нахаляву в курсах. Не думаю, что пригодится для работы.
[10:45:39] <uggur> Ну и посмотрел на оборудование.
[10:46:07] <ForNeVeR> Мы пытались тут себе пробить всяких анализаторов радиоактивности нахаляву. Не дали :(
[10:46:15] <uggur> ForNeVeR: Но вообще, в штате одного специалиста по противодействию терроризму можно было бы иметь, да :)
[10:46:30] <ForNeVeR> uggur: а если наоборот - по терроризму?
[10:46:39] <ForNeVeR> Ну там конкурентов запугать или ещё чего.
[10:46:50] <ForNeVeR> Терроризм сейчас в моде!
[10:46:55] <uggur> Ну... ты же знаешь что в США разработчики биологического оружия называются специалистами по биологической защите? ;)
[10:47:33] <uggur> Точно так же и тут -- я узнал не только как противостоять терроризму, но и каков будет эффект от грязной бомбы в офисном центе и где достать радиоактивный материал %)
[10:49:47] <uggur> ForNeVeR: Кстати, возвращаясь к R -- ты дошёл до ООП?
[10:50:01] <ForNeVeR> Ну, я читаю раздел про объекты ща.с
[10:50:14] <uggur> Просто я хотел тебе сказать что в R есть несколько объектных систем х)
[10:50:23] <uggur> S3, S4 и ссылочные классы.
[10:50:53] <uggur> И ещё есть такая вот штука: https://code.google.com/p/r-proto/
[10:53:23] <rexim> гргото
[10:54:34] <rexim> Всем розовой пантерки, посоны. https://soundcloud.com/rex1m/pinkpanther
[10:54:41] <rexim> Мне нужен нормальный микрофон. :(
[10:56:06] <uggur> *поаплодировал rexim* :)
[10:56:36] <rexim> uggur, спасибо. :)
[10:59:09] <uggur> rexim: Ты для удовольствия занимаешься или играешь в группе/консерватории?
[11:01:21] <rexim> uggur, ох, для таких громких слов как "группа" или "консерватория" у меня уровень не тот. Да и кому нынче нужна блокфлейта? Конечно для себя. :)
[11:05:51] <rexim> ForNeVeR, интересно, что для перла поддержки h2 нет вообще. Но h2 умеет общаться по протоколу постгреса, а для перла постгрес не проблема. :)
[11:06:04] <rexim> Возможно поэтому, кстати, и нет поддержки.
[11:13:18] Akon32 зашёл в конференцию
[11:16:09] <ɹǝɟılʍǝu> rexim, как на счёт сыграть вступление поней?)
[11:16:41] <uggur> Вступление куда? о.о
[11:17:10] <rexim> ɹǝɟılʍǝu, оно какое-то скучное. Я планирую сыграть Pinkie's Brew. :3
[11:17:33] <ɹǝɟılʍǝu> О!
[11:17:34] <ɹǝɟılʍǝu> :3
[11:26:43] <ɹǝɟılʍǝu> http://wh24.ru/v-rossii-sobrali-pervyj-v-mire-yadernyj-kosmicheskij-dvigatel/
[11:28:31] <uggur> Распил или всерьёз?
[11:28:35] <ɹǝɟılʍǝu> Серьёз.
[11:28:46] <uggur> круть
[11:28:52] <ɹǝɟılʍǝu> http://www.rosatom.ru/journalist/news/10dd3d80449a721ab6a2b6e920d36ab1
[11:29:23] <uggur> а у буржуев такое есть?
[11:29:43] <Akon32> желтизна какая-то. спецификации есть?
[11:30:33] <ɹǝɟılʍǝu> Думаю, их пока не покажут.
[11:31:31] Graf зашёл в конференцию
[11:31:37] <Akon32> >специалисты собрали первый тепловыделяющий элемент (ТВЭЛ) штатной конструкции для космической ядерной электродвигательной установки (ЯЭДУ)
>Это скачок в будущее. Этот двигатель на позволить высадиться первыми на Марс, и вернуться назад. Это скачок уже 22 век, отрыв от всех остальных.
[11:31:40] Graf вышел из конференции
[11:31:45] <Akon32> ну да.
[11:32:40] <ɹǝɟılʍǝu> Да там странно вообще.
[11:32:44] <ɹǝɟılʍǝu> Смотри тут http://www.rosatom.ru/journalist/news/10dd3d80449a721ab6a2b6e920d36ab1
[11:32:56] <ɹǝɟılʍǝu> И это не первый ядерный двигатель)
[11:33:08] <Akon32> это вообще не ядерный двигатель.
[11:33:18] <rexim> И вообще не двигатель.
[11:33:25] <ɹǝɟılʍǝu> Это ТВЭЛ, да.
[11:33:49] <Akon32> а журналюги уже с марса возвращаются.
[11:33:54] <ɹǝɟılʍǝu> Пинайте тех новостников, но новость всё равно хорошая)
[11:38:28] Akon32 вышел из конференции
[11:46:55] <ɹǝɟılʍǝu> Сириус вопрос.
[11:47:13] <ɹǝɟılʍǝu> Рэпорты из софтины высылать только на крашах, но и экзепшоны всякие тоже?
[11:50:04] <m4n71k0r> почему, бля. не пойти американским путём и сделать ионный двигатель? Либо это будет ядрёный двигатель, из которого поток излучения будет направлен на мишень, которая в свою очередь будет испускать ионы?
[11:50:50] <m4n71k0r> ɹǝɟılʍǝu: я считаю, что юзер сам должен брать лог и прикреплять
[11:51:15] <ɹǝɟılʍǝu> m4n71k0r, но не всякий это будет делать)
[11:51:23] <ɹǝɟılʍǝu> Ему проще нажать кнопку «Отправить отчёт»
[11:51:36] <ɹǝɟılʍǝu> Тем более, автоматизация это полезно.
[11:51:54] <uggur> Правильно.
[11:52:07] <uggur> Меньше свободы этим жалким кускам органической материи.
[11:52:09] <m4n71k0r> если эксепшон не отловлен, то это нехорошая ситуация, да
[11:52:13] <uggur> ForNeVeR одобряет, наверное.
[11:52:29] <ɹǝɟılʍǝu> uggur, не в свободе дело.
[11:52:35] <uggur> ɹǝɟılʍǝu: Сделай конфигом?
[11:52:40] <uggur> С уровнями.
[11:52:45] <ɹǝɟılʍǝu> Мы можем сделать механизм, чтобы на выбор: автоматом или вручную.
[11:52:56] <ɹǝɟılʍǝu> Так, поеду домой...
[11:52:59] ɹǝɟılʍǝu вышел из конференции
[11:58:47] Славный капитан зашёл в конференцию
[12:00:53] hinst зашёл в конференцию
[12:06:44] ɹǝɟılʍǝu зашёл в конференцию
[12:11:12] <rexim> ɹǝɟılʍǝu, уже дома? :)
[12:12:10] <uggur> Прилетел х)
[12:12:24] <m4n71k0r> Хм, у меня есть база в продакшоне и база в разработке/тестировании. Как на них наложить FlyWay? Сделать как тут http://flywaydb.org/documentation/existingDatabaseSetup.html но указать разные initDescription и скрипты соответственно именовать?
[12:13:49] <ForNeVeR> m4n71k0r: у тебя разные скрипты для продакшена и тестирования?
[12:14:31] <m4n71k0r> я думаю как сделать. В продакшене уже данные есть одни. А для тестирования плевать на данные
[12:15:02] <ForNeVeR> Если на продакшеновую базу натягиваются не те же самые скрипты, что на тестовую - то в таком тестировании смысла нет.
[12:15:42] <m4n71k0r> как я могу использовать данные в тесте из продакшона, если там уже данные пользователей есть?
[12:16:01] <ForNeVeR> Что значит "использовать данные"?
[12:16:13] <ForNeVeR> Обычно скрипты меняют структуру БД, а данными её заполняют пользователи.
[12:16:35] <ForNeVeR> Так что на тестовой БД у тебя, конечно, вместо данных какой-нибудь шлак, но скриптам-то пофиг на это.
[12:17:29] <m4n71k0r> но разве V1__ скрипт для продакшена не должен содержать начальные данные? Или там при инициализации просто помечают, что эти данные уже под первой версией?
[12:18:04] <m4n71k0r> что-то мне подсказывает, что просто помечают
[12:18:16] <m4n71k0r> тогда да, скрипты идентичные будут
[12:18:45] <ForNeVeR> m4n71k0r: это можно по-разному решать.
[12:19:07] <ForNeVeR> Можно в V1 положить документированного администратора типа "admin/123".
[12:19:20] <ForNeVeR> И обязать настоящего администратора сразу зайти и поменять пароль.
[12:20:01] <ForNeVeR> Либо можно ничего туда не класть, но при отсутствии пользователей в БД переводить систему в maintenance mode, в котором будет разрешён доступ этому самому админу/123.
[12:20:39] <m4n71k0r> я неправильно выразился
[12:20:41] <ForNeVeR> Хотя второе мне кажется менее хорошей идеей - это лазейка в системе безопасности, которая может вылезти боком.
[12:21:11] <m4n71k0r> под начальными данными имел ввиду данные, которые уже лежат в продакшене
[12:21:45] <ForNeVeR> Тогда, конечно же, скрипт V1 не должен содержать начальных данных.
[12:21:53] <ForNeVeR> Потому что он вообще не содержит данных.
[12:21:54] <m4n71k0r> я понял
[12:22:42] <m4n71k0r> ну единицы измерения или роли какие-нибудь будет содержать в контексте моей задачи
[12:23:02] <ForNeVeR> Ну, их нужно добавить в скрипты, конечно.
[12:23:19] <ForNeVeR> Если ты не хочешь, чтобы эти скрипты выполнялись в каком-то из окружений - надо как-то с этим бороться.
[12:23:40] <ForNeVeR> Например, явно пометить их как уже выполненные (это где-то в таблице с миграциями можно сделать, по идее).
[12:23:46] rexim вышел из конференции
[12:23:55] <ForNeVeR> Или сделать скрипты на insert or update.
[12:26:23] <ForNeVeR> m4n71k0r: а я вот ещё на liquibase посматриваю.
[12:27:44] <ForNeVeR> Оно позволяет кроссплатформенно описывать структуру БД, это интересно в контексте хорты.
[12:29:45] <m4n71k0r> у нас на работе что-то вроде liquibase только перепиленное. Но она не умеет автоматически решать проблемы, когда база мигрировалась по скриптам в какой-то ветке, а потом надо мигрировать до версии в транке, которая содержит уже все изменения из ветки или может не содержать (о ужас!) какой-то промежуточный этап миграции
[12:29:54] <m4n71k0r> надеюсь, я понятно объяснил
[12:30:25] <ForNeVeR> m4n71k0r: с промежуточными этапами у flyway всё плохо.
[12:30:43] <ForNeVeR> Он хранит в БД только версию, а не метаданные, насколько я понялю
[12:31:27] <Славный капитан> ForNeVeR: мы на работе liquibase употребляем
[12:31:41] <Славный капитан> оно норм
[12:31:50] <ForNeVeR> Славный капитан: вы для него делаете SQL или юзаете альтернативный синтаксис?
[12:31:56] <ForNeVeR> Славный капитан: и какая / какие у вас БД?
[12:32:29] <Славный капитан> SQL
[12:32:39] <ForNeVeR> Славный капитан: rollback вы сами пишете?
[12:32:40] <Славный капитан> а вместо субд у нас постгрес
[12:32:45] <ForNeVeR> Или роллбэки не юзаете?
[12:33:20] <m4n71k0r> есть транк, где миграция идёт 1-2 (нет изменений) 2-3 ... есть ветка 1, которая содержит изменения 1-1.1 1.1-1.2 1.2-1.3 ... миграция 2-3 содержит в себе фактически миграции (1-..-1.3). И вот задачи: миграция с 1 на 3 (тривиально) с 1.1 на 3 с 1.2 на 3 и с 1.3 на 3 (тривиально)
[12:33:36] <Славный капитан> на моей памяти пока не приходилось откатывать изменения
[12:34:19] <ForNeVeR> m4n71k0r: короче, flyway не умеет в бранчевание.
[12:34:25] <m4n71k0r> =)
[12:34:31] <Славный капитан> но у нас схема бд по большому счету устаканилась уже
[12:34:44] <ForNeVeR> Перед мержем в транк изменения из бранча нужно "ребейзить", т.е. ставить их версии после номера в транке.
[12:35:21] <ForNeVeR> Мы на работе юзаем Entity Framework, там тоже с миграциями хуевасто.
[12:35:31] <ForNeVeR> Ну, т.е. с бранчеванием.
[12:36:09] <ForNeVeR> Причём всё настолько плохо, что для починки приходится постоянно держать в резерве полсеньёра.
[12:38:09] Славный капитан вышел из конференции
[12:39:33] <m4n71k0r> да, liquibase, как я посмотрел, самая вменяемая
[12:41:26] <m4n71k0r> у нас, правда, есть внутренняя метамодель, которая отображается потом на liquibase. Вообще, занимательно всё происходит
[12:45:43] <m4n71k0r> а, ну и по метамодели строится вся гебернейтовская каша
[12:45:55] <m4n71k0r> ад и Израиль)
[12:49:41] <m4n71k0r> https://github.com/bigtoast/sbt-liquibase жаль, что для 0.13 нет. Надо, правда, проверить
[12:50:15] rea зашёл в конференцию
[12:53:22] <horta hell> Сволота пытается сожрать все, что найдет.
[12:53:31] <m4n71k0r> $pet feed
[12:53:31] <horta hell> m4n71k0r: Сволота был близок к голодной смерти, но вы его вовремя покормили. Вы зарабатываете 1PTC.
[12:53:40] <m4n71k0r> $pet stats
[12:53:40] <horta hell> m4n71k0r:
Кличка: Сволота
Здоровье: 55
Голод: 100
Возраст: 4 часов
[12:53:55] <m4n71k0r> $pet rating
[12:53:55] <horta hell> m4n71k0r:
zxc: 112PTC
ɹ…: 33PTC
eaeee: 5PTC
Minoru: 5PTC
m4n71k0r: 4PTC
F…: 3PTC
[12:54:10] kpecmuk зашёл в конференцию
[12:56:45] <uggur> ForNeVeR: Подними тестового бота с этой веткой чтобы потестить?
https://github.com/codingteam/horta-hell/pull/220
[12:57:07] <m4n71k0r> а сам не?
[12:57:31] <uggur> А вдруг ForNeVeR обидится что я ботов сюда понатащил?
[12:57:38] <m4n71k0r> а ты в другую конфу
[12:57:53] <m4n71k0r> я в тестовой конфе запускаю
[12:58:51] <ForNeVeR> А я сразу на продакшен деплою :3
[12:58:51] <uggur> m4n71k0r: Самому нудно тестить потому что множество состояний большое и представляет собой внутренние состояния и зависит не только от ввода х)
[12:59:03] <m4n71k0r> ты лентяй
[12:59:15] <ForNeVeR> m4n71k0r: кто из нас?
[12:59:22] <m4n71k0r> не ты
[12:59:30] <m4n71k0r> лентяй в плохом смысле
[12:59:39] <uggur> "m4n71k0r: ты лентяй" одна из причин по которой я изучаю программирование -- чтобы меньше работать :Ь
[12:59:44] <m4n71k0r> не те лентяи, которые кодят, чтобы дальше лениться
[13:04:23] <m4n71k0r> попробуй собрать статистику делегирования
[13:05:12] <uggur> Это m4n71k0r сейчас пытается свалить свою работу на окружающих?
[13:05:23] <ForNeVeR> uggur: не на окружающих, а на тебя :3
[13:05:35] * uggur окружает m4n71k0r :)
[13:05:40] <ForNeVeR> Щас я тут дела доделаю, поревьюю и, наверное, в develop выложим.
[13:13:12] <m4n71k0r> uggur: это какую работу?)
[13:13:34] <uggur> m4n71k0r: Твою?
[13:14:10] <m4n71k0r> uggur: но она не заключается в том, чтобы собирать статистику делегирования uggur-ом своих дел и задач
[13:14:12] govardhan зашёл в конференцию
[13:14:19] <m4n71k0r> ладно, проехали
[13:14:25] <uggur> %)
[13:14:58] * uggur слишком туп чтобы понять что имел ввиду m4n71k0r
[13:15:35] <m4n71k0r> могу поделиться печенькой, которую испекла моя жена
[13:18:36] <m4n71k0r> хм, интересно, зачем это тут? https://github.com/bigtoast/sbt-liquibase/tree/master/project/project/target/config-classes
[13:20:07] sss|zombie вышел из конференции: Вышел из Vacuum-IM
[13:21:23] <ForNeVeR> m4n71k0r: я считаю, автор нечаянно закоммитил.
[13:21:28] <m4n71k0r> вот думаю, как лучше, сделать ликвибейзовский плагин подпроектом и собирать его под текущий sbt предварительно или завести ликвибейзовские таски в сам сервис, чтобы их вызывать с помощью параметров командной строки
[13:21:53] <m4n71k0r> или вообще внешне использовать
[13:22:16] <ForNeVeR> m4n71k0r: проще всего использовать внешне, а дальше - уже как тебе кажется правильнее :)
[13:22:25] xspeed зашёл в конференцию
[13:22:42] <m4n71k0r> или просто попросить автора запилить под 0.13
[13:22:43] <ForNeVeR> m4n71k0r: алсо, шоб тебе его не форкнуть и не собирать под нужную тебе версию sbt.
[13:22:50] <m4n71k0r> или так
[13:23:10] <ForNeVeR> Всё равно ты же *собирался* отправить ему пул-реквест по удалению этих шлакоблоков, правда?
[13:24:31] <m4n71k0r> я пока просто собирался использовать liquibase и искал плагины под sbt Для него
[13:24:42] <ForNeVeR> m4n71k0r: я бы действовал так: сначала попробовал собрать плагин под новой sbt. Если проблем нет или они решаемые - то отправил бы пулреквест, а пока что локально у себя опубликовал новую версию и юзал бы её. Если проблемы сложные - тогда забил и юзал внешний liquibase.
[13:26:01] <ForNeVeR> m4n71k0r: ну а ещё ты можешь прикрутить таск, который тупо вызывает внешний liquibase.
[13:30:19] <uggur> ForNeVeR: Как сделать систему локализации для бота?
[13:30:36] <m4n71k0r> это хороший вопрос
[13:30:49] <uggur> Через java.utils.prefs?
[13:31:18] <uggur> Тут ещё видел через Globals.lang https://github.com/JabRef/jabref
[13:32:51] <m4n71k0r> жалко, что нет аналога кутешной локализации
[13:35:04] <ForNeVeR> uggur: у меня нет готового ответа на этот вопрос. Давайте что-нибудь придумывать.
[13:35:24] <uggur> У меня нет опыта, я видел только так как в jabref
[13:36:21] govardhan вышел из конференции
[13:36:51] * uggur просто подумал что чем лучше принять это архитектурное решение, тем лучше, потому что потом много переделывать придётся.
[13:37:06] <ForNeVeR> uggur: согласен.
[13:37:08] <m4n71k0r> чем раньше
[13:37:19] <uggur> Да, чем раньше %)
[13:37:28] <ForNeVeR> Чем раньше - тем раньше!
[13:37:31] <m4n71k0r> )
[13:37:35] <uggur> (((%
[13:37:54] <uggur> ForNeVeR: Как идея использовать отдельную БД?
[13:38:03] <m4n71k0r> тут ещё завязано на плагины
[13:38:08] <ForNeVeR> Помимо статически захардкоженных строк у нас будут и сообщения, локализуемые пользователем.
[13:38:09] <uggur> Что-нибудь простенькое, в стиле json-файлов локализации?
[13:38:28] <uggur> ForNeVeR: Это как?
[13:38:54] <m4n71k0r> если бы плагины собирались отдельно, то в sbt был бы смысл прописывать язык
[13:38:54] <uggur> m4n71k0r: А что "плагины"? В плагинах свою локализацию по спецификации и всё.
[13:39:05] <ForNeVeR> uggur: ну вот эти вот твои смишные строчки, или сообщения на невалидный $dice у ɹǝɟılʍǝu - они все переедут в БД и у админа будет интерфейс для их редактирования.
[13:39:17] <ForNeVeR> m4n71k0r: нет. Язык должен быть локальным для комнаты.
[13:39:22] <m4n71k0r> охх
[13:39:25] <m4n71k0r> точно
[13:39:26] <ForNeVeR> Ну, я вот так считаю.
[13:39:31] <m4n71k0r> я забыл
[13:39:32] <uggur> ForNeVeR: Ты предлагаешь делать централизованно в одной БД?
[13:39:35] <uggur> Тоже можно, в принципе.
[13:39:42] <m4n71k0r> тогда да, рантайм
[13:39:45] <ForNeVeR> uggur: я пока думаю.
[13:39:49] <uggur> Но как тогда с плагинами?
[13:39:59] <uggur> Как локализовать плагин сторонний?
[13:40:02] <ForNeVeR> "В одной БД" нам как разработчикам неудобно будет этими локализациями управлять.
[13:40:27] <ForNeVeR> Ну т.е. что - скрипты писать для изменения локализации?
[13:40:28] rexim зашёл в конференцию
[13:40:28] * uggur считает что json или xml-объекты для строк в плагинах + система подстановки и управления в ядре.
[13:41:05] <ForNeVeR> uggur: я с таким согласен, но это не решает проблемы локализации пользовательских сообщений, о которых я говорил.
[13:41:10] <uggur> Почему?
[13:41:12] <m4n71k0r> нужен простой формат - легкочеловекоизменяемый. нужна система по выборке ресурсов в зависимости от текущей конфы и её настроек
[13:41:24] <uggur> Я просто вытащу эти сообщения в файл локализации и всё.
[13:41:35] <uggur> А в коде буду ссылаться и всё.
[13:41:45] <ForNeVeR> uggur: администратор бота должен будет файл локализации менять?
[13:41:51] <ForNeVeR> А при обновлении - мержить его? %)
[13:42:00] <uggur> Зачем?
[13:42:16] <uggur> В файле будет ключ-значение.
[13:42:27] <ForNeVeR> Или ты предлагаешь делать сообщения неконфигурируемыми?
[13:43:05] <m4n71k0r> это мы ещё про честную интернационализацию с падежами забыли)
[13:43:10] <uggur> ForNeVeR: В стиле
ru: "хорта сдохла"
en: "horta is dead"
ua:
[13:43:16] <ForNeVeR> uggur: вот смотри - есть модуль dice.
[13:43:38] <uggur> И?
[13:43:52] <ForNeVeR> uggur: вернее, FunnyAnswers.
[13:44:02] <ForNeVeR> Там куча гогна в статическом массиве.
[13:44:16] <ForNeVeR> Я настаиваю на том, что администратор должен иметь возможность управлять этим гогном.
[13:44:17] <uggur> FunnyAnswers -- это то что на марковских цепях?
[13:44:28] <ForNeVeR> Это на пониёбских цепях.
[13:44:54] <ForNeVeR> Например, я, как администратор бота, хотел бы, чтобы мой бот не генерил вот этой всей хуерды про мокрых лошадок и прочее.
[13:45:10] <uggur> Нет.
[13:45:23] <ForNeVeR> Значит, эти сообщения отправляются в БД.
[13:45:33] <uggur> Эти сообщения не отправляются в БД
[13:45:38] <uggur> Они лежат в файле локализации.
[13:45:39] <ɹǝɟılʍǝu> Фыр
[13:45:50] Славный капитан зашёл в конференцию
[13:45:55] <ForNeVeR> uggur: хорошо, и каким же образом я, как администратор бота, должен модифицировать этот файл?
[13:45:59] <uggur> Не хочешь чтобы бот говорил -- отключи плагин %)
[13:46:04] <uggur> ForNeVeR: Никак. Ты не разработчик (%
[13:46:14] <ForNeVeR> Не годится.
[13:46:20] <ForNeVeR> К счастью, я и разработчик тоже.
[13:46:30] <ForNeVeR> Так что я-разработчик буду делать добро мне-администратору.
[13:46:31] <uggur> Хочешь модифицировать -- или становись разработчиком, или пиши реквест автору плагина чтобы прикрутил конфиг.
[13:46:47] <ForNeVeR> uggur: уже написал. А как он прикрутит конфиг?
[13:46:59] <uggur> Ну, банальный текстовый файл?
[13:47:15] <ForNeVeR> Как администратор будет модифицировать его?
[13:47:16] <uggur> А внутри плагина будут подгружаться разные словари исходя из него?
[13:47:18] <ɹǝɟılʍǝu> Ящитаю, что map с локализацией должен лежать в каждом плагине, и а ядро будет дёргать оттуда.
[13:47:20] <uggur> ForNeVeR: Блокнотом.
[13:47:39] <ForNeVeR> uggur: а когда строки в файле обновятся вместе с хортой - мержить его?
[13:47:43] <ɹǝɟılʍǝu> А сам map тоже откуда-то нужно дёргать.
[13:47:47] <ForNeVeR> Плохой вариант. Давайте дальше.
[13:48:00] <uggur> Щито?
[13:48:07] <uggur> Ты меня не понял или я тебя не понял.
[13:48:09] <ɹǝɟılʍǝu> Можно, сохранять в отдельную таблицу.
[13:48:13] <ɹǝɟılʍǝu> В БД.
[13:48:33] <ForNeVeR> ɹǝɟılʍǝu: ага, и теперь у нас вся локализация берётся из текстовых файлов, а конкретно для этого плагина - из БД.
[13:48:44] <ForNeVeR> Не, ну нормальный вариант, в общем-то. Я к нему же склоняюсь.
[13:49:05] <ForNeVeR> Только плагин ещё и должен знать язык каждой комнаты и генерить для них сообщения в нужном языке.
[13:49:13] <uggur> Нет :)
[13:49:15] <ForNeVeR> Можно ли сделать лучше и проще?
[13:49:18] <uggur> Вот этим должно заниматься ядро
[13:49:21] <ɹǝɟılʍǝu> Этим ядро должно заниматься.
[13:49:25] <ForNeVeR> Ок, как?
[13:49:34] <uggur> Ну, настройки для каждой конфы?
[13:49:45] <ɹǝɟılʍǝu> В настройках на комнату стоит флаг с локой.
[13:49:46] <ForNeVeR> Ядро должно знать и про файлы локализации, и про настройку для плагина FunnyAnswers в БД?
[13:49:53] <ɹǝɟılʍǝu> Нет.
[13:49:54] <uggur> Нет.
[13:49:58] <ɹǝɟılʍǝu> Настройки в БД для комнат.
[13:50:10] <ForNeVeR> Настройки для комнат как раз в конфиге.
[13:50:11] <ɹǝɟılʍǝu> В том числе пароль к логам комнаты, и т.п.
[13:50:16] <ɹǝɟılʍǝu> А плохо!
[13:50:18] <ForNeVeR> Они уже сейчас там, я не вижу смысла переносить их в БД.
[13:50:24] <uggur> Ядро должно знать про настройку для комнаты и про наличие плагина.
[13:50:32] <ɹǝɟılʍǝu> Для комнат лучше в БД хранить.
[13:50:47] <uggur> Плагин должен значить про наличие локализации и про настройки плагина.
[13:50:52] <ForNeVeR> Господа, ну вы же понимаете все преимущества текстового конфига над бинарным.
[13:51:05] Славный капитан вышел из конференции
[13:51:06] <ɹǝɟılʍǝu> Ну или отделить от общих настроек бота, как минимум.
[13:51:19] <ForNeVeR> Хотя динамическое добавление комнат - это тоже дело хорошее.
[13:51:37] <ɹǝɟılʍǝu> Очень полезное, я бы сказал.
[13:51:40] <ɹǝɟılʍǝu> И правильное.
[13:51:44] <ForNeVeR> Ладно, пусть комнаты лежат в БД. Что дальше?
[13:52:12] <ForNeVeR> Плагин хочет сгенерить сообщение "пет покормлен, вы получили $x PTC, ваш новый баланс: $y PTC"
[13:52:17] <ForNeVeR> Его действия?
[13:52:33] <ɹǝɟılʍǝu> Хм.
[13:52:44] <ɹǝɟılʍǝu> Своя схема на каждую конфу?)
[13:52:59] <ɹǝɟılʍǝu> Энтерпрайзно. %)
[13:53:05] <ForNeVeR> Допустим, он формирует сообщение Template(PET_POKORMLEN, x, y) и отправляет ядру.
[13:53:12] <ForNeVeR> Что делает ядро?
[13:53:55] <ForNeVeR> Какой контекст ему нужен, чтобы сформировать сообщение (падежи и плюрализацию я пока намеренно опускаю).
[13:53:59] <ForNeVeR> s/./?/
[13:54:02] <horta hell> ForNeVeR: Какой контекст ему нужен, чтобы сформировать сообщение (падежи и плюрализацию я пока намеренно опускаю)?
[13:54:13] <ɹǝɟılʍǝu> Хм.
[13:54:34] <ɹǝɟılʍǝu> Предлагаешь всё хранить в одном месте?
[13:54:43] <ForNeVeR> Ну, мне это видится более правильным.
[13:54:51] <ForNeVeR> А вообще, FunnyAnswers можно вообще сделать отдельным механизмом.
[13:55:12] <ForNeVeR> Тогда остаются только обязательные статические сообщения, которые нет смысла хранить в БД.
[13:55:33] <ɹǝɟılʍǝu> А мне кажется правильным отделать общее, от комнат.
[13:55:33] Славный капитан зашёл в конференцию
[13:55:45] <ForNeVeR> json-файлики (а лучше какой-нибудь yaml или typesafe config) с локализацией - это ок в таком случае.
[13:56:23] <ForNeVeR> (отдельные для каждого плагина для сохранения контекста и пущей управляемости)
[13:59:23] <ɹǝɟılʍǝu> Так.
[13:59:39] <ɹǝɟılʍǝu> Посоветуйте либы для выковыривания бэктрейсов.
[13:59:43] <ɹǝɟılʍǝu> На плюсах. :)
[14:00:41] horta hell вышел из конференции: Disconnected: closed
[14:03:06] horta hell зашёл в конференцию
[14:03:12] <rexim> horta hell,
[14:03:20] <rexim> $pet stats
[14:03:20] <horta hell> rexim:
Кличка: Сволота
Здоровье: 44
Голод: 78
Возраст: 5 часов
[14:03:23] <rexim> $pet feed
[14:03:25] <horta hell> rexim: Сволота покормлен.
[14:03:28] <rexim> $pet heal
[14:03:28] <horta hell> rexim: Сволота здоров.
[14:06:14] Славный капитан вышел из конференции: Replaced by new connection
[14:06:20] Славный капитан зашёл в конференцию
[14:07:09] <uggur> ForNeVeR: как я это вижу http://plasmon.rghost.ru/57625528/image.png
[14:07:33] <ɹǝɟılʍǝu> Уруру!
[14:07:52] <uggur> :)
[14:11:13] <rexim> А не опасно между акторами функции кидать?
[14:11:31] <rexim> Надо как-то убеждаться, что они чистые...
[14:11:36] <uggur> rexim: так они же будут кидаться на этапе инициализации.
[14:11:53] <uggur> Я считаю что локаль не нужно менять в рантайме.
[14:12:14] <uggur> Итого, будет кидаться только сконструированная функция плагинам, и всё.
[14:12:30] <ɹǝɟılʍǝu> Игого будет!
[14:12:53] Славный капитан вышел из конференции: Replaced by new connection
[14:12:55] Славный капитан зашёл в конференцию
[14:14:15] <rexim> Я нихуя не понял, как это уменьшает опасность, ну да ладно.
[14:14:22] <rexim> А в этой акке можно кидать функции между акторами, которые физически находятся на разных машинах?
[14:14:45] Myp зашёл в конференцию
[14:15:13] <ForNeVeR> Функции кидать - это странно.
[14:15:28] <rexim> Во! Даже Форневер меня поддерживает. :)
[14:15:30] <ForNeVeR> Для этого лучше всего выделять отдельных акторов и кидать уже их.
[14:15:52] <uggur> Ну или на этапе конструирования акторов, да.
[14:15:58] * ɹǝɟılʍǝu представил, как Форнёвер берёт актЁра и кидается им в еретиков.
[14:16:16] <ForNeVeR> Ну да ладно, "каррированная функция с локалью" - это что-то странное, это нужно будет ещё обсудить.
[14:16:36] <uggur> ForNeVeR: Ну, просто функция + данные
[14:16:48] <uggur> Данные в данном случае -- это как раз информация о локали.
[14:17:00] <ForNeVeR> uggur: получается, что в каждом плагине свой собственный метод getLocalized? И его реализуют кто во что горазд?
[14:17:09] <uggur> Нет.
[14:17:20] <uggur> В каждом плагине метод из ядра.
[14:17:37] <ForNeVeR> Значит, это в ядре метод, а не в плагинах %)
[14:17:41] <uggur> А реализует его разработчик ядра. И пишет спецификацию для файлов локализации.
[14:17:57] <uggur> ForNeVeR: но он же передаётся акторам и вызывается в их контексте.
[14:18:04] <ForNeVeR> uggur: я совсем запутался. А почему тогда getLocalized нарисовано в плагине?
[14:18:20] <ForNeVeR> Если спека для json и сам обработчик json сидит в ядре.
[14:18:26] <uggur> Потому что метод передаётся актору плагина и вызывается в его контексте.
[14:18:37] <uggur> Какой обработчик json?
[14:18:40] <ForNeVeR> Ты перекурил жабаскрипта чтоле.
[14:19:02] <ɹǝɟılʍǝu> Или питона.
[14:19:04] <ForNeVeR> Никаких вызовов методов в чужих контекстах! А то, может, ещё прототипное наследование впилим?
[14:19:16] <rexim> Форневер яросте!
[14:19:18] <ɹǝɟılʍǝu> Там можно какими-то изъёбами сохраять остояние функции, например.
[14:19:45] <uggur> ForNeVeR: Как в R? =^.^=
[14:20:07] <ForNeVeR> Я считаю, что нужно сделать так же, как сейчас сделано с DAO.
[14:20:21] <ForNeVeR> Каждый плагин предоставляет класс локализатора (или использует дефолтный).
[14:20:34] <ForNeVeR> Ядро инстанцирует этих локализаторов (они должны быть акторами).
[14:21:02] <ForNeVeR> Когда плагин запрашивает для себя локализацию - мы отправляем сообщение локализатору, он достаёт строку у себя из закромов и отдаёт её плагину.
[14:21:17] <uggur> Ну, тоже можно :)
[14:21:39] <uggur> Если ты напишешь тот самый дефолтный локализатор и спекки :)
[14:21:39] <ɹǝɟılʍǝu> ForNeVeR, я тебе про что и говорил.
[14:21:47] <ForNeVeR> Локализаторы могут реализовать у себя кеширование, но по дефолту будем считать, что их методы могут делать тяжёлое IO (в файловую систему или БД) и быть асинхронными.
[14:22:11] <ForNeVeR> На самом деле, вопрос локализации довольно важен. Полифчу его в 1.0.
[14:22:12] <rexim> ɹǝɟılʍǝu, не обращай внимания, он все равно никого никогда не слушает. :3
[14:22:20] <ForNeVeR> ɹǝɟılʍǝu: нет, ты такого не говорил.
[14:22:21] <ɹǝɟılʍǝu> Я уже понял.
[14:22:35] <ForNeVeR> ɹǝɟılʍǝu: ты говорил только про "отделить общее от частного" или что-то в этом роде.
[14:22:49] <ɹǝɟılʍǝu> И это тоже.
[14:23:10] <ForNeVeR> У меня от тебя гносеологический коллапс.
[14:23:23] <rexim> ануса^U
[14:23:58] <ɹǝɟılʍǝu> ыыы
[14:24:25] <ɹǝɟılʍǝu> Хотя, конечно, говорил я криво...
[14:24:28] <ɹǝɟılʍǝu> Так что не мудрено)
[14:24:33] <ɹǝɟılʍǝu> Так.
[14:24:51] <ɹǝɟılʍǝu> Есть кроссплатформенный ну или нмалозависимый от сторонних либ backtrace?
[14:24:57] <rexim> Круто! Можно нести всякую хуйню, а потом говорить "я тебе про что и говорил". :D
[14:25:04] <ForNeVeR> ɹǝɟılʍǝu: у гугла что-то такое было.
[14:25:11] <ɹǝɟılʍǝu> ForNeVeR, щас посмотрю.
[14:25:17] <ForNeVeR> rexim: как видишь, это не работает. Хотя делать так можно.
[14:25:29] <ɹǝɟılʍǝu> rexim, typical pegasus
[14:25:32] <ForNeVeR> rexim: с таким же успехом можно просто нести хуйню.
[14:25:37] <ForNeVeR> И даже не нести.
[14:26:02] <uggur> ...а молча вызывать свои методы в чужих контекстах пока никто не видит %)
[14:26:14] <rexim> uggur, .\_/.
[14:26:54] <uggur> rexim: /о.о\
[14:27:02] <rexim> Что-то начиная с версии 1.3.173 у h2 с постгресовым протоколом какой-то пиздец случился...
[14:27:09] <rexim> Либо я опять обкурился.
[14:27:57] <ForNeVeR> А в API плагина мы сделаем что-то типа
val x = ptcAmount
withLocalization "pet feeded" { loc => loc.Format(x, y, z) }
[14:28:18] <uggur> Расшифруй
[14:28:46] <uggur> Или точки со скобками расставь %)
[14:29:02] <ForNeVeR> withLocalization(key: String)(callback: Localization => Unit)
[14:29:18] <ForNeVeR> Точки со скобками не нужны, это синтаксически валидно.
[14:29:57] <ɹǝɟılʍǝu> ForNeVeR, ты прав.
[14:29:58] <ForNeVeR> Можно даже "pet feeded" localize { loc => ... }
[14:30:01] <ɹǝɟılʍǝu> У гугла есть google-breakpad
[14:30:16] <ForNeVeR> ɹǝɟılʍǝu: я вспоминал его название вчера, но не вспомнил.
[14:30:25] <ForNeVeR> Магог его юзал.
[14:30:38] <ForNeVeR> Когда придёт - можно его спросить. У него как раз кроссплатформенное приложение.
[14:30:55] <ForNeVeR> И дедфуда потыкай - у него был какой-то плагин для репортинга ошибок.
[14:31:14] <ɹǝɟılʍǝu> Хм.
[14:31:22] <uggur> ForNeVeR: Ну ОК. А в какой форме будем хранить локализацию и настройки, и прочее?
[14:31:41] <ForNeVeR> uggur: я считаю, что настройки пусть пока живут в properties.
[14:31:57] <ForNeVeR> В принципе, можно и локализацию в них же сделать. Это как-то нетехнологично, правда.
[14:32:15] <uggur> Почему?
[14:32:22] <uggur> Ты указываешь конфу и указываешь сразу язык
[14:32:29] <ForNeVeR> А, ну это-то да, конечно.
[14:32:38] <ForNeVeR> codingteam.language=C++
[14:32:46] <ForNeVeR> Тут и думать не о чем.
[14:33:00] <uggur> codingteam.language=--C++
[14:33:20] <rexim> Хватит тут передёргивать!
[14:33:28] <uggur> ForNeVeR: ОК, а какой язык выберем основным?
[14:33:31] <uggur> Английский?
[14:33:44] <ForNeVeR> uggur: я считаю, что это тоже должно храниться в настройках бота.
[14:33:52] <uggur> Не пойдёт.
[14:33:58] <ForNeVeR> Если нет локализации конкретной фразы для заданного языка - он берёт дефолтную.
[14:34:01] <uggur> Основной язык ляжет в спецификацию файлов локализации.
[14:34:04] <ForNeVeR> Эта настройка должна быть глобальной.
[14:34:11] <uggur> Вот какой будет дефолтный?
[14:34:13] <ForNeVeR> Ну и - таки да, по умолчанию - английский.
[14:34:20] <ɹǝɟılʍǝu> Смотри-ка.
[14:34:36] <ɹǝɟılʍǝu> У Хирворка есть либа для бэктрейсов.
[14:34:53] <uggur> ForNeVeR: Мхм... много хардстрингов переводить придётся (%
[14:35:03] <uggur> Ты же хотел потренироваться в английском? %)))
[14:35:13] <ɹǝɟılʍǝu> m4n71k0r, смотри-ка https://github.com/yazd/backtrace-d
[14:35:32] <ForNeVeR> uggur: там хардстринги смешные совершенно. Их легко перевести.
[14:35:44] <ForNeVeR> uggur: и их, кстати, в обе стороны придётся переводить :D
[14:35:52] <uggur> (%
[14:36:08] <ForNeVeR> У нас примерно треть всех строк - на английском.
[14:36:12] <ɹǝɟılʍǝu> Хардстринги — это такие бронетрусы?
[14:36:15] <uggur> Я про мокрых поняшек переводить не буду %)
[14:36:26] <ForNeVeR> uggur: мокрые поняшки поедут в базу.
[14:36:35] <ɹǝɟılʍǝu> uggur, почему это?
[14:36:41] <ForNeVeR> Для них будет совершенно отдельная история.
[14:36:50] <uggur> ForNeVeR: Почему с ними не унифицировать так же?
[14:36:57] <ForNeVeR> uggur: я уже пояснял раза три.
[14:37:11] <ForNeVeR> Поняшки - это куча неструктурированных сообщений.
[14:37:21] <ForNeVeR> Им нужна возможность локализации админом комнаты.
[14:37:38] <ForNeVeR> Значит, они будут храниться в другом месте - в БД.
[14:37:41] <uggur> Ты заставляешь админа быть программистом %)
[14:37:48] <ForNeVeR> Что?
[14:37:57] <ForNeVeR> У него будет либо веб-интерфейс, либо команды бота.
[14:37:58] m4n71k0r вышел из конференции
[14:38:08] <uggur> Ну ОК, посмотрим как оно получится.
[14:38:21] <uggur> ɹǝɟılʍǝu: Не хочу потому что :)
[14:39:12] <ɹǝɟılʍǝu> Ну ок)
[14:39:18] * ForNeVeR подумывает о том, чтобы выпилить этих поняшек в варп, да и дело с концом.
[14:39:24] <ForNeVeR> Из-за них - сплошные проблемы.
[14:39:58] <ɹǝɟılʍǝu> Полезно http://lenta.ru/news/2014/08/23/nochair/
[14:41:31] <ɹǝɟılʍǝu> BOOST_THROW_EXCEPTION
[14:41:36] <ɹǝɟılʍǝu> БУСТ КИДАТЬ ИСКЛЮЧЕНИЕ
[14:43:55] <Myp> бустовое метательное исключение!
[14:45:37] <ForNeVeR> Ускоренно брошенное.
[14:46:06] <rexim> Boost the Exception by Throwing!
[14:46:13] <ɹǝɟılʍǝu> Прикольная либа. https://github.com/Nanolat/c-callstack
[14:47:06] <ɹǝɟılʍǝu> Целый макрос.
[14:48:48] <Myp> ɹǝɟılʍǝu: ЛОЛ
[14:49:01] <ForNeVeR> Наркомания какая-то, а не макрос.
[14:49:28] <ForNeVeR> Я даже не представляю, как сложно форсить конвенции, при которых этот макрос будет действительно печатать колстеки
[14:49:43] ckorzhik зашёл в конференцию
[14:50:45] <uggur> лол коммиты
[15:02:09] <uggur> ForNeVeR: http://lenta.ru/articles/2014/08/15/ebolavirus/ вот тебе раз интересуешься биологией :)
[15:03:17] <ForNeVeR> uggur: я уж читал про этих няшных обезьянок :3
[15:03:27] <uggur> Именно эту статью?
[15:03:32] <ForNeVeR> Да.
[15:03:41] <ForNeVeR> Ну не может же эта картинка быть где-то ещё!
[15:03:48] <uggur> :D
[15:05:31] <rexim> Посоны
[15:05:38] <rexim> Я затрахался
[15:05:45] <rexim> Пойду перепишу все это на скале...
[15:05:53] <uggur> А ты что писал?
[15:06:07] <rexim> uggur, конвертор логов же.
[15:06:53] <uggur> Хех
[15:07:01] <uggur> Вспомнил цитату про перл
[15:07:02] <uggur> :)
[15:07:37] <rexim> Да
[15:07:42] <ɹǝɟılʍǝu> Затраханный миксер. :(
[15:07:48] <rexim> Там проблема тольк в сношении перла и h2.
[15:07:53] <rexim> только*
[15:07:55] <uggur> А насколько скала подходит для быстрого и глупого программирования?
[15:08:10] <uggur> Чтобы как питон
[15:08:18] <ɹǝɟılʍǝu> Руби
[15:08:19] <rexim> Зависит от степени быстроты и глупости.
[15:08:28] <ɹǝɟılʍǝu> Парни, я нашёл кое-что интересное.
[15:08:39] <ɹǝɟılʍǝu> И не слишком большое, как google backpa
[15:08:41] <ɹǝɟılʍǝu> И не слишком большое, как google backpad
[15:08:43] <ɹǝɟılʍǝu> http://sourceforge.net/projects/stacktrace/
[15:08:52] <uggur> Просто у меня начинается курс по биоинформатическим алгоритмам, но я хочу попробовать скалу.
[15:08:55] <ɹǝɟılʍǝu> В принципе, такую обмазку можно было и самом написать, конечно...
[15:09:01] <rexim> > 0 Downloads
[15:09:18] <uggur> С другой стороны, опыта в итоне у меня больше и курс не простой. Потому я хотел бы решать задачи, а не воевать со скалой.
[15:09:19] <rexim> А
[15:09:23] <rexim> (This Week) ^)
[15:09:36] <uggur> Это хорошая идея или лучше остаться на питоне?
[15:10:41] <uggur> rexim: Вообще
[15:10:52] <rexim> uggur, ?
[15:10:53] <Славный капитан> я кстати вам таки скажу
[15:10:54] <uggur> https://sourceforge.net/projects/stacktrace/files/stats/timeline?dates=2012-08-17+to+2014-08-23
[15:11:00] <Славный капитан> вы хуйней занимаетесь
[15:11:12] <rexim> uggur, лол
[15:11:15] <Славный капитан> в хорте нужен диспетчер сообщений
[15:11:19] <rexim> Славный капитан, спасибо, капитан.
[15:11:26] <rexim> Что бы мы без тебя делали.
[15:11:33] <Славный капитан> то же самое
[15:12:02] <Славный капитан> причем нормальный диспетчер, чтобы плагины могли сами подписываться на нужные им типы сообщений
[15:12:24] <rexim> Славный капитан, зопейли. :3
[15:12:32] <Славный капитан> влом
[15:12:38] <rexim> Ага
[15:13:00] <Славный капитан> я лучше пойду запилю пасты с томатно-мясным соусом
[15:13:15] <rexim> Давай, иди.
[15:13:25] <rexim> Приятного аппетита. :3
[15:13:36] <ɹǝɟılʍǝu> Миксер такой милашка. :3
[15:13:46] <rexim> хуяшка
[15:13:50] <ɹǝɟılʍǝu> Ага)
[15:13:53] <Славный капитан> Рахмат, рахмат.
[15:15:32] govardhan зашёл в конференцию
[15:15:42] <uggur> лол, Славный капитан вызывал govardhan %)
[15:16:00] <rexim> uggur, он так постоянно делает.
[15:16:39] govardhan вышел из конференции: Replaced by new connection
[15:16:41] govardhan зашёл в конференцию
[15:17:26] <uggur> rexim: Напомни мне, во что ты конвертируешь логи-то?
[15:17:36] <rexim> uggur, в базу бота
[15:17:48] <uggur> Эмм...
[15:17:53] <rexim> ?
[15:18:05] <uggur> Ладно: "с чего ты конвертируешь логи"? %)
[15:18:17] <rexim> С дедфудовых логов.
[15:18:30] <uggur> html -> h2?
[15:18:32] <rexim> Да
[15:19:21] <uggur> Хорошо
[15:19:35] <rexim> Думаешь?
[15:19:46] <uggur> Спасибо -- это причёсывание поможет мне в анализе данных :)
[15:20:25] <uggur> rexim: Ну уж лучше чем я сделал х)
[15:20:43] <rexim> Текущая версия: https://github.com/rexim/freq-parser
[15:20:46] <rexim> Если что.
[15:21:00] <rexim> Но она не готова.
[15:22:10] <rexim> Вообще все очень странно.
[15:22:18] <rexim> С h2 1.3.170 все прекрасно работает.
[15:22:22] <uggur> Парсишь HTML регэкспами?
[15:22:22] <rexim> Чуть выше - хуй.
[15:22:35] <rexim> uggur, дыа :3
[15:22:54] <rexim> http://stackoverflow.com/a/1732454
[15:23:00] <uggur> "uggur: Парсишь HTML регэкспами?
rexim: Чуть выше - хуй."
Сам ты хуй %)
[15:23:11] <rexim> uggur, xD
[15:23:18] <rexim> uggur, я не тебя имел ввиду, сорри. )
[15:23:49] <rexim> Хотя, да, ты хуй. :3
[15:23:55] <uggur> %)))
[15:24:24] <uggur> А что мешает юзать 1.3.170 ?
[15:25:07] <rexim> Ну, как-то непрятно, что реализация работает только при использовании конкретной версии h2.
[15:25:17] <rexim> Хотя, нам же оно нужно только один раз.
[15:25:18] <uggur> Так это одноразовое решение.
[15:37:32] <rexim> Плюс, он через постгресовский протокол 500 сообщений вставляет секунд 15.
[15:37:44] <rexim> Это очень подозрительно.
[15:37:58] <rexim> Автокоммит отключин явно.
[15:38:26] <rexim> отключен*
[15:38:59] <rexim> Провальная это была затея с самого начала. Надо было юзать скалу и не выёбываться. :)
[15:40:17] <rexim> Сейчас попробую вставить столько же сообщений на скале через JDBC, и если будет быстрее, то точно начну переписывать.
[15:41:52] govardhan вышел из конференции
[15:45:06] <rexim> А свой статический сайтег перепишу!
[15:45:11] <ɹǝɟılʍǝu> Yfgbib yf [fcrtkt/
[15:45:13] <rexim> Нахуй этот перл посоны!
[15:45:28] <ɹǝɟılʍǝu> На хаскеле напиши.
[15:45:49] <rexim> ɹǝɟılʍǝu, и получится hakyll?
[15:45:55] <ɹǝɟılʍǝu> Lf
[15:45:57] <ɹǝɟılʍǝu> Да.
[15:46:18] <rexim> Спасибо, за совет.
[15:46:45] <a1batross> Hakyll and Jyde
[15:46:54] <a1batross> *Jede
[15:47:26] <rexim> a1batross, альбатроссушка!
[15:47:37] <a1batross> rexim: миксерочек!
[15:47:44] <rexim> a1batross, пообещай, что никогда не будешь писать на перле. :(
[15:48:10] <a1batross> rexim: а это весело?
[15:48:20] <rexim> Не писать на перле?
[15:48:26] <uggur> a1batross: весело от слова висилиццо
[15:48:30] <a1batross> Тогда ок
[15:50:23] <rexim> Зашел на сайт slick. А там у них 2.0.3 вышел после 2.1.0 ._.
[15:50:34] <rexim> http://slick.typesafe.com/
[15:51:45] <Славный капитан> http://cs616120.vk.me/v616120640/15994/m_2HFRb3ATo.jpg
[15:51:47] <Славный капитан> завидуйте ;3
[15:52:08] <rexim> Славный капитан, какой охуенный нож!
[15:52:27] <Славный капитан> он хуевый
[15:52:33] <rexim> охуевший
[15:52:35] <ForNeVeR> rexim: пыхтон 2.7 тоже вышел после 3.0, по-моему.
[15:52:52] <uggur> Мде, я на эту вермишель уже смотреть не могу за несколько лет ею питания %)
[15:53:08] <rexim> ForNeVeR, да, я догадался, что они поддерживают две несовместимых версии. Но в ленте новостей мне это мозг взрывает. )
[15:54:07] <rexim> Хм... а ведь весь мой опыт работы со slick остался во временах 1.0
[15:54:13] <rexim> Пришло время читать доки!
[15:54:44] <rexim> Кажется, нихуя не поменялось ._.
[15:59:44] nexfwall зашёл в конференцию
[16:03:38] <Славный капитан> уррр
[16:03:41] <Славный капитан> збс поел
[16:05:11] <uggur> rexim: Радуйся
[16:05:22] <uggur> Значит ты правильно всё написал на перле
[16:05:23] <uggur> :3
[16:07:48] <ForNeVeR> Разве на перле можно написать неправильно?
[16:08:37] <rexim> Неправильно, что начал писать на перле?
[16:10:33] <uggur> ForNeVeR: Почитал твои заметки -- буду изучать возможности IDEA по рефакторингу %)
[16:10:58] <ForNeVeR> Какие мои заметки? о.О
[16:11:32] <uggur> https://github.com/codingteam/horta-hell/pull/220/files#r16630156
[16:14:19] <Славный капитан> и кружка крепкого, сладкого кофе для полного счастья
[16:17:14] <uggur> ForNeVeR: https://github.com/IngvarJackal/horta-hell/commit/91618d8fe7d68874ae154afb606785d2d993466b так?
[16:18:04] <ForNeVeR> uggur: да.
[16:21:09] Myp вышел из конференции
[16:25:45] a1batross вышел из конференции: Disconnected: closed
[16:28:10] m4n71k0r зашёл в конференцию
[16:35:48] Славный капитан вышел из конференции
[16:38:06] <ForNeVeR> uggur: ну что, щас затестим.
[16:38:12] <rexim> Плять, ну быстрее же на скале.
[16:38:18] <ForNeVeR> rexim: ололо.
[16:38:20] <rexim> Нахуй, перл, на-хуй!
[16:39:50] horta hell вышел из конференции: Disconnected: closed
[16:39:57] horta hell зашёл в конференцию
[16:40:33] <ForNeVeR> $pet feed
[16:40:33] <horta hell> ForNeVeR: Сволота не желает есть.
[16:40:38] <ForNeVeR> Чего?!
[16:40:40] <ForNeVeR> $pet feed
[16:40:40] <horta hell> ForNeVeR: Сволота отвернулся, брезгуя.
[16:40:42] <ForNeVeR> $pet feed
[16:40:42] <horta hell> ForNeVeR: Сволота покормлен.
[16:40:47] <ForNeVeR> Гы.
[16:40:51] <ForNeVeR> $pet stats
[16:40:51] <horta hell> ForNeVeR:
Кличка: Сволота
Здоровье: 73
Голод: 100
Возраст: 8 часов
[16:46:12] Славный капитан зашёл в конференцию
[16:50:40] <m4n71k0r> с вероятность 1/5 эта тварина может отобрать 5 птц при кормёжке?
[16:50:48] <m4n71k0r> хренасе новость
[16:51:19] <uggur> m4n71k0r: Только если слишком голодная.
[16:51:45] <m4n71k0r> либо вообще не покормить
[16:51:50] <m4n71k0r> а смысл тогда?
[16:52:07] <uggur> "либо вообще не покормить" ?
[16:52:36] <m4n71k0r> https://github.com/codingteam/horta-hell/commit/e477e366704e19be0d9247ce7eacb0f86f3fa1d1#diff-c0e055ce58e83c7641f4a6210297b12aR48
[16:52:41] <ForNeVeR> Я щас подтюню циферки.
[16:52:53] <m4n71k0r> так там нет else
[16:53:11] <m4n71k0r> https://github.com/codingteam/horta-hell/commit/e477e366704e19be0d9247ce7eacb0f86f3fa1d1#diff-c0e055ce58e83c7641f4a6210297b12aR49 и пиздец
[16:53:29] <uggur> m4n71k0r:
+ } else {
+ c = PtcUtils.updatePTC(username, pet.coins, 1)
+ r = s"${pet.nickname}" + pet.randomChoice(successfulFeeding) + ". Вы зарабатываете 1PTC."
[16:53:32] <uggur> Это не то?
[16:53:38] <m4n71k0r> нет
[16:53:41] <m4n71k0r> это не то
[16:53:52] <m4n71k0r> условие, если пет не набрасывается
[16:54:11] <uggur> А, понял о чём ты
[16:54:18] <ForNeVeR> uggur: ага, если меньше 10 - значит, в 80% случаев ничего не получишь.
[16:54:43] <m4n71k0r> либо 5 теряешь, либо все потеряют по 1
[16:54:56] <m4n71k0r> когда оно сдохнет
[16:55:39] <m4n71k0r> а усиленные попытки покормить приведут только к массовым потерям птц)
[16:55:42] <uggur> ForNeVeR: А что ты с цифрами решил намутить?
[16:56:01] <rexim> $pet heal
[16:56:02] <horta hell> rexim: Сволота здоров.
[16:56:04] <rexim> $pet heal
[16:56:04] <horta hell> rexim: Сволота здоров.
[16:56:08] <rexim> $pet feed
[16:56:08] <horta hell> rexim: Сволота сыт.
[16:56:09] <rexim> $pet feed
[16:56:10] <horta hell> rexim: Сволота скривился от попытки его пичкать едой.
[16:56:18] <rexim> ссыт*
[16:56:33] <ForNeVeR> uggur: 5PTC - это слишком много.
[16:56:41] <uggur> 3 РТС?
[16:56:43] <ForNeVeR> uggur: к тому же, ты, кажется, забыл проверить на минус, нет?
[16:56:55] <uggur> ForNeVeR: Какой минус?
[16:57:07] <ForNeVeR> uggur: шобы меньше нуля не было.
[16:57:11] <m4n71k0r> а updatePTC не проверяет?
[16:57:13] <uggur> В методе проверка.
[16:57:19] <uggur> max(0, ptc)
[16:57:22] <uggur> Или как там.
[16:57:32] <ForNeVeR> А, ну да.
[16:57:35] <ForNeVeR> Ок.
[16:57:58] <m4n71k0r> добавьте, пожалуйста случай, когда пет был очень голоден и не напал
[16:58:21] <ForNeVeR> m4n71k0r: да, я добавляю.
[16:58:27] <m4n71k0r> спасибо
[16:58:32] <ForNeVeR> Очень голодный пет будет давать +5 или отнимать 1.
[16:58:47] <ForNeVeR> С равной вероятностью.
[16:58:50] <uggur> А что так мало отнимать?
[16:58:58] <ForNeVeR> Да и так бедные все!
[16:59:09] <uggur> +3 и -2
[16:59:14] <ForNeVeR> Надо стимулировать экономику. Я знаю только один способ - эмиссию :3
[16:59:35] <uggur> Инфляция будет :Ь
[16:59:44] <uggur> $pet
[16:59:44] <horta hell> uggur: Попробуйте $pet help.
[16:59:47] <uggur> $pet help
[16:59:48] <horta hell> uggur: Доступные команды: change-nick, stats, resurrect, transfer, rating, heal, feed, coins, kill
[16:59:53] <uggur> $pet rating
[16:59:54] <horta hell> uggur:
zxc: 112PTC
ɹ…: 33PTC
eaeee: 5PTC
Minoru: 5PTC
m…: 4PTC
F…: 3PTC
[17:00:02] <uggur> Вон, zxc пострадает больше всех.
[17:00:05] <m4n71k0r> добавим $pet trick
[17:00:11] <uggur> И второй.
[17:00:14] <m4n71k0r> чтобы что-нибудь показывал за деньги
[17:00:30] <uggur> m4n71k0r: Статы и рейтинг :D
[17:00:44] <ɹǝɟılʍǝu> zxc всех купит.
[17:01:05] <uggur> Не купит, если ForNeVeR будет расшвыриваться золотым запасом.
[17:01:56] <uggur> ForNeVeR: Кстати, посмотри ещё на https://github.com/codingteam/horta-hell/commit/e477e366704e19be0d9247ce7eacb0f86f3fa1d1#diff-234a7179bda2e6ecab877a5c4e139e0fR95
[17:01:57] <ɹǝɟılʍǝu> Как мне назвать скорпиончика?
[17:02:19] <uggur> ɹǝɟılʍǝu: m4n71k0r назови :)
[17:02:38] <ForNeVeR> uggur: ад кокой-то. Нужно будет как-то это стандартизировать, гм.
[17:02:45] <ɹǝɟılʍǝu> http://img0.joyreactor.cc/pics/post/breakingcatnews-Комиксы-1474220.png
[17:02:59] <m4n71k0r> нарисуйте диаграмму состояний
[17:03:00] <uggur> ForNeVeR: Может, понадобится деление на 2 чтобы проредить в промежутке от 10 до 7
[17:03:22] <uggur> Точнее конечно же нахождение остатка от деления на 2.
[17:03:47] <uggur> В оригинале там было hunger <= 10 && pet.hunger > 10 чтобы бот только один раз требовал еды.
[17:08:32] <ForNeVeR> Кстати, да. Давайте сделаем пета стейтмашиной!
[17:08:36] <uggur> ForNeVeR: Можно переписать как "при голоде от 15 до 5 с вероятностью 30% проваливается в действия ниже"
[17:08:52] <uggur> Или другую вероятность, ты же циферками балуешься %)
[17:08:59] horta hell вышел из конференции: Disconnected: closed
[17:09:04] horta hell зашёл в конференцию
[17:09:47] <uggur> "Давайте сделаем пета стейтмашиной!" а условия оно будет поддерживать?
[17:10:14] <uggur> Ведь если представить через матрицу переходов, то там всё случайное будет.
[17:10:18] <ForNeVeR> Стейтмашины поддерживают условия?
[17:10:28] * ForNeVeR не знает, что такое "поддерживать условия".
[17:10:53] <uggur> Это значит "вероятность перехода = 1"
[17:10:59] <uggur> Если выполняется какое-то условие.
[17:11:15] <uggur> Если здоровье меньше 0, то вероятность перехода в состояние "мёртв" = 1
[17:14:13] <uggur> ForNeVeR: Кстати, про нотацию без r и c -- у меня IDEA подчёркивала и ругалась что вне области видимости.
[17:14:22] <uggur> У тебя тоже или это я накосячил?
[17:15:03] <m4n71k0r> просто используй составное состояние Сытость/Здоровье/НаличиеЖизни
[17:15:13] <m4n71k0r> никаких условий
[17:15:30] <m4n71k0r> там вероятности просто
[17:15:53] <ForNeVeR> uggur: нет, у меня не ругается.
[17:16:20] <ForNeVeR> uggur: вероятно, ты просто неправильно написал. Если ты покажешь код, можно будет разобраться.
[17:16:38] <uggur> Так я же его не сохранял х)
[17:17:01] <ForNeVeR> Ну, друже, это цодингтим. Нет кода - нет дела.
[17:17:12] <uggur> Ну ОК (:
[17:17:38] <uggur> В следующий раз спросить тебя когда такая проблема возникнет?
[17:17:52] <m4n71k0r> [оффтоп] подскажите программу для записи звонков на андроиде, которая не требовала бы рута и была бесплатной
[17:19:35] <uggur> А насчёт коэффициентов -- ForNeVeR слишком добр х)
[17:20:38] <uggur> ForNeVeR: И ты понимаешь, что теперь нужно придумать куда тратить эти петкойны, ибо система разбалансирована?
[17:20:58] <ForNeVeR> uggur: да, давайте придумаем.
[17:22:53] <uggur> Пока что приходит в голову только "каждый день, которые делится на 13 без остатка -- вайпать БД" %)
[17:27:05] <uggur> ForNeVeR: Или случайным образом обменивать владельца РТС, уменьшая их общее число на 25% и называть это революцией (%
[17:39:55] <rexim> http://i.imgur.com/yTcZbta.png
[17:41:57] <uggur> лол
[17:42:29] <uggur> Напомнило потерю внешних оболочек красным гигантом
[17:42:46] <rexim> ._.
[17:43:01] <uggur> ...и остался белый карлик %)
[17:43:37] <ForNeVeR> А у меня в бложике есть постики про xmonad и nginx :3
[17:45:31] <uggur> o -- нейтронная звезда
[17:45:40] <uggur> * -- чёрная дыра (%
[17:45:55] <uggur> ForNeVeR: линк?
[17:46:16] <ForNeVeR> uggur: http://fornever.me/ же.
[17:46:35] <ForNeVeR> Там не настолько много постов, чтобы можно было заблудиться ._.
[17:46:55] <uggur> Мде
[17:47:02] <rexim> Хуяк-хуяк! https://github.com/rexim/freq-parser/blob/master/src/main/scala/ru/org/codingteam/freqparser/Main.scala
[17:47:04] <uggur> С моим разрешением тайлинг не нужен %)
[17:47:18] <uggur> Ы, и строк кода меньше
[17:47:21] <rexim> uggur, ты на ноуте сидишь?
[17:47:28] <uggur> rexim: Да.
[17:47:36] <uggur> Я же нищебродский студент, забыл?
[17:47:41] <uggur> И дома у меня нет (%
[17:47:54] <rexim> Я думал ты богатый и успешный биолог. :(
[17:47:59] <ForNeVeR> uggur: миксер не нищебродский студент, но у него тоже только ноут.
[17:48:23] <rexim> Миксер просто ленивая жопа.
[17:48:25] <rexim> Вот.
[17:48:32] <ForNeVeR> Нет, ленивый хуй!
[17:48:36] <rexim> >_<
[17:49:06] <ɹǝɟılʍǝu> А Форневер — жопа?
[17:49:28] <ForNeVeR> ~_~
[17:54:32] ckorzhik вышел из конференции
[18:05:27] rexim вышел из конференции
[18:22:33] Myp зашёл в конференцию
[18:29:01] Myp вышел из конференции
[18:30:49] Myp зашёл в конференцию
[18:31:15] rea вышел из конференции: Вышел из Vacuum-IM
[18:32:53] <uggur> http://tau.rghost.ru/private/57629812/8ad3e28049bfd62cb1da0f6c20969726/image.png
[18:33:14] Myp вышел из конференции
[18:33:30] rea зашёл в конференцию
[18:36:48] <ɹǝɟılʍǝu> Это новые эффекты.
[18:37:07] <ɹǝɟılʍǝu> Алсо, всегда бесила такая хуйня с топиком.
[18:37:25] <uggur> Меня тоже
[18:37:41] <uggur> Такое ощущение, будто смотришь в чат через забрало шлема или советский противогаз -__-
[18:38:46] O01eg зашёл в конференцию
[18:38:57] <uggur> http://leo.astronomy.cz/grlens/grl0.html ы
[18:54:23] kosc зашёл в конференцию
[19:17:19] nexfwall вышел из конференции: Вышел из Vacuum-IM
[19:32:52] rexim зашёл в конференцию
[19:47:38] <kosc> $pet feed
[19:47:40] <horta hell> kosc: Сволота не желает есть.
[19:47:41] <kosc> $pet heal
[19:47:42] <horta hell> kosc: Сволота здоров.
[19:47:45] <kosc> $pet stats
[19:47:46] <horta hell> kosc:
Кличка: Сволота
Здоровье: 100
Голод: 100
Возраст: 11 часов
[19:47:49] <rexim> $pet feed
[19:47:49] <horta hell> rexim: Сволота сыт.
[19:47:50] <kosc> Ёёё
[19:47:52] <kosc> Посоны
[19:47:56] <kosc> Как вы могли?
[19:48:07] <kosc> rexim: как ты допустил-то такое?
[19:48:36] <ForNeVeR> kosc: пет теперь отбрыкивается и отказывается от питания.
[19:48:48] <ForNeVeR> Иногда даже петкоины ворует :3
[19:50:37] <kosc> Жесть
[19:50:44] <kosc> ForNeVeR: ты запиливал?
[19:50:49] <kosc> $pet feed
[19:50:50] <horta hell> kosc: Сволота покормлен.
[19:50:53] <kosc> $pet feed
[19:50:53] <horta hell> kosc: Сволота покормлен.
[19:50:55] <kosc> $pet feed
[19:50:55] <horta hell> kosc: Сволота отвернулся, брезгуя.
[19:51:02] <kosc> Только на третий раз
[19:51:09] <ForNeVeR> kosc: нет.
[19:51:28] <ForNeVeR> Скажем спасибо uggur
[19:51:38] <kosc> uggur: спасибо
[19:51:46] <kosc> ForNeVeR: сказал, что дальше?
[19:51:48] <ForNeVeR> Форневер стал стар и код не пишет ._.
[19:51:58] <kosc> Порноварка
[19:52:02] <ForNeVeR> >_<
[19:52:21] <uggur> Хмм...
[19:52:31] <uggur> Я придумал как использовать петкойны.
[19:52:33] <kosc> uggur: порновар стал стар и код не пишет
[19:52:39] <ForNeVeR> // вру, я сегодня писал код
[19:52:48] <kosc> ForNeVeR: а вчера?
[19:52:56] <uggur> За 1 РТС бот будет говорить через рандомный промежуток времени "Порноварка" :)
[19:52:58] <ForNeVeR> Не припомню ни одного дня, чтоб я не писал кода, за последние года три.
[19:53:10] <ForNeVeR> До этого я неделю лежал в больнице и код не писал.
[19:54:15] <uggur> ForNeVeR: Кстати, а это нормальное поведение когда у бота при отказе счётчик голода догоняется до 100?
[19:54:36] <ForNeVeR> uggur: o_o
[19:54:46] <ForNeVeR> Нет.
[19:55:00] <uggur> $pet stats
[19:55:00] <horta hell> uggur:
Кличка: Сволота
Здоровье: 99
Голод: 98
Возраст: 11 часов
[19:55:01] <ForNeVeR> Кстати, это ж не голод, а сытость. Сколько можно.
[19:55:10] <uggur> $pet feed
[19:55:10] <horta hell> uggur: Сволота покормлен.
[19:55:12] <uggur> $pet stats
[19:55:12] <horta hell> uggur:
Кличка: Сволота
Здоровье: 99
Голод: 100
Возраст: 11 часов
[19:55:19] <ForNeVeR> uggur: не должен догоняться.
[19:55:27] <uggur> ForNeVeR: Я оставил как было в реализации оригинальной х)
[19:55:32] <ForNeVeR> А.
[19:56:03] <uggur> "ForNeVeR: Кстати, это ж не голод, а сытость" "Голод: 98"
[19:56:12] <uggur> Ничего не знаю, "голод" написано %)
[19:57:02] <uggur> Ты пофиксишь или мне изменить логику?
[19:57:12] <ForNeVeR> Я пофикшу оба два.
[20:00:49] <ForNeVeR> Мухоха!
[20:01:09] <uggur> Double bugkill!
[20:01:19] <kosc> $pet stats
[20:01:19] <horta hell> kosc:
Кличка: Сволота
Здоровье: 98
Голод: 98
Возраст: 11 часов
[20:01:24] <kosc> $pet feed
[20:01:24] <horta hell> kosc: Сволота презрительно фыркнул, отстранившись от пищи.
[20:01:26] <kosc> $pet heal
[20:01:27] <horta hell> kosc: Сволота здоров.
[20:01:29] <kosc> $pet feed
[20:01:29] <horta hell> kosc: Сволота скривился от попытки его пичкать едой.
[20:01:32] <kosc> $pet feed
[20:01:33] <horta hell> kosc: Сволота отвернулся, брезгуя.
[20:01:35] <ForNeVeR> $pet stats
[20:01:36] <horta hell> ForNeVeR:
Кличка: Сволота
Здоровье: 100
Голод: 100
Возраст: 11 часов
[20:01:47] <ForNeVeR> Щас починится.
[20:01:57] horta hell вышел из конференции: Disconnected: closed
[20:02:03] horta hell зашёл в конференцию
[20:02:40] eaeee зашёл в конференцию
[20:06:43] <kosc> $pet feed
[20:06:44] <horta hell> kosc: Сволота презрительно фыркнул, отстранившись от пищи.
[20:06:48] <kosc> $pet coins
[20:06:48] <horta hell> kosc: У тебя есть 0PTC
[20:06:54] <kosc> Он у меня
[20:06:57] <kosc> Скоммуниздил
[20:06:59] <kosc> Так низзя
[20:07:03] <kosc> Это нечестно
[20:07:10] <uggur> вааааайп! =^.^=
[20:07:14] <kosc> Откоммуниздите мне мой 1 петкоин обратно
[20:07:19] <kosc> $pet rating
[20:07:20] <horta hell> kosc:
zxc: 112PTC
ɹ…: 33PTC
e…: 5PTC
Minoru: 5PTC
m…: 4PTC
F…: 3PTC
[20:07:25] <kosc> Да уж, вайп
[20:07:31] <uggur> kosc: Это касалось только тебя (:
[20:07:40] <kosc> uggur: вайп только меня
[20:07:41] <kosc> ?
[20:07:45] <uggur> Конечно.
[20:07:49] <kosc> Это как-то обидно, знаете ли.
[20:08:04] <ForNeVeR> Подождите, когда-то пет у него отобрал петкоин?
[20:08:14] <ForNeVeR> s/-/ э/
[20:08:14] <horta hell> ForNeVeR: Подождите, когда это пет у него отобрал петкоин?
[20:08:42] <uggur> kosc: терпи, да воздастся тебе по заслугам твоим =^.^=
[20:09:39] <uggur> kosc: Кстати, аналогичный вопрос: не помню чтобы ты получал петкойн.
[20:10:16] <kosc> uggur: мало ли, что ты не помнишь
[20:10:22] <kosc> Ты не помнишь, а он был.
[20:10:31] <kosc> Теперь ясно, куда все мои петкоины пропадают
[20:10:42] <kosc> Их uggur кому-то перепродаёт.
[20:10:56] <uggur> $pet rating
[20:10:56] <horta hell> uggur:
zxc: 112PTC
ɹ…: 33PTC
e…: 5PTC
Minoru: 5PTC
m…: 4PTC
F…: 3PTC
[20:11:08] <uggur> kosc: Можешь даже догадаться кому :)
[20:11:08] <kosc> Ньюлайферу, наверное.
[20:11:08] Ender вышел из конференции
[20:11:22] <kosc> zxc их вроде сам как-то тырит
[20:11:42] <uggur> буржуин! >(
[20:11:49] <kosc> .say фиг
[20:11:50] <DeadBot> kosc: фиг
[20:11:58] <kosc> .say нефиг
[20:11:58] <DeadBot> kosc: фиг
[20:12:03] <kosc> Ну и пофиг
[20:12:22] <uggur> Впрочем, ForNeVeR поправил мои константы в сторону щедрого пета, так что не огорчайся (%
[20:12:35] kosc вышел из конференции: Disconnected: connection closed
[20:12:40] O01eg вышел из конференции: Replaced by new connection
[20:12:42] O01eg зашёл в конференцию
[20:12:57] O01eg вышел из конференции
[20:13:35] <uggur> kosc: В оригинале бот был больше похож на ветхозаветных богов: одни требования и ни капли жалости.
[20:14:35] O01eg зашёл в конференцию
[20:18:40] <rexim> ._.
[20:20:11] <rexim> $pet feed
[20:20:11] <horta hell> rexim: Сволота сыт.
[20:20:13] <rexim> $pet feed
[20:20:13] <horta hell> rexim: Сволота презрительно фыркнул, отстранившись от пищи.
[20:20:16] <rexim> $pet feed
[20:20:16] <horta hell> rexim: Сволота не желает есть.
[20:20:18] <rexim> $pet feed
[20:20:18] <horta hell> rexim: Сволота сыт.
[20:20:20] <rexim> $pet feed
[20:20:21] <horta hell> rexim: Сволота отвернулся, брезгуя.
[20:20:24] <rexim> =(
[20:22:56] <uggur> rexim: Ну, по крайней мере он не отбирает твои петкойны за попытки пичкать едой х)
[20:23:09] <rexim> $pet coins
[20:23:10] <horta hell> rexim: У тебя есть 0PTC
[20:23:14] <rexim> :((
[20:23:35] <rexim> Пойду напьюсь чая.
[20:23:42] <uggur> ...потому и не отбирает, лол
[20:24:12] <uggur> rexim: И съешь ещё этих мягких французских булок.
[20:24:30] <rexim> uggur, обязательно. :)
[20:28:24] * ForNeVeR внезапно решил поработать и срубить сверхурочных.
[20:34:22] <uggur> Напал работун о.о
[20:49:08] Myp зашёл в конференцию
[20:50:19] <Myp> .version
[20:50:56] <DeadBot> Myp: у тебя LeechCraft Azoth 0.6.70 (compiled with Qt 4.8.5; running with Qt 4.8.5) Gentoo/Linux x86_64 3.12.13-gentoo #1 SMP Fri Mar 28 00:12:18 MSK 2014
[20:51:56] <rexim> Азотх
[20:52:30] <uggur> Azathoth
[20:53:20] <Славный капитан> Азазот
[20:54:27] <rexim> Азазат
[20:54:57] <uggur> азазад
[20:58:15] <rexim> $pet rating
[20:58:16] <horta hell> rexim:
zxc: 112PTC
ɹ…: 33PTC
e…: 5PTC
Minoru: 5PTC
m…: 4PTC
F…: 3PTC
[20:58:34] <uggur> ForNeVeR: rexim: А как в боте получить список присутствующих в конфе ников?
[21:00:27] <ForNeVeR> uggur: там где-то в руме лежит такое свойство.
[21:00:32] <0xd34df00d> В личкрафте это просто /names.
[21:00:54] <ForNeVeR> 0xd34df00d: в личкрафте уже есть API, шоб его из другого процесса дёрнуть?
[21:01:33] <ForNeVeR> Ну или давайте хорту встроим в личкрафт %)
[21:02:08] <uggur> Не юникс-вэй
[21:02:16] <uggur> Каждый софт для всего дела.
[21:02:23] <0xd34df00d> uıʃɐɟ∀: каждый плюгин для своего дела.
[21:02:23] <uggur> %)
[21:02:26] <0xd34df00d> ForNeVeR: какой тебе API нужен?
[21:03:15] <uggur> ForNeVeR: Точно? <.<
[21:03:23] <uggur> В mail просто в приват пытается отправить сообщение
[21:03:45] <rexim> uıʃɐɟ∀, каждый плюгин для своего дела.
[21:04:03] <ForNeVeR> 0xd34df00d: ну вот у нас хорта сидит в отдельном процессе с жавамашиной.
[21:04:14] <ForNeVeR> 0xd34df00d: ты предлагаешь юзать жабберные команды личкрафта.
[21:04:36] <ForNeVeR> Значит личкрафт должен быть запущен и хорта должна иметь возможность дёрнуть команду в контексте конфы.
[21:05:22] <uggur> По сети
[21:05:48] <ForNeVeR> dbus умеет по сети, правда же?
[21:05:59] <ForNeVeR> dbus - это линуксовый аналог вендового COM ~.~
[21:06:09] govardhan зашёл в конференцию
[21:06:10] <uggur> А мне нравится dbus
[21:06:10] <0xd34df00d> Вроде чо-то там умел.
[21:06:11] <ForNeVeR> // я только сейчас до этого додумался, лол
[21:06:18] <0xd34df00d> Ну вообще я планирую прикрутить дибас апи к азотху.
[21:06:25] govardhan вышел из конференции
[21:07:52] govardhan зашёл в конференцию
[21:08:57] <uggur> ForNeVeR: Ты под "румой" org.jivesoftware.smackx.muc.MultiUserChat имел ввиду? <.<
[21:10:52] Orhideous зашёл в конференцию
[21:10:52] <ForNeVeR> uggur: нет. MucMessageHandler какой-нибудь.
[21:11:08] <ForNeVeR> Короче, в контексте плагина - credential.location
[21:11:24] <ForNeVeR> uggur: алсо, твой плагин может подписаться на вход/выход участников и вести список самостоятельно.
[21:11:32] govardhan вышел из конференции
[21:11:32] <uggur> Зачем?
[21:11:38] <uggur> Я думал это реализовано уже
[21:11:40] <ForNeVeR> Потому что ты хочешь.
[21:11:44] <ForNeVeR> Да, это реализовано.
[21:11:53] <uggur> Зачем тогда выдумывать велосипед? %)
[21:11:58] <ForNeVeR> Рума ведёт у себя список участников. Если он тебе нужен - ты можешь у неё запросить.
[21:12:33] O01eg вышел из конференции: Replaced by new connection
[21:12:39] O01eg зашёл в конференцию
[21:12:46] <uggur> Кстати, у тебя в слове affilationName ошибка
[21:12:54] O01eg вышел из конференции
[21:13:47] <Orhideous> Утреца.
[21:14:00] O01eg зашёл в конференцию
[21:18:31] <ɹǝɟılʍǝu> Утрец, Орхец.
[21:23:31] reggies вышел из конференции: Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке другому участнику: service-unavailable
[21:34:38] <uggur> ForNeVeR: Похоже, мне нужно из MucMessageHandler мапу participants достать, но я не совсем как сделать это в модели акторов.
[21:36:01] <ForNeVeR> uggur: ты должен ему сообщение отправлять.
[21:36:06] <ForNeVeR> А он - вернуть список.
[21:36:16] <ForNeVeR> (всё это асинхронненько, обв)
[21:36:41] <uggur> Так?
val users: scala.concurrent.Future[Map[String, Affinity]] = akka.pattern.ask(location, "participants").mapTo[Map[String, Affinity]]
[21:37:02] <ForNeVeR> "participants" мне не нравится.
[21:37:15] <ForNeVeR> Обычно тут используют какой-нибудь case class.
[21:37:42] <ForNeVeR> (location ? GetParticipants()).mapTo[Map[String, Affinity]]
[21:38:04] <ForNeVeR> Не забудь implicit import'ов добавить (глянь в любом акторе, который юзает akka.ask).
[21:38:21] <ForNeVeR> Кажется, нужно import implicit timeout = xx seconds, а ещё import inplicit context.
[21:38:28] <uggur> Я не понимаю как реализовать GetParticipants
[21:38:34] <eaeee> зачем вот в xmpp сделали 2 понятия - роли и принадлежности?
[21:38:50] nexfwall зашёл в конференцию
[21:39:12] <m4n71k0r> case class GetParticipants;
[21:39:13] <ForNeVeR> uggur: в MucMessageHandler есть метод receive. Он должен на получение объекта GetParticipants() делать sender ! participants
[21:39:34] <m4n71k0r> точка с запятой лишняя
[21:39:42] <ForNeVeR> m4n71k0r: deprecated
[21:39:50] <uggur> А куда положить этот кейс-класс?
[21:39:52] <ForNeVeR> Правильно: case class GetParticipants()
[21:39:58] <m4n71k0r> ()
[21:40:02] <m4n71k0r> lf
[21:40:06] <ForNeVeR> uggur: куда-нибудь в RoomMessages, если такое есть.
[21:40:34] <ForNeVeR> Ну а вообще - рядом с другими сообщениями, которые обрабатывает рума. Я не помню, где они лежат, сам глянь в исходниках. Эти классы были где-то в отдельном файле.
[21:40:59] <uggur> ОК, нашёл
[21:45:26] <m4n71k0r> [Марс][милота][станция] http://www.gizmag.com/3d-printed-interplanetary-housing-concept-mars/33413/
[21:56:39] Enykey зашёл в конференцию
[21:57:02] Minoru зашёл в конференцию
[22:05:04] <uggur> ForNeVeR: А как из scala.concurrent.impl.Promise получить, собственно, саму мапу? Что-то я не вижу такого межакторного взаимодействия в плагинах.
[22:07:31] <m4n71k0r> всё межакторное взаимодействие в вопросительных и восклицательных знаках
[22:09:20] <uggur> m4n71k0r: Ахха, и как мне достать Map из DefaultPromise?
[22:14:58] <m4n71k0r> а разве это все не решается одной строчкой (location ? GetParticipants()).mapTo[Map[String, Affinity]] ?)
[22:15:27] <m4n71k0r> результат достаётся с помощью mapTo .. ты про это?
[22:15:47] <uggur> Не знаю, у меня оно возвращает DefaultPromise х)
[22:18:59] <m4n71k0r> точнее там фьюча возвращается
[22:19:15] <uggur> Оно Future тоже реализует.
[22:19:20] <m4n71k0r> ну вот посмотри как в пете https://github.com/codingteam/horta-hell/blob/master/src/main/scala/ru/org/codingteam/horta/plugins/pet/PetPlugin.scala#L60
[22:22:33] <uggur> Ладно, попробую покурить маны с сайта акки %)
[22:27:15] ckorzhik зашёл в конференцию
[22:32:35] <rexim> ОМГ! Кажется, я могу найти удобное положение в своем говнокресле, если положить клавиатуру на колени...
[22:33:15] <rexim> $say 10
[22:33:23] <rexim> $say 10
[22:33:24] <rexim> $say 10
[22:33:25] <rexim> $say 10
[22:33:27] <rexim> $say 10
[22:34:06] <horta hell> rexim: "kooficienty a, b i c v uravnenii pramoy" - ацкое месиво коэффицентов и союзов!
[22:34:09] <horta hell> rexim: F…, как у чувак первый коммент заминусован, а второй заплюсован. )
[22:34:13] <horta hell> rexim: Скорее всего. Если я девушка-эгоистка, мне надо все время бухой.
[22:34:17] <horta hell> rexim: А может попробовать без ковычек а просто экранировать пробелы? Или не делаем, и я тоже
[22:34:20] <horta hell> rexim: serious_focker, у меня голова начинает болеть от этого не говорил!
[22:34:31] <rexim> > Если я девушка-эгоистка, мне надо все время бухой.
._.
[22:35:49] <uggur> $say 10
[22:35:58] <horta hell> uggur: Шанс, конечно, небольшой есть на работу за рубежом, да только он недостаточно велик чтобы я полагался на него как на тракторе.
[22:36:08] <Minoru> LOL
[22:36:16] <Minoru> трактор надёжнее всяких шансов!
[22:36:34] <uggur> хрю-хрю %)
[22:38:26] <m4n71k0r> uggur: а с Future ты уже научился работать?
[22:39:14] <uggur> m4n71k0r: Нет, но я нашёл в коде бота пример запроса
[22:39:41] <uggur> Кажется, там помимо создания Future нужно делать Await.result
[22:39:51] <m4n71k0r> uggur: в доке по акке 4.1 глава есть. Можешь покурить немного
[22:39:52] <uggur> Чем-то напоминает работу с сокетами %)
[22:40:07] <m4n71k0r> Await.result Необязательно
[22:40:18] <m4n71k0r> можешь в for разобрать
[22:41:26] Ender зашёл в конференцию
[22:41:34] <uggur> http://doc.akka.io/docs/akka/current/AkkaScala.pdf ?
[22:42:01] <uggur> Release 2.3.5, правда.
[22:42:10] <m4n71k0r> собсно, это монада и ты можешь поиздеваться над ней как с любой монадой в скале
[22:42:17] <uggur> Монада? Какая монада?
[22:42:23] <m4n71k0r> такая монада
[22:42:46] <uggur> http://beta.hstor.org/files/803/f72/d67/803f72d675b34942965243a3f34d4677.png
[22:42:56] <uggur> %)
[22:43:11] <rexim> Лол, держу симлинку на логи в кодовой базе для удобства. Отрефакторил имя переменной, идея радостно пошла искать имя переменной по логам. :D
[22:43:37] <m4n71k0r> =)
[22:43:51] <uggur> m4n71k0r: Что такое монады?
[22:44:03] <m4n71k0r> монады-шмонады
[22:44:16] <rexim> Плюсую этого мантикора.
[22:44:48] * Minoru собрал свои монадки и собирается валить
[22:45:10] <rexim> -
[22:45:15] <rexim> Minoru, на кого?
[22:46:33] <m4n71k0r> монады позволяют забить сферический болт в вакууме
[22:46:39] <m4n71k0r> как-то так
[22:46:43] <Minoru> rexim: на Избранного!
[22:47:07] <rexim> Minoru, а он-то тут при чём?
[22:47:10] <rexim> И вообще, кто это?
[22:47:12] <m4n71k0r> а потом забить на забивание
[22:47:26] <uggur> m4n71k0r: Механизм обобщения?
[22:47:26] <rexim> m4n71k0r, а потом забивать забивания в цепочки.
[22:47:34] <rexim> uggur, д
[22:47:47] <uggur> М, где можно почитать про монады в скале?
[22:47:47] <m4n71k0r> а ещё монады помогают верить
[22:47:49] Enykey вышел из конференции
[22:48:20] <uggur> m4n71k0r: Верить что данные будут предоставлены?
[22:48:51] <m4n71k0r> а ещё, чем больше я думаю, что я знаю про монады, тем меньше я думаю, что знаю про монады
[22:49:04] <m4n71k0r> uggur: где-то как-то
[22:49:36] <Minoru> rexim: не знаю, но обычно все проблемы валят на него
[22:49:38] <uggur> Монады-шмонады
[22:49:44] <Minoru> rexim: как кто? Это я, Минорушка!
[22:49:47] <m4n71k0r> uggur: в общем, ты можешь обработать результат, которого может и не быть
[22:49:55] <m4n71k0r> а может и быть
[22:50:00] <rexim> Minoru, ты Избранный?
[22:50:00] <m4n71k0r> и всё будет заебись
[22:50:06] <uggur> m4n71k0r: Описать путь обработки результата, который может быть?
[22:50:13] <rexim> Minoru, то, что ты Минорушка, я и так знаю. :)
[22:51:16] <hinst> то самое чуство когда нажал вверх, затем энтер, затем понял что выполнил не ту команду которую ожидал
[22:51:58] <uggur> Я всё это время писал 7 строк кода *FACEPALM*
[22:52:06] <Minoru> rexim: может, и я, но надеюсь, что нет. Там обычно та-а-а-акие проблемы на тебя валят, что лучше быть серым человечком.
[22:52:17] <m4n71k0r> uggur: охуенное ощущение
[22:52:23] <rexim> Minoru, лучше быть зелёным человечком!
[22:52:27] * rexim гарантируэ!
[22:53:21] <rexim> uggur, суть разработки программного обеспечения не в написании кода же.
[22:53:25] <m4n71k0r> uggur: посмотри 174 страницу в той пдф-ке, а точнее она будет 177 из 388 ... там есть вариант, когда в плохом случае юзают recover
[22:53:30] <rexim> И да, ощущение действительно охуенное.
[22:53:59] <m4n71k0r> а по-началу по часу над строчкой думал
[22:54:07] <m4n71k0r> а потом ещё раз 20 переписывал всё
[22:54:24] <m4n71k0r> поначалу*
[22:55:04] <uggur> В общем, я решил это так: https://github.com/IngvarJackal/horta-hell/commit/544d77729e751c6e6c041b19ec6a702a91ac581b
[22:55:06] <uggur> Вроде бы работает.
[22:56:03] <m4n71k0r> эм... asInstanceOf не самый лучший вариант, имхо
[22:56:12] <uggur> Почему?
[22:56:44] <m4n71k0r> там, емнип рантайм хуерда, а можно компилтайм вроде бы сделать
[22:57:28] <uggur> Оно будет адово тормозить?
[23:01:40] <m4n71k0r> val f = (location ? GetParticipants()).mapTo[Map[String, Any]]
val map = Await.result(f, 5.seconds)
[23:01:41] <ckorzhik> uggur, http://efytimes.com/e1/fullnews.asp?edid=119694
[23:02:13] <uggur> m4n71k0r: Да, я тоже нашёл только что это на сайте Akka.
[23:02:14] <m4n71k0r> uggur: Но и это можно умять в один for, если мне не изменяет память
[23:02:17] <uggur> Это решение лучше?
[23:02:27] <m4n71k0r> вроде бы так будет компилтайм
[23:02:49] <uggur> Да? Ну проверю сейчас
[23:02:58] <m4n71k0r> но всё равно надо отрефакторить)
[23:03:33] SolarRay зашёл в конференцию
[23:04:46] <m4n71k0r> дай-ка подумать, а что будет, если у меня в нике будет / ?
[23:05:05] <uggur> Всё сломается. Очевидно же
[23:06:58] <uggur> Хотя, стащу решение StringUtils.parseResource, пожалуй (%
[23:07:23] enaken зашёл в конференцию
[23:08:22] <m4n71k0r> интересно, это сработает или там unapply надо и класс для составного ника?
x match {
case (conference: String) + "/" + (nick: String) =>
case _ =>
}
[23:08:25] enaken вышел из конференции
[23:08:26] * uggur пытается отучиться писать свои кривые решения если есть готовый код (%
[23:08:32] enaken зашёл в конференцию
[23:09:38] enaken вышел из конференции
[23:10:15] enaken зашёл в конференцию
[23:12:54] <rexim> Скомпилировал, получил странную ошибку, вбил ее в гугл, одна из первых ссылок называется "Signs that you're a bad programmer" :(
[23:13:55] <uggur> m4n71k0r: https://github.com/IngvarJackal/horta-hell/compare/codingteam:develop...petfeeding%23217?expand=1 ну вот, так лучше?
[23:14:01] <uggur> rexim: что за ошибка?
[23:15:53] <uggur> "m4n71k0r: интересно, это сработает или там unapply надо и класс для составного ника?" см. org.jivesoftware.smack.util.StringUtils
[23:16:24] <rexim> uggur, https://www.google.ru/?gws_rd=ssl#newwindow=1&q=Reference+to+method+foreach+in+class+List+should+not+have+survived+past+type+checking
[23:21:12] <rexim> Хм...
[23:21:24] <rexim> Идея таки решила полностью проиндексировать логи.
[23:21:49] <rexim> И подтвердила, что слово "хуй" встретилось 7329 раза.
[23:22:46] <uggur> О.О
[23:22:47] <Myp> Очень мало
[23:22:49] <Myp> Перепроверь
[23:23:20] <Myp> И верблюжий ящик тоже учитывай
[23:23:30] <uggur> rexim: Интересно, а каким образом тебе понадобилось тебе хуй рефакторить?
[23:23:44] <rexim> .__.
[23:23:53] <rexim> Так получилось...
[23:24:17] <Myp> Жизнь - это вам не хулловорлды писать. Люди и хуи рефакторят
[23:25:20] <uggur> Вспомнилась эта копипаста %)
http://lurkmore.to/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BF%D0%B0%D1%81%D1%82%D0%B0:%D0%91%D1%8B%D0%B4%D0%BB%D0%BE%D0%BA%D0%BE%D0%B4-%D0%93%D0%A1%D0%A0
[23:25:35] <rexim> :D
[23:25:42] <uggur> На scala с возможностями для создания DSL было бы гораздо изящнее %)
[23:28:58] xspeed вышел из конференции
[23:30:18] <Ender> нахуя в стиме новый логотип?
[23:30:23] <Ender> он же уёбищный
[23:31:11] <Ender> Myp, а сколько сезонов в менталисте?
[23:32:42] sss|zombie зашёл в конференцию
[23:32:59] m4n71k0r вышел из конференции
[23:33:22] <Ender> 10 мая 2014 года, после длительных переговоров, канал продлил сериал на седьмой сезон[1].
[23:33:26] <Ender> да ну нахуй
[23:33:46] <Ender> он что, опять не поймал этого кровавого?
[23:33:54] <ɹǝɟılʍǝu> О Луна, как же ты материшься.
[23:34:25] <Myp> Ender: 5,кажется
[23:34:40] <Myp> Ender: А может шесть
[23:34:43] <Minoru> точно, сериальчики!
[23:34:50] * Minoru как раз думал, чем бы себя развлечь
[23:34:57] <Myp> Ender: Мне Касл больше доставил
[23:35:02] <Myp> Там хоть Филлион
[23:35:24] <Ender> я так понимаю, што осенью 7й сезон будет
[23:35:33] <Ender> только я так и не понял нахуя
[23:35:40] <Ender> я 6й сезон так и не досмотрел
[23:35:56] <Ender> вот, сейчас смотрю
[23:36:05] <Ender> просто это уже другой сериал получается.
[23:36:16] <Ender> наверное он опять не поймал кровавого джона.
[23:38:02] kosc зашёл в конференцию
[23:43:08] <Myp> Ender: поймал. просто там уже рассказывается о жизни после
[23:43:17] <Myp> мне не очень понравилось
[23:43:55] <Ender> ну вот меня пока тоже что-то не насыщает
[23:44:32] <Ender> нужно снять еще 3 сезона, сказать в конце третьего, что нихуя не поймал, потом снять еще 5 и опять ловить красного джона!
[23:49:50] <ɹǝɟılʍǝu> http://www.youtube.com/watch?v=MJw7OaLhMfE
[23:52:41] <Ender> Воскресенье, 22:00
[23:52:57] <Ender> прям вот в самое ништяковое время
[23:52:57] <ɹǝɟılʍǝu> .time
[23:52:58] <DeadBot> ɹǝɟılʍǝu: 23.08.2014 23:53:34
[23:53:08] <Ender> а рейтинги всерна говно
[23:53:09] <Ender> лол
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!