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

Тема: C, С++, D, Java, C#, Haskell, Ruby, Scheme, Common Lisp, Erlang, OCaml, JavaScript, TypeScript, Clojure, Scala, Nemerle, F#, Groovy, R, Rust, Kotlin.
Backup channel: codingteam@conference.codingteam.org.ru
HQ: https://codingteam.org.ru
Код постить сюда: http://lpaste.net/
Логи: http://tinyurl.com/ctcjr-logs
Юным погромцам сюда: http://e-maxx.ru/algo/ , а ещё читать Кнутца, Корменца, Седжвикца и др.
Morning Tsoding (вт, чт, вс, збс): https://twitter.com/tsoding
Let's Dev (когда Капитан на мостике): http://www.youtube.com/playlist?list=PLK6mcZkmN4QTusFvp_0GVtscQbCiIg81Y
http://i.imgur.com/slnyI6a.jpg
[00:26:34] Kumba_yo вышел из конференции
[00:38:35] Kumba_yo зашёл в конференцию
[00:45:04] Товарищ Чпок зашёл в конференцию
[00:45:25] Товарищ Чпок вышел из конференции
[00:45:34] Товарищ Чпок зашёл в конференцию
[00:51:55] eaeee вышел из конференции
[00:51:56] eaeee зашёл в конференцию
[01:14:23] dzhon вышел из конференции
[01:15:02] Minoru вышел из конференции
[01:50:06] sss|zombie зашёл в конференцию
[01:51:04] horta hell вышел из конференции
[01:51:31] horta hell зашёл в конференцию
[01:52:02] horta hell вышел из конференции
[01:52:18] horta hell зашёл в конференцию
[01:53:00] horta hell вышел из конференции
[01:53:26] horta hell зашёл в конференцию
[01:53:57] horta hell вышел из конференции
[01:54:13] horta hell зашёл в конференцию
[01:54:55] horta hell вышел из конференции
[01:55:21] horta hell зашёл в конференцию
[01:55:57] horta hell вышел из конференции
[01:56:18] horta hell зашёл в конференцию
[01:56:50] horta hell вышел из конференции
[01:57:06] horta hell зашёл в конференцию
[01:57:47] horta hell вышел из конференции
[01:58:14] horta hell зашёл в конференцию
[01:58:14] eaeee вышел из конференции
[01:58:50] horta hell вышел из конференции
[01:59:11] horta hell зашёл в конференцию
[01:59:42] horta hell вышел из конференции
[01:59:58] horta hell зашёл в конференцию
[02:00:35] horta hell вышел из конференции
[02:00:56] horta hell зашёл в конференцию
[02:01:32] horta hell вышел из конференции
[02:01:53] horta hell зашёл в конференцию
[02:02:47] eaeee зашёл в конференцию
[02:05:31] Славный капитан вышел из конференции
[02:14:57] superka зашёл в конференцию
[02:46:12] eaeee вышел из конференции
[02:46:13] eaeee зашёл в конференцию
[02:58:05] eaeee вышел из конференции
[03:20:33] unclechu вышел из конференции
[03:25:45] <m4n71k0r> хорточке как-то очень плохо
[03:30:30] xmi вышел из конференции
[03:36:41] m4n71k0r вышел из конференции
[03:51:01] horta hell вышел из конференции
[03:51:28] horta hell зашёл в конференцию
[04:16:45] superka вышел из конференции
[04:16:47] superka зашёл в конференцию
[04:32:14] grouzen вышел из конференции
[04:37:13] Товарищ Чпок вышел из конференции
[04:51:18] sss|zombie вышел из конференции
[04:51:19] superka вышел из конференции
[04:51:20] superka зашёл в конференцию
[04:51:45] <horta hell> Гвидо умер в забвении с гримасой страдания на морде. Все теряют по 1PTC.
[04:52:54] nable вышел из конференции
[04:55:39] nable зашёл в конференцию
[05:37:09] superka вышел из конференции
[05:37:11] superka зашёл в конференцию
[05:51:03] horta hell вышел из конференции
[05:51:19] horta hell зашёл в конференцию
[06:08:46] superka вышел из конференции
[06:08:48] superka зашёл в конференцию
[06:40:31] superka вышел из конференции
[06:40:32] superka зашёл в конференцию
[07:22:41] ckorzhik вышел из конференции
[07:32:52] superka вышел из конференции
[07:32:54] superka зашёл в конференцию
[07:50:24] superka вышел из конференции
[07:50:25] superka зашёл в конференцию
[08:33:45] superka вышел из конференции
[08:33:46] superka зашёл в конференцию
[08:43:13] superka вышел из конференции
[08:43:14] superka зашёл в конференцию
[09:28:11] <ForNeVeR> conan чото не оч. для плюсцов — я так и не осилил в нём установить сборку Qt для msvs. Пока пробую реальне заюзать vcpkg.
[09:28:18] dzhon зашёл в конференцию
[09:48:22] Славный капитан зашёл в конференцию
[09:56:30] gsomix зашёл в конференцию
[09:57:01] <gsomix> Утро.
[10:05:48] * ForNeVeR славит Императора.
[10:14:28] <uggur> "gsomix: Утро. ***ForNeVeR славит Императора." praise the sun! xD
[10:14:50] <gsomix> \[T]/
[10:16:24] <uggur> '\ö/`
[10:25:11] <gsomix> ForNeVeR, ох и здоровенный этот ProvidedTypes.fs
[10:25:23] <ForNeVeR> Да!
[10:25:31] <gsomix> ForNeVeR, я вот одного пока не пойму.
[10:25:40] <gsomix> Что из себя представляют тайппровайдеры как фича компилятора?
[10:26:13] <ForNeVeR> Дак я тож не пойму!
[10:26:50] <gsomix> Я вчера поспрашивал народ в fpchat про доки и блог посты о тайппровайдераз без ProvidedTypes.fs
[10:26:54] Славный капитан вышел из конференции
[10:26:58] <gsomix> Но как-то никто ничего особо не подсказал.
[10:27:15] <ForNeVeR> Фапчят :(
[10:27:29] <ForNeVeR> Я тоже у них про это спрашивал.
[10:27:29] superka вышел из конференции
[10:27:31] superka зашёл в конференцию
[10:27:34] <ForNeVeR> Мне кажется, они что-то скрывают.
[10:27:45] <ForNeVeR> Не принято это почему-то обсуждать.
[10:43:01] <gsomix> ForNeVeR, ну, то есть, почему нельзя, например, дженерик типы генерировать.
[10:43:06] <gsomix> Довольно странное ограничение.
[10:43:30] <gsomix> И непонятно, то ли это на уровне компилятора не работает, то ли в ProvidedTypes просто не дописали этот кейс.
[10:43:31] superka вышел из конференции
[10:43:33] superka зашёл в конференцию
[10:44:09] <ForNeVeR> gsomix: мне тоже непонятно. Даже на uservoice кто-то раньше такой вопрос задавал, но его проигнорировали. Я считаю, что здесь скрывается какая-то тайна!
[10:45:38] <uggur> ForNeVeR: "Есть вещи в этой Вселенной, с которыми даже мы не сможем примириться и жить; отвращение, настолько ужасное, что самое оно разрушит нашу плоть и иссушит глаза. Против таких вещей нельзя бороться, и попытка противостоять им будет лишь бесполезной утратой собственной жизни." Петрониус Калагарус, капитан Ультрамаринов
[10:46:09] <uggur> может, ты как раз нашёл такую вещь? (:
[10:46:39] portnov зашёл в конференцию
[10:47:40] <gsomix> ForNeVeR, :(
[10:58:56] superka вышел из конференции
[10:58:58] superka зашёл в конференцию
[11:08:59] Ender зашёл в конференцию
[11:09:09] <Ender> Сап кодач.
[11:11:12] <ForNeVeR> Кодач-бородач!
[11:13:04] <Ender> ЕЕЕ!
[11:13:31] <Ender> ForNeVeR, а ты песал фаззеры?
[11:14:48] <ForNeVeR> Хто это такие?
[11:16:24] <uggur> что-то опушистивающее, видимо %)
[11:16:29] <Ender> ну знаешь, есть такая книженция, там нарисован джорджик бушик младший с бейсбольной битой, один из её авторов pedram amini, и капсом написано FUZZING
[11:17:06] <uggur> https://i.stack.imgur.com/MXe5F.png
[11:17:33] <Ender> uggur, ага, там в книге было написано, тип RCE ЕТО КАБУДТА ГЛУБОКОПОДВОДНАЯ РЫБАЛКА, А ФУЗЗИНГ, ЭТО КОГДА ТЫ МЕДВЕДЬ И СКРЕБЁШЬ ПУШИСТОЙ ЛАПАЙ ПО ПОВЕРХНОСТИ ВОДЫ В НАДЕЖДЕ ПОЙМАТЬ РЫБКУ)))
[11:17:37] <Ender> ну, как-то так.
[11:18:00] <ForNeVeR> Чо?
[11:18:12] <Ender> охуительный пушистый скриншот, два чаю господину.
[11:18:18] <uggur> обычно я кидаю привязанный к камню динамит в прорубь
[11:19:05] <Ender> кстати, кто-нибудь знает, почему у меня loadfromdata работает и с одним аргументом?
[11:19:07] <Ender> http://pastexen.com/code.php?file=Trog2GqL7R.txt
[11:19:49] <Ender> какой-то наркоман предлагал на stackoverflow писать, тип, p.loadfromdata(pdata,"PNG");
[11:20:00] <Ender> а мне и так норм.
[11:20:51] <Ender> ForNeVeR, fuzzing, brute-force vul~ короче поиск уязвимостей.
[11:21:06] <Ender> Vulnerability наверное
[11:21:08] <Ender> хз
[11:21:47] <Ender> http://www.fuzzing.org/
[11:22:21] <Ender> у них новая обложка с медведем собирающимся получить леща.
[11:22:34] Aman зашёл в конференцию
[11:31:22] gsomix вышел из конференции
[11:48:34] rexim зашёл в конференцию
[11:50:53] horta hell вышел из конференции
[11:51:10] horta hell зашёл в конференцию
[11:56:21] <rexim> Межгалактический Гиперчпок!
[11:56:39] m4n71k0r зашёл в конференцию
[11:57:52] <rexim> Вот таким вот простым заклинанием можно призвать Мантикора. :3
[11:58:13] <m4n71k0r> Ender: ах ты ж киберпреступник!
[11:58:58] <ForNeVeR> m4n71k0r: почему сразу преступник?
[11:59:51] <ForNeVeR> Исследование безопасности сервисов зачастую оплачивается самими же сервисами, это вполне законно и полезно.
[11:59:56] <rexim> Он постступник
[12:00:54] <ForNeVeR> m4n71k0r: это всё равно, что называть тех, кто занимается крэш-тестами автомобилей, вредителями. Да, если они это без разрешения владельцев делают, то это плохо и вредно, но если они эдак проверяют безопасность с целью её повышения — это хорошо.
[12:03:04] <m4n71k0r> ой, я опять про политоту
[12:03:13] <rexim> Кстати, крэш-тесты же проводятся в изолированной среде. А исследования в ИБ зачастую на продакшене. Это навело меня на мысль, а почему бы не исследовать ИБ тоже изолированно? Вот reddit все сорцы всех своих сервисов заопенсорсил. Поднял у себя инстанс реддита и безопасно исследуй никого не трогая. :3
[12:03:15] <ForNeVeR> Как, опять? ._.
[12:03:44] <ForNeVeR> rexim: смотря какое исследование. У нас обычно стейджинг-инстанс исследуют, продакшену не вредя.
[12:04:07] <ForNeVeR> И, да, такого рода исследование частенько оплачивается клиентом.
[12:04:27] <rexim> ForNeVeR: это тоже вполне на мой взгляд изолированно.
[12:04:32] <ForNeVeR> Впрочем, и качество его бывает разное.
[12:04:57] <ForNeVeR> До сих пор вспоминаю, как секьюрити-тим неделю не могли залогиниться в сервис %)
[12:05:10] <ForNeVeR> Потому что там всё на русском, а они русского не знают XD
[12:05:16] <rexim> Эм...
[12:06:11] <ForNeVeR> Только через неделю они догадались у нас спросить, и я им прислал мануал с картинками.
[12:06:22] <rexim> Мы однажды потеряли доступ к инстансу сервиса, который нам выдал клиент на своей стороне. Инстанс надо было перезагрузить. Мы, знаю его внутренности, его хакнуля рядом инъекций, пофиксить которые не было времени, и перезагрузили.
[12:07:06] <ForNeVeR> Да, мы тоже несколько раз подумывали о том, чтобы предоставить админский доступ к сервису через инъекции %)
[12:10:58] <uggur> "предоставить админский доступ к сервису через инъекции" инъекция iddqd
[12:26:23] * ForNeVeR нашёл пушистый шарф и теперь занимается фаззингом.
[12:29:47] <Ender> m4n71k0r, не, я просто этим на работе буду заниматься.
[12:30:06] <Ender> так что я больше исследователь безопасности, киберпостступник и всё такое.
[12:30:41] <rexim> А я думал ты бэкэндер! :(
[12:30:51] <Ender> :D
[12:37:29] Aman вышел из конференции
[12:38:13] <superka> а почему не стоит писать myvar = null?
[12:38:51] <Ender> пушта null эт nullptr.
[12:38:57] <Ender> почти
[12:39:16] <Ender> и вообще это говно депрекейтед не пользуйся этим.
[12:39:58] <superka> чо он обзывается
[12:40:26] <Ender> я какому-то сырому указателю присвоил nullptr, так потом народ нихуя возбудился, тип почему сырые. почему нуллптр, это тоже депрекейтед, пользуйся там чем-то там ещё. ну и я токои.
[12:40:27] <Ender> окей
[12:40:30] <Ender> ладно
[12:40:32] <Ender> я вас понял
[12:40:57] <Ender> ты там на каком языке пишешь?
[12:41:16] <ForNeVeR> superka: где ты пишешь-то?
[12:41:21] <superka> C#
[12:41:29] <Ender> а, ну значит я почти прав.
[12:41:39] <ForNeVeR> В плюсцах норм nullptr.
[12:41:47] <ForNeVeR> А вообще, всегда лучше избежать нулов, если можешь.
[12:41:57] <ForNeVeR> Я стараюсь у себя в коде это слово не упоминать вообще.
[12:42:02] <Ender> только для сырых указателей, и только когда они ОЧЕНЬ БЛЯТЬ НУЖНЫ.
[12:42:07] <ForNeVeR> Ну то есть не присваивать в переменные и не сравнивать с ним, если можно.
[12:42:11] <Ender> а так желательно избегать этого.
[12:42:32] <ForNeVeR> superka: ты не получишь ответов, пока не научишься задавать вопросы.
[12:42:40] <superka> не сравнивать с ним?
[12:42:42] <Ender> а сравнивать с нуллптр нахуя?
[12:42:49] <superka> это как не сравнивать то
[12:42:53] <ForNeVeR> superka: пока что базово тебе скажу, что "myvar = null" не является валидной программой на C#, потому так и нельзя писать.
[12:43:06] <Ender> if(myptr) else if(!myptr)
[12:43:12] <ForNeVeR> Ender: не только не сравнивать с nullptr, а даже избегать блоков вот как у тебя.
[12:43:32] <Ender> >_<
[12:43:35] <superka> нет а как же if(user == null) return notfound()?
[12:43:40] <ForNeVeR> Если ты нигде никуда не присваиваешь nullptr (ни явным, ни неявным способом), то и сравнивать с ним не нужно.
[12:43:49] <ForNeVeR> Потому что его нигде не будет.
[12:43:50] <Ender> ^во как
[12:43:51] <superka> а если из бд получу
[12:44:10] <Ender> я тебе написал, как с ним не сравнивать.
[12:44:33] <ForNeVeR> Ender: ты ж понимаешь, что в этом блоке с ним и сравнивается, а?
[12:44:46] <superka> это жаваскрипт?
[12:44:47] <ForNeVeR> Ender: ну, if (ptr) это ж полный аналог if (ptr != nullptr)
[12:44:53] uggur вышел из конференции
[12:45:11] <superka> ForNeVeR: а если я из базы данных получу null?
[12:45:18] <Ender> хм. разве?
[12:45:19] <ForNeVeR> superka: базово СУБД никогда не возвращает null. СУБД может вернуть тебе пустой набор строк. А то, что ты его там у себя где-то завернул в FirstOrDefault() — это лично твоя проблема.
[12:45:39] <ForNeVeR> superka: да, в СУБД я тоже нулабельных полей предпочитаю не создавать.
[12:46:11] <superka> ага, а если поле даты не обязательное?
[12:46:15] <ForNeVeR> Ну ладно, в C# на самом деле немножко нулов можно, потому что стандартного option-типа пока что не завезли.
[12:46:31] <ForNeVeR> А вот уже на уровне F# нельзя. И в C# 7, скорее всего, запрещу.
[12:46:46] <ForNeVeR> (вероятно, там будут стандартные опциональные типы)
[12:46:58] uggur зашёл в конференцию
[12:47:08] <Ender> летающий угур!
[12:47:20] uggur вышел из конференции
[12:47:45] <ForNeVeR> superka: а ты вот не делай необязательного поля "дата". Если оно необязательное — то и не заполняй его нигде, и вообще удали :)
[12:47:51] <ForNeVeR> Делай вещи проще, друг.
[12:48:01] <superka> так оно же мне нужно иногда
[12:48:15] <Ender> ForNeVeR, не не так. тип "делай вещи, друг"
[12:48:28] <ForNeVeR> Ender: да, в первую очередь делай.
[12:48:33] <superka> да чо делать то
[12:48:37] <ForNeVeR> Если оно тебе "иногда" нужно — то, вероятно, у тебя есть другой класс сущностей, у которых это поле всегда обязательно, например.
[12:48:46] <superka> ууу
[12:48:53] <superka> типа UserBirthDate?
[12:48:57] <ForNeVeR> Можно сделать декомпозицию сущности или как-то разнаследовать, чтобы обойтись без нулов.
[12:49:28] <superka> а можно просто сделать поле nullable и все
[12:49:38] <Ender> зачем
[12:50:12] <ForNeVeR> superka: ну, кстати, с датой тебе повезло
[12:50:34] <ForNeVeR> Ведь нулабельные структуры поддерживаются в C#. Так что ты просто его мапишь на Nullable<DateTime>, и дело в шляпе.
[12:50:35] <superka> просто я подумал что в строку можно пустую строку запихнуть)
[12:51:05] <Ender> если это, скажем, дата, почему бы не считать 00.00.0000 -- не указана, и если вернулось именно 00.00.0000 -- то всё. но не if(chetotam == null)
[12:51:56] <ForNeVeR> Ender: а вот это плохая идея, и я поясню.
[12:52:02] <ForNeVeR> Ender: от чего мы хотим избавиться?
[12:52:10] <Ender> от чего?
[12:52:16] <ForNeVeR> Мы хотим избавиться от бесконечных проверок if (date != null) на уровне бизнес-логики.
[12:52:33] <ForNeVeR> Ты же просто предлагаешь этот нул заменить на другой нул, не физический, а логический.
[12:52:48] <ForNeVeR> И вместо date != null придётся бесконечно проверять if (date.Year != 0)
[12:52:48] <superka> возвращаясь к проверки на null , я не понимаю , вот есть у меня Users.Where( x => x.Email.EndsWith (".com") ;
[12:53:05] <ForNeVeR> superka: и это коллекция, что дальше?
[12:53:54] <superka> ты меня запутал
[12:53:55] <ForNeVeR> Ender: а наша задача — заставить юзера проверять дату где надо, и запретить проверять где не надо.
[12:54:12] <superka> какого юзера
[12:54:25] <ForNeVeR> Ender: идеально история замапится на std::option<std::time>
[12:54:28] uggur зашёл в конференцию
[12:56:15] <superka> ок
[12:56:20] <superka> как вот это переписать
[12:56:22] <superka> public T Get<T>(Expression<Func<T, bool>> predicate) where T : class
{
return _db.GetTable<T>().FirstOrDefault(predicate);
}
[12:56:49] <ForNeVeR> superka: мне это просто не нравится, существование такого кода нежелательно.
[12:56:59] <superka> да вашу ж мать
[12:57:05] <superka> ну напиши как надо)
[12:57:11] <ForNeVeR> Удалить!
[12:57:17] <rexim> +1
[12:57:23] <superka> ну удалять я уже не буду
[12:57:28] <ForNeVeR> Или используй First, или замени на какой-то опциональный тип.
[12:57:28] <superka> это уже в продакшне
[12:57:44] <Ender> в смысле юзера?
[12:57:45] <superka> а если First у меня ж упадет все
[12:58:17] <ForNeVeR> Вот и я об этом. Этот код нежелателен, и чтоб не упало — его надо удалить.
[12:58:23] <ForNeVeR> Исправлять его — как мёртвому припарки.
[12:58:25] <superka> вместо проверок на null, мне везде nullreferenceexception перехватывать?
[12:58:41] <superka> ну скажи ты мне как надо тогда Т_Т
[12:58:48] <ForNeVeR> Но я сказал.
[12:58:55] <superka> ты сказал удалить
[12:59:06] <ForNeVeR> Во-первых, другая функция, подобная вот этой, может существовать, если там в ней будет First.
[12:59:31] <superka> и тогда перехватывать NullRefernce чтоли?
[12:59:41] eaeee зашёл в конференцию
[12:59:44] <ForNeVeR> А откуда возьмётся NullReference?
[13:00:07] <ForNeVeR> First или вернёт объект, или выкинет какое-то стрёмное исключение, которого не должно быть в продуктивном коде никогда.
[13:00:20] <Ender> пойду nullreference поймаю
[13:00:48] <ForNeVeR> Ну то есть и паттерн использования той, новой функции с First, должен быть другим: её следует вызывать только тогда, когда точно известно, что объект существует.
[13:01:20] <ForNeVeR> И я бы даже не First, а Single бы написал, потому что нехуй.
[13:01:38] <superka> тогда везде получается дергать Where и проверять Count?
[13:02:29] <ForNeVeR> Ну ты ж сам понимаешь, что это глупо, правда же?
[13:03:07] <Ender> (эндер не понимает, потому что у него на сишарпе 11 лаб всего было и ему поебать на сишарп)
[13:03:24] <ForNeVeR> Если у тебя реально где-то в коде есть такие места, где ты хочешь получить по предикату первый результат запроса или нейтральный объект, то должен использовать опциональный тип.
[13:03:59] <superka> я не понимаю что за опциональный тип
[13:04:00] <ForNeVeR> В C# 6 / .NET 4.6.2 пока что нет такого стандартного типа, но есть несколько приличных маленьких библиотек.
[13:04:09] * Ender получил по предикату и плачет.
[13:04:29] <ForNeVeR> Например, вот: https://github.com/nlkl/Optional
[13:04:38] uggur вышел из конференции
[13:04:45] <superka> а давно ты к этому пришел?
[13:05:11] <ForNeVeR> superka: и только по этой причине, милый друг, я готов терпеть нулы в чужом коде на C# 6, и заворачивать их по поступлению в мою бизнес-логику.
[13:05:18] <ForNeVeR> Но моё терпение не бесконечно!
[13:05:22] <ForNeVeR> И скоро оно закончится.
[13:05:47] <superka> пол года назад вы терпели
[13:05:49] <superka> бля
[13:05:58] <ForNeVeR> superka: короче, поинт такой. Если функция называется Get<T> и возвращает T — она должна вернуть T. Она не должна вернуть null ни при каких условиях.
[13:06:33] <ForNeVeR> Если она называется Get<T> и возвращает Option<T> — она может вернуть либо Some, либо None, а я должен проверить результат, ежели собрался с ним чего-то делать.
[13:07:07] <ForNeVeR> Пара простых правил, и ты *никогда* больше не увидишь NullReferenceException, вываливающегося из твоего брюха.
[13:07:52] <superka> раньше сравнивали null , теперь сравнивают none
[13:07:57] <ForNeVeR> Ну, впрочем, на самом деле в большинстве взаимодействие с БД можно просто перестроить по другому паттерну, в котором нула за пределами репозитория у тебя вообще не будет.
[13:08:27] <ForNeVeR> superka: раньше сравнивали с null или не сравнивали, и не могли понять, null там или не null, может он там или не может оказаться. Иногда путались и забывали сравнить где нужно.
[13:08:31] <ForNeVeR> А теперь не путаются.
[13:08:46] <superka> public T Get<T>(Expression<Func<T, bool>> predicate) where T : class
{
return _db.GetTable<T>().? new T();
}
[13:08:58] <ForNeVeR> Стало ещё хуже.
[13:09:02] <Ender> :D
[13:09:07] <superka> да понятно
[13:09:10] <ForNeVeR> Во-первых, тебе нужно будет new constraint на T.
[13:09:28] <ForNeVeR> Во-вторых, ты не представляешь, насколько феерически медленно этот констрейнт работает.
[13:09:46] <ForNeVeR> А в-третьих, вообще непонятно, какую проблему ты решил.
[13:09:49] <m4n71k0r> просто напиши dynamic везде
[13:09:49] <ForNeVeR> У тебя объекта в базе нет.
[13:09:58] <ForNeVeR> А вызыватель ожидал, что он есть.
[13:10:01] <ForNeVeR> И что ты делаешь?
[13:10:16] <ForNeVeR> Ты пытаешься скрыть от него его ошибку, замаскировать её.
[13:10:19] <superka> да понял я)
[13:10:25] <ForNeVeR> Тебя найдут и накажут.
[13:10:34] <ForNeVeR> m4n71k0r: а у тебя шутка вообще несмешная :(
[13:10:50] <m4n71k0r> ForNeVeR: просто меня позабавила эта фича
[13:11:01] <ForNeVeR> А фича очень полезная, кстати.
[13:11:16] <ForNeVeR> https://fornever.me/posts/2015-12-12-portable-com-usage_ru.html вот почему :)
[13:11:18] <superka> nullы бедные, что только с ними не делают
[13:11:51] <superka> вот такое есть еще public User GetUserByAuthToken(string token)
{
var authToken = _db.AuthTokens.FirstOrDefault(a => a.Token == token);
if (authToken != null)
{
return _db.Users.FirstOrDefault(x => x.Id == authToken.UserId);
}

return null;
}
[13:11:58] <m4n71k0r> ForNeVeR: у тебя там ключевые слова плохо ластиком подтёрты
[13:12:04] <ForNeVeR> m4n71k0r: это фича.
[13:12:27] <ForNeVeR> Ну то есть я потом сделаю поаккуратнее, но пока останется как есть :)
[13:13:07] <m4n71k0r> ForNeVeR: разве dynamic не позволяет отстрелить воображаемого сиамского близнеца-Будду в неумелых руках?)
[13:13:31] <ForNeVeR> m4n71k0r: к счастью, его используют в считанных случаях, так что проблем это не создаёт вообще.
[13:13:55] <ForNeVeR> m4n71k0r: я, вон, с COM работаю через дынамик, чтоб не импортировать TLB на всех машинах.
[13:17:14] <m4n71k0r> null None Nothing ...
[13:19:04] Aman зашёл в конференцию
[13:19:55] <ForNeVeR> superka: следует отметить, что я выше изложил лишь свою точку зрения на идеальный код. В продакшене я так не везде пишу, а смотрю по ситуации.
[13:20:45] <ForNeVeR> Ну, мне часто достаются на поддержку всякие легаси-проекты, в которых не представляется возможным внедрить какие-то крупные переделки без значительных затрат времени.
[13:24:57] <rexim> Леголас-проекты
[13:35:00] <m4n71k0r> ААААААААААААААААА http://dotty.epfl.ch/ ААААААААААААААААААААААААА
[13:35:22] <ForNeVeR> vcpkg умеет собирать Qt многопоточно через jom, в отличие от conan. Годно.
[13:35:44] <ForNeVeR> m4n71k0r: хакеры-хипстеры взломали сайт dotty и... задизайнили его?!
[13:36:08] <rexim> Virtual JOM
[13:36:16] <m4n71k0r> ForNeVeR: а я ваще про дотти только узнал!
[13:37:28] <m4n71k0r> отсюда https://habrahabr.ru/post/316204/
[13:37:51] <ForNeVeR> m4n71k0r: эти аморальные изверги даже припёрли лигатурный шрифт!
[13:40:30] Товарищ Чпок зашёл в конференцию
[13:41:28] eaeee вышел из конференции
[13:45:37] <m4n71k0r> кхм... а почему некоторые джава-программисты считают, что если добавить к чему-то final, то это сделает это что-то иммутабельным?... хм
[13:47:08] <ForNeVeR> А разве не сделает?
[13:47:26] <m4n71k0r> ну внутренности-то менять всё равно можно
[13:47:37] <ForNeVeR> Просто
а) иммутабельным вне конструктора
б) поверхностно иммутабельным
[13:47:57] <ForNeVeR> Даже не "вне", а "после завершения конструктора", если я правильно помню.
[13:48:23] <m4n71k0r> то есть, надо вводить понятие "строго иммутабельный"?
[13:48:28] <ForNeVeR> Ты всё ещё можешь из конструктора кому-то отдать ссылку на this, дать ему пронаблюдать значения final-полей, потом поменять их и таким образом его удивить!
[13:48:43] <ForNeVeR> Из раздела "удиви своих друзей".
[13:48:57] <rexim> Которых у тебя нет
[13:49:13] <ForNeVeR> Конечно нет, если ты им из конструктора ссылку на this даёшь.
[13:49:25] <ForNeVeR> Ну и вообще, друзья есть только в C++ и в Visual Basic.
[13:49:31] <ForNeVeR> У жавы нет друзей.
[13:50:58] horta hell вышел из конференции
[13:51:29] <m4n71k0r> ForNeVeR: попробовал бы я в плюсах отдать кому-то this
[13:51:32] horta hell зашёл в конференцию
[13:51:36] <m4n71k0r> в конструкторе
[13:51:53] <ForNeVeR> m4n71k0r: никто тебе не мешает, и там даже ещё веселее.
[13:52:05] <ForNeVeR> m4n71k0r: для дополнительного веселья сделай это в другом треде!
[13:53:00] <m4n71k0r> не, если бы в плюсах была возможность проверить, что объект полностью уже наконец-то сконструировался...
[13:55:31] <m4n71k0r> бредятинка
[14:00:14] <Товарищ Чпок> m4n71k0r, https://www.youtube.com/watch?v=tB14t6_dJkk
[14:10:54] <m4n71k0r> Товарищ Чпок: кмк, это Король и Шут с чуть более психоделик текстами
[14:11:03] <m4n71k0r> но посыл понял
[14:11:49] <m4n71k0r> хотя... просто пунк
[14:14:36] <Товарищ Чпок> m4n71k0r, да, это панкуха)
[14:14:50] <Товарищ Чпок> Вчера на их коньцерт ходил.
[14:19:20] grouzen зашёл в конференцию
[14:22:04] Minoru зашёл в конференцию
[14:22:25] <ForNeVeR> А как бы мне сказать jom, сколько ядер я хочу задействовать для сборки?
[14:27:31] <rexim> -j?
[14:27:49] * rexim ваще хуйзнать что есть jom
[14:27:58] <grouzen> rexim норм тебе
[14:28:12] <rexim> grouzen: грузеняка-вака!
[14:28:16] <grouzen> йо!
[14:28:20] <rexim> \о/
[14:28:28] <grouzen> шо у вас тут интересного?
[14:28:51] <m4n71k0r> у нас жом
[14:28:57] <m4n71k0r> из свеклы
[14:29:06] <grouzen> почти жмых
[14:29:13] <m4n71k0r> да-т
[14:29:17] <rexim> grouzen: код хуячим, чай хлебаем.
[14:29:32] <m4n71k0r> я кофе хлебайу
[14:29:49] <rexim> Хлебайоу!
[14:30:03] <rexim> m4n71k0r: кофекор
[14:30:18] <ForNeVeR> Попробую JOMFLAGS=j1
[14:30:39] <rexim> ForNeVeR: давай. Удачи!
[14:30:48] * ForNeVeR держится там.
[14:30:54] <rexim> о/
[14:30:58] <rexim> о _
[14:31:19] <rexim> о_
[14:31:20] <rexim> о/
[14:31:40] <ForNeVeR> Оно, короче, обделывалось из-за многопоточности отчего-то.
[14:31:52] <rexim> Чем обделалось?
[14:31:54] <m4n71k0r> "Скажи, маленькая, что ты хочешь? Чтобы тебе оторвали голову или ехать на дачу?"
[14:32:22] * rexim не хотел бы, чтобы мантикор был его отцом. :(
[14:32:33] <m4n71k0r> https://www.youtube.com/watch?v=6kboNIX0eBc&list=PL7BVEX_DRgqVQpwZYYxfDBtthBBepG4WH&index=13
[14:32:42] <m4n71k0r> замечательно, я считаю
[14:32:56] <rexim> Minoru: а я сегодня лук купил!
[14:34:14] <m4n71k0r> кто-то торговал луком?
[14:34:54] <Minoru> rexim: будешь снова по Цодингтиму расхаживать и на всех дышать?
[14:35:26] <Minoru> луком, в смысле. Так-то в целом дышать не возбраняется и даже в какой-то степени поощряется
[14:35:29] <rexim> Minoru: Агъа! =3
[14:36:33] <m4n71k0r> Minoru: в тряпочку
[14:36:40] <Товарищ Чпок> grouzen, всё вокруг стремится к форме шара!
[14:36:47] <Товарищ Чпок> rexim, а достигнув катится к хуям!
[14:37:03] magog вышел из конференции
[14:38:03] <Товарищ Чпок> rexim, а я щас пойду куплю укулеле.
[14:38:20] <rexim> Товарищ Чпок: вы там совсем уже укулеле?
[14:38:55] <rexim> ForNeVeR: а ты там чо? Кутишь? :3
[14:39:07] <ForNeVeR> Да не кутится что-то...
[14:39:17] <ForNeVeR> Я уже пробую x86.
[14:39:38] <rexim> Платформа для кутежа! \о/
[14:39:40] <Товарищ Чпок> rexim, http://cs6.pikabu.ru/images/big_size_comm/2015-05_6/14329128641844.jpg
[14:43:49] <grouzen> Товарищ Чпок все вокруг есть центр шара, а его граница нигде
[14:43:52] <grouzen> это же очевидно
[14:50:49] magog зашёл в конференцию
[15:00:30] <portnov> grouzen: а где это нигде?
[15:02:48] <grouzen> portnov в месте отличном от где
[15:06:06] <Minoru> кто, кстати, ещё https://www.youtube.com/watch?v=MDGHei6Nllk не видел? (D-On! AMV) Годный упорин!
[15:07:14] <rexim> Minoru: лол. Начало забавное.
[15:07:40] <rexim> Minoru: ты как хочешь, а я пойду чай завариватью
[15:08:00] <Minoru> rexim: я тоже хотел бы, но мне нужно в магазин :( Придётся идти туда, а не на кухню
[15:13:47] <ForNeVeR> Товарищ Чпок: .\ _ /.
[15:13:57] <Товарищ Чпок> Что?
[15:14:05] <ForNeVeR> Товарищ Чпок: ..\\__ //..
[15:14:24] <Товарищ Чпок> ForNeVeR, да-да, уже иду в магаз)
[15:14:33] <ForNeVeR> Товарищ Чпок:
- https://github.com/codingteam/horta-hell/issues/186
- https://github.com/codingteam/horta-hell/issues/187
[15:14:50] <rexim> Два ишуя вне очереди?
[15:15:05] <Товарищ Чпок> Упс.
[15:15:19] <ForNeVeR> Товарищ Чпок: там не имплементация, а обсуждение, заметь.
[15:15:28] <ForNeVeR> Я бы хотел эти ишуи закрыть нахер.
[15:15:59] <rexim> ForNeVeR: Issue Tracker Hygiene?
[15:16:00] <Товарищ Чпок> ForNeVeR, кстати, в тему, у нас есть что-то с интернационализацией?
[15:17:12] dzhon вышел из конференции
[15:17:29] <ForNeVeR> Товарищ Чпок: ага, у нас там есть файлы с локализацией. Типа такого: https://github.com/codingteam/horta-hell/blob/develop/src/main/resources/localization/ru.conf
[15:18:33] <ForNeVeR> Товарищ Чпок: причём система локализации уже умеет в рандомный выбор варианта из списка, и смешные ответы уже локализованы и есть в списке. Я считаю, что задача на этом исчерпана, но rexim решил спросить у тебя.
[15:19:26] <ForNeVeR> rexim: я запилил для хорты борду: https://github.com/codingteam/horta-hell/projects/1
[15:19:35] <ForNeVeR> Ну и неактуальный треш немножко вычистил.
[15:21:14] <rexim> ForNeVeR: збс
[15:21:15] <rexim> Чотко
[15:50:51] horta hell вышел из конференции
[15:51:23] horta hell зашёл в конференцию
[16:25:03] Aman вышел из конференции
[16:35:22] grouzen вышел из конференции
[16:42:49] rexim вышел из конференции
[16:43:07] <Minoru> rexim: куда?! Я только пришёл…
[16:43:49] rexim зашёл в конференцию
[16:45:03] <Minoru> о, вот так збс
[16:45:22] <rexim> xD
[16:45:32] <rexim> Minoru: чаёчне?
[16:45:50] <rexim> Издержки емакса как IM
[16:46:05] <Minoru> вот кто-то (честно не помню кто) удивлялся, с чего это мы Хорту считаем женского пола — дык вот же, все рандомные ответы от имени женщины: https://github.com/codingteam/horta-hell/blob/develop/src/main/resources/localization/ru.conf
[16:46:06] <rexim> Случайно сломаешь его рантайм и приходится перезапускать :(
[16:46:07] * ForNeVeR разгрёб очередную порцию пул-реквестов от робота.
[16:46:23] <ForNeVeR> Minoru: тогда и удивлялись, когда эти ответы разбирали.
[16:46:46] <Minoru> rexim: чачёчне завяривается, а я тем временем жру конфеты! Ном-ном-ном!
[16:46:57] <rexim> Minoru: приятного! :)
[16:47:02] <ForNeVeR> rexim: перепиши на Java! Я слышал, там в HotSpot можно заменять классы на лету!
[16:47:07] <ForNeVeR> Мухахаха!
[16:47:17] <ForNeVeR> А ещё никогда не бывает out of permgen space!
[16:47:34] <rexim> ForNeVeR: в елиспе можно заменять функции на лету, только это не делает рантайм более стабильным
[16:47:53] <ForNeVeR> rexim: по всем признакам ты уже пишешь на Java!
[16:47:55] <rexim> ForNeVeR: out of metaspace?
[16:48:02] <Minoru> надмозг: https://github.com/codingteam/horta-hell/blob/develop/src/main/resources/localization/ru.conf#L56
[16:48:03] <ForNeVeR> Э, а это чо такое?
[16:48:22] <ForNeVeR> Minoru: это в оригинале было на русском ._.
[16:48:41] <rexim> ForNeVeR: это ж в жаве 8 взяли спермген переименовали на метаспейс
[16:49:10] <rexim> (про "переименовали" я шучу, если что)
[16:49:11] <ForNeVeR> Minoru: более того, ты сам это переводил на английский!
[16:49:37] <ForNeVeR> А, нет, вру. Я переводил, а ты правил.
[16:50:04] <ForNeVeR> Что это за варенье — хрен его знает вообще ._.
[16:50:26] <ForNeVeR> Причём в моём варианте это был к тому же "his jam", а в твоём — "the jam".
[16:50:47] <Minoru> что-то я плохо правил, мне не нравится
[16:51:14] <Minoru> https://github.com/codingteam/horta-hell/blob/develop/src/main/resources/localization/ru.conf#L170 Збс, the horta-hell is feature-complete now.
[16:51:27] <ForNeVeR> :)
[16:52:55] <Minoru> rexim: out of meatspace
[16:53:45] <rexim> Minoru: блин! Я есть захотел! :(
[16:54:07] <rexim> У меня свининка есть! Ща я ее с гречечгой!
[16:54:08] <rexim> Ух!
[16:54:10] <rexim> оывлаоыва
[16:54:54] <Minoru> rexim: приятного аппетита!
[16:55:12] <rexim> Minoru: спасиба! ^_^
[16:58:06] <rexim> ForNeVeR: слушай, а это сильно критично с твоей точки зрения? https://github.com/codingteam/logo/issues/9
[16:58:12] <rexim> А то мне чот лень этим заниматься. :)
[16:58:33] <rexim> Я вот на глаз не вижу отклонений.
[16:58:34] <ForNeVeR> rexim: нет, я не думаю, что это критично. Вполне можно отложить куда подальше.
[16:58:46] <rexim> Окей! Спасибо!
[16:58:49] <ForNeVeR> Там, где было заметно, я уже и так поправил :)
[16:59:00] <rexim> Круто!
[16:59:04] <ForNeVeR> А там, где незаметно, может, как раз композиция правильно сформирована.
[16:59:25] <rexim> Я с себя тогда сниму таску и пусть пока маринуется.
[16:59:28] <ForNeVeR> Ну, типа, ты понял — картинка выровнена не по центру строки, а по базовой линии текста, который выровнен по своим правилам внутри прямоугольника.
[16:59:38] <rexim> Ага, я понял. :)
[17:00:01] <rexim> У меня мозг сам какую-то известную только ему функцию оптимизирует когда я выравниваю штуки
[17:00:03] <ForNeVeR> Пофигу, короче. Я по-прежнему считаю, что надо будет подровнять, но это вообще не срочно.
[17:28:21] <ForNeVeR> HQL такая бида...
[17:28:33] dzhon зашёл в конференцию
[17:28:56] * ForNeVeR третий раз переписывает запрос и код, потому что где-то там у себя внутрях оно не может сматчить конструктор.
[17:29:43] <rexim> соснуктор
[17:30:24] <Minoru> я, кстати, вчера узнал, что:
1. На gist.github.com можно оставлять комменты; и
2. GitHub не присылает никаких уведомлений об этих комментах.
[17:30:41] <ForNeVeR> Не могу, грит, найти конструктор DeathInfo о осьмнадцати параметрах %)
[17:30:52] <ForNeVeR> Я смотрю этот тип — а там есть такой конструктор!
[17:30:58] <rexim> Minoru: мне в одном из гистов как-то задали вопрос.
[17:31:04] <ForNeVeR> Minoru: и мы узнали вместе с тобой! Я даже видел, как ты жалуешься.
[17:31:04] <rexim> Я его обнаружил через 3 года ._.
[17:31:28] <ForNeVeR> rexim: самое обидное — даже если ты на него ответил, то вряд ли автор вопроса увидел твой ответ :)
[17:31:28] <rexim> Good job GitHub!
[17:31:33] ckorzhik зашёл в конференцию
[17:31:51] <Minoru> ForNeVeR: вот именно!
[17:35:50] <Minoru> https://github.com/9630/Ruby/blob/master/rexim
[17:35:54] <Minoru> W. T. F.
[17:36:12] <ForNeVeR> О_О
[17:36:27] <ForNeVeR> Криповато!
[17:37:49] <rexim> O_O
[17:38:10] <rexim> https://github.com/9630/Ruby/commit/e756aeef65eed577ad1f7f419b018cb75fafb0b4
[17:38:12] <Minoru> ёптыть:

MR 20150816T12:15:56Z 000 <rexim> superka: я за вас рад.
MR 20150816T12:16:01Z 000 <rexim> Показывайте ваш код
MR 20150816T12:16:15Z 000 <superka> https://github.com/9630 нате
[17:38:28] <rexim> Лол
[17:38:36] <Minoru> superka: ну ты даёшь!
[17:38:51] <ForNeVeR> О__О
[17:41:50] rexim вышел из конференции
[17:42:42] * ForNeVeR поискал на гитхабе свой ник и нашёл такое: https://github.com/Ignotus/xmpp-bot/blob/97ed01d8ea3ad0e5607e116c55426886ffb5d5d3/src/main/scala/plugins/RevenrofDetector.scala
[17:43:30] <Minoru> ПоrNoVeР
[17:43:38] <ForNeVeR> И ещё вот этого мужика: https://github.com/xingyunshisui
~_~
[17:43:55] reximorning зашёл в конференцию
[17:44:19] <Minoru> ForNeVeR: прикольная у тебя кепка! Олсо не знал, что ты китаец
[17:44:27] <ForNeVeR> Спасибо!
[17:44:35] <ForNeVeR> Я не китаец.
[17:44:50] <ForNeVeR> Пора бы уже приучиться не делать выводов о национальности исходя из внешности, а!
[17:45:05] <reximorning> Friedrich Wong Never ( -_-)
[17:45:20] <ForNeVeR> Охохо, отличная шутка!
[17:45:49] <Minoru> ForNeVeR: да как же, у тебя же там написано, что ты в Пекине живёшь!
[17:46:13] <ForNeVeR> Minoru: в Пекине живут только китайцы?
[17:46:29] <ForNeVeR> Minoru: а вот если б я жил в ЮАР и чуток загорел — ты б меня негром обозвал, да? :(
[17:47:57] <ForNeVeR> Кстати, юзеров с похожим никнеймом куда больше: https://github.com/search?q=fornever&ref=searchresults&type=Users&utf8=%E2%9C%93
[17:48:10] <ForNeVeR> И ещё как минимум один человек у себя в дескрипшене написал, что я его знаю :3
[17:49:35] <Minoru> хм, а вот интересно, есть ещё случаи, когда национальность и гражданство по-разному называются, кроме русский/россиянин?
[17:49:40] eaeee зашёл в конференцию
[17:50:02] <ForNeVeR> Minoru: немцы и Германия.
[17:50:47] <Minoru> ForNeVeR: граждане Германии вроде немцы, разве нет?
[17:50:57] horta hell вышел из конференции
[17:51:06] <ForNeVeR> Minoru: тогда казахи и казахстанцы!
[17:51:14] horta hell зашёл в конференцию
[17:51:41] <ForNeVeR> Во всяком случае, сами казахстанцы считают, что это разное. Наверное, им виднее :)
[17:51:42] <Minoru> https://ru.wikipedia.org/wiki/Немцы > До XX века также именовались герма́нцами.
[17:52:28] <ForNeVeR> Других примеров не смог придумать.
[17:53:57] <ForNeVeR> Minoru: мне кажется, это скорее не примеры, когда "национальность и гражданство по-разному называется", а когда у гражданства вообще есть название.
[17:54:34] <Minoru> хм, возможно
[17:54:50] <ForNeVeR> Minoru: ну, в том смысле, что это не значит, что у остальных стран гражданство и национальность называется одинаково. Немец и гражданин Германии — это разные вещи, но у "гражданина Германии" просто нету в русском языке слова, которым его назвать.
[17:56:46] <portnov> хм.
[17:58:08] <portnov> ForNeVeR: «казахстан» очевидно произошло от «казах», а «казахстанец» — от «казахстан». Т.е. можно выдвинуть гипотезу, что «название гражданства» должно происходить от названия страны. Ср. россия — россиянин. Отсюда, Германия — германец.
[17:58:50] <ForNeVeR> portnov: я так думаю, что нужно искать названия ближних стран, в которых национальность называется не совсем так же, как сама страна.
[17:59:04] <ForNeVeR> Германия-германец хороший пример, но так никто не говорит :)
[17:59:29] <portnov> ForNeVeR: национальность там (по-русски, по крайней мере) — немец. А вот гражданство придётся называть «германец»
[17:59:45] <ForNeVeR> Что значит "придётся называть"? Его кто-то так называет или нет?
[17:59:53] <portnov> хз
[18:00:08] <portnov> но если приспичит образовывать название гражданства, то больше никак не образуешь.
[18:00:10] <ForNeVeR> Так-то мы можем щас и британцев-англичан поделить как-нибудь, но это может и не соответствовать реалиям.
[18:00:59] <portnov> ForNeVeR: с британцами как раз всё хорошо. Англичанн — национальность, не бывает граждан Англии, зато бывают граждане Британии — британцы.
[18:01:14] <ForNeVeR> А в обливионе бретонцы — это была национальность!
[18:01:41] <portnov> бретонь это совсем где-то не там
[18:01:46] <ForNeVeR> И пошто королева у Англии есть (и она ещё всё время гадит), а граждан нет? Я несогласный!
[18:02:02] <portnov> это кажется между германией и францией где-то
[18:02:21] <ForNeVeR> Я, кстати, обнаружил, что в ихней смехотворной политической системе муж королевы не называется королём %)
[18:02:23] <reximorning> Minoru: ну все. Я набил свой meatspace свининкой. Теперь можно готовиться ко стриму!
[18:02:34] <portnov> интересно кстате, как полный титул британской королевы
[18:02:42] <ForNeVeR> Зато мужу королевы какие-то негритосы поклоняются, как будто он бог.
[18:02:50] <portnov> есть ли там «королева английская»
[18:02:55] <portnov> ?
[18:03:06] <portnov> или только княгиня какая-нибудь
[18:03:09] <reximorning> Матка Британской Империи.
[18:03:36] <ForNeVeR> Наверняка там огромный титул с перечислением всяких Шотландий, Австралий, Индий и прочего.
[18:04:30] <portnov> ForNeVeR: ну просто в этом титуле обычно указываются точные названия должностей. Император всероссийский, царь русский, великий князь киевский итд. Не бывает киевского царя например.
[18:05:54] <portnov> ForNeVeR: >> «Её Величество Елизавета II, Божией милостью Соединённого Королевства Великобритании и Северной Ирландии <https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2%D1%81%D1%82%D0%B2%D0%BE_%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B1%D1%80%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B8_%D0%A1%D0%B5%D0%B2%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%98%D1%80%D0%BB%D0%B0%D0%BD%D0%B4%D0%B8%D0%B8> и иных своих царств и территорий Королева, Глава Содружества, защитница веры»
[18:06:03] <portnov> т.е. английской королевы вообще не бывает.
[18:06:58] <ForNeVeR> То есть эта их серверная ирландия — вообще не часть королевства?
[18:07:32] <portnov> Великобритания официально называется United Kingdom of Great Britain and Northen Irland
[18:07:47] <portnov> т.е. объединённое королевство, состоящее из двух частей
[18:07:59] <ForNeVeR> Скобки надо расставить!
[18:08:03] <portnov> на самом деле конечно из четырёх
[18:08:25] <portnov> но почему-то англию, уэльс и шотландию не удостоили чести включить в название государства
[18:08:32] <ForNeVeR> Я, кстати, считаю, что легко можно наехать.
[18:08:47] <portnov> шотландцы и наезжают который век подряд.
[18:08:57] superka вышел из конференции
[18:09:01] <ForNeVeR> Организовать Движение Сопротивления Серверной Ирландии, которое будет настаивать на том, что она не часть Королевства.
[18:09:07] <ForNeVeR> И требовать признания в ООН.
[18:09:16] <ForNeVeR> И десять миллиардов долларов, разумеется.
[18:10:38] <portnov> ForNeVeR: в ирландии сепаратисты постоянно представляют проблему, как чечня какая-нибудь
[18:10:58] <ForNeVeR> Ну вот, кто-то опять мою идею украл :(
[18:11:10] <portnov> https://ru.wikipedia.org/wiki/%D0%98%D1%80%D0%BB%D0%B0%D0%BD%D0%B4%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D1%81%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%80%D0%BC%D0%B8%D1%8F
[18:11:24] <ForNeVeR> О, а этих же я помню!
[18:12:37] <portnov> собственно, я не очень удивлюсь, если после очередного сепаратистского референдума в Шотландии государство переименуют в United Kingdom of Great Britain, Scotland and Northen Irland :)
[18:12:51] <ForNeVeR> Удивительно, сколь шатка политическая обстановка даже в таких, казалось бы, стабильных регионах...
[18:13:10] <ForNeVeR> Фидель был бы доволен :(
[18:14:41] <portnov> ForNeVeR: зато зацени какой они рефакторинг провернули:
>> В период царствования Елизаветы II во всех странах, признающих британского монарха своим главой государства, были приняты законы, согласно которым в каждой из этих стран британский монарх выступает в качестве главы данного конкретного государства <https://en.wikipedia.org/wiki/Head_of_the_Commonwealth> (англ.)русск. <https://ru.wikipedia.org/w/index.php?title=%D0%93%D0%BB%D0%B0%D0%B2%D0%B0_%D0%A1%D0%BE%D0%B4%D1%80%D1%83%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%BD%D0%B0%D1%86%D0%B8%D0%B9&amp;action=edit&amp;redlink=1>, независимо от своих титулов собственно в Великобритании или в третьих странах. Соответственно, во всех этих странах титул королевы звучит аналогичным образом, с заменой наименования государства. В
[18:15:11] <ForNeVeR> Годный рефакторинг: наследование заменили на композицию!
[18:15:51] <portnov> а то до этого она называлась «королева англии, уэльса, шотландии, северной ирландии, глава государства Канады, покровитель Австралии, и проч., и проч., и проч»
[18:16:02] <portnov> там наверно на страницу был титул
[18:16:20] <ForNeVeR> Вот это по-нашему!
[18:28:23] Graf зашёл в конференцию
[18:28:33] Graf вышел из конференции
[18:33:51] <horta hell> @tsoding твитит: Morganey Programming Language Ep.26 — Morning Tsoding
- YT: https://t.co/EQOtYALIG8
- Twitch: https://t.co/i7Wp0qakuX
[18:34:55] reximorning вышел из конференции
[19:01:10] unixorn вышел из конференции
[19:01:12] unixorn зашёл в конференцию
[19:14:26] unclechu зашёл в конференцию
[19:24:44] <m4n71k0r> Товарищ Чпок: ты у нас за -Werror? И тебя не раздражают штуки типа:
Utils.hpp:17:82: error: useless cast to type 'time_t {aka long int}' [-Werror=useless-cast]
auto ptime = boost::posix_time::from_time_t(static_cast<time_t>(timestamp)); ?
[19:30:08] <Minoru> а почему нельзя просто from_time_t(timestamp)?
[19:30:15] <Minoru> // я тоже за -Werror
[19:30:40] <m4n71k0r> Minoru: да откуда мне знать, что будет за тип у time_t =)
[19:31:04] <m4n71k0r> мож они дабл впендюрят
[19:31:19] <m4n71k0r> ваще ж не стандартная хрень
[19:31:54] <m4n71k0r> нестандартная
[19:33:28] <m4n71k0r> http://en.cppreference.com/w/cpp/chrono/c/time_t
[19:33:53] <Minoru> а какая тебе разница, какой тип у time_t? Просто передавай свою time_t в функцию и всё
[19:34:06] <m4n71k0r> Minoru: у меня не time_t
[19:34:18] <Minoru> если верить ману gcc, то time_t
[19:34:35] <m4n71k0r> timestamp у меня не time_t
[19:34:46] <Minoru> > -Wuseless-cast (C++ and Objective-C++ only)
> Warn when an expression is casted to its own type.
[19:34:52] <Minoru> тогда странно
[19:35:25] <m4n71k0r> у меня он std::int64_t
[19:36:07] <ForNeVeR> Я понял вопрос.
[19:36:17] <ForNeVeR> Считаю, что это место, в котором диагностику следует подавить.
[19:36:28] <ForNeVeR> Ну или переписать как-то, чтоб не ругалось.
[19:37:05] <m4n71k0r> а у меня она включена на тестах. Тесты такие. Перепишу, чтобы не ругалось
[19:37:14] <ForNeVeR> А как перепишешь?
[19:37:34] <m4n71k0r> smart_cast
[19:37:39] <ForNeVeR> Шо ето?
[19:37:56] <Minoru> ёптыть, *ещё* касты? Да сколько можно-то?
[19:38:15] <m4n71k0r> он будет смотреть, типы одинаковы - не кастуем... разные - кастуем
[19:38:18] <Minoru> ну, в смысле, в плюсах и так кастов много :(
[19:38:22] <ForNeVeR> Minoru: он свой хочет сделать.
[19:38:30] <ForNeVeR> В плюсах, как видишь, нужного каста нету.
[19:39:02] <ForNeVeR> m4n71k0r: кстати, я полагаю, что можно даже не смотреть. Скорее всего, в генерик-коде вида return static_cast<T>(t) компилятор уже и заткнётся.
[19:39:14] <Minoru> этак скоро целые программы можно будет одними только кастами выражать! «Вот тут берём пользовательский ввод и кастуем в… результат. И выводим. Вуаля!»
[19:39:28] <ForNeVeR> В смысле, не смотреть, одинаковые ли типы, а просто возвращать t и всё. Возможно, с какими-нибудь свистелками типа std::move.
[19:39:43] <m4n71k0r> ForNeVeR: посмотрим, может он умный слишком
[19:39:45] <ForNeVeR> s/t/скастованный t/
[19:39:48] <horta hell> ForNeVeR: В смысле, не смотреть, одинаковые ли типы, а просто возвращать скастованный t и всё. Возможно, с какими-нибудь свистелками типа sскастованный td::move.
[19:39:54] <Minoru> ForNeVeR: он же сгенерит специализацию для T и будет на неё ругаться, разве нет?
[19:40:08] <ForNeVeR> Minoru: я думаю, что не будет.
[19:40:11] <Minoru> в смысле, для конкретного значения T специализацию
[19:40:22] <ForNeVeR> Minoru: он что, дурак чтоли? Вдруг для какого-то T там каст нужен?
[19:40:41] <ForNeVeR> Ну то есть я как раз рассчитываю, что он дурак, но насколько надо дурак.
[19:45:44] <ForNeVeR> https://github.com/mchav/FregeAndroid fucking fuck
[19:46:11] <horta hell> @fvnever твитит: RT @mittie: Android with @fregelang poc https://t.co/sD3lqNoNI3
[19:48:09] <m4n71k0r> ForNeVeR: да, сработало
[19:49:13] <m4n71k0r> это меня удивило... Видимо, анализ статический чуточку тупее
[19:49:36] <m4n71k0r> чем я думал
[19:51:45] <ForNeVeR> $send rexim https://pbs.twimg.com/media/CyOzrgpXgAQhy4U.jpg:large
[19:51:46] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[20:24:56] magog вышел из конференции
[20:34:38] Graf зашёл в конференцию
[20:35:04] Graf вышел из конференции
[20:40:15] ckorzhik вышел из конференции
[20:40:17] Ender вышел из конференции
[21:03:18] ckorzhik зашёл в конференцию
[21:32:55] MaXGGXaM зашёл в конференцию
[21:46:35] eaeee вышел из конференции
[21:48:32] rexim зашёл в конференцию
[21:48:33] horta hell вышел из конференции
[21:48:45] horta hell зашёл в конференцию
[21:50:48] horta hell вышел из конференции
[21:51:06] horta hell зашёл в конференцию
[21:53:17] ckorzhik вышел из конференции
[21:57:41] <rexim> ForNeVeR: > Windows 95
[21:57:43] <rexim> Збс
[22:00:56] magog зашёл в конференцию
[22:16:12] dzhon вышел из конференции
[22:17:17] Graf зашёл в конференцию
[22:17:23] Graf вышел из конференции
[22:24:06] archangelmichael зашёл в конференцию
[22:25:28] <archangelmichael> Пинг.
[22:26:09] portnov вышел из конференции
[22:26:40] <unclechu> понг?
[22:28:04] <m4n71k0r> .ping
[22:28:05] <DeadBot> m4n71k0r: понг от тебя 0.03 секунды
[22:28:11] <m4n71k0r> .ping archangelmichael
[22:28:26] <m4n71k0r> хм
[22:28:41] <m4n71k0r> $say 13
[22:28:43] <DeadBot> m4n71k0r: archangelmichael не предоставляет такого сервиса
[22:28:44] <horta hell> m4n71k0r: не думаю, что миграциями базы кроме меня считает, что после 30 человек ничему не учится. Насколько мне известно - даже связи перестраиваются. Ну, в общем … если нет, то есть
[22:29:08] <m4n71k0r> если нет, то есть...
[22:29:09] <archangelmichael> Ой. Пинг не написан. Я вообще с телеграмма сижу.
[22:29:38] <m4n71k0r> да хоть с herogram-а)
[22:30:14] <m4n71k0r> бот для xmpp
[22:30:18] <m4n71k0r> безумие
[22:31:06] <archangelmichael> И не говори. Зачем только написал. Сжечь чтоль.
[22:33:47] <m4n71k0r> archangelmichael: а в капчу тоже умеет?
[22:35:51] <archangelmichael> Капча приходит как сообщение с ссылкой, перехожу, ввожу, пускает в конференцию.
[22:43:05] gsomix зашёл в конференцию
[22:43:10] <Minoru> ну если уж из *Телеграма* в джаббер ходят, то XMPP точно не помрёт :)
[22:43:15] <gsomix> Утро!
[22:43:23] <Minoru> gsomix: привет!
[22:43:27] <Minoru> в смысле, утро
[22:43:57] <rexim> А что телеграм мегапопулярен шоле?
[22:43:58] <Minoru> archangelmichael: а тебе вот привет, и сразу вопрос — ты код пишешь? Бота сам написал?
[22:44:06] <Minoru> rexim: ну вроде да
[22:44:12] <rexim> Minoru: окей.
[22:44:31] <rexim> Я просто ж сижу в своей пещере через емакс, последних трендов не знаю. :)
[22:45:32] <archangelmichael> Сам и код пишу и бота написал.
[22:46:29] <rexim> archangelmichael: на сишарпе?
[22:46:43] <Minoru> кстати, о Телеграме… gsomix, для тебя блогосервис сделали: https://telegra.ph
[22:46:58] <Minoru> (это не рекомендация, я шутки ради упоминаю)
[22:47:02] <gsomix> Minoru, уф.
[22:47:25] <archangelmichael> Бот на C++.
[22:49:05] <Minoru> archangelmichael: а код покажешь?
[22:49:20] <Minoru> у нас за код мембера дают, это избавляет от необходимости вводить капчу
[22:54:44] <archangelmichael> Не покажу.
[22:55:04] <Minoru> ну вот :(
[22:58:07] <archangelmichael> Интересный код показывали сегодня на хабре.
[23:04:42] <rexim> Кто не показывает один раз код нам, показывает жаббер серверу произвольные буквы и цифры много раз.
[23:06:28] <Minoru> можно вместо капчи просить номер PR, которым пользователь закрывает один из багов в проектах Цодингтима
[23:06:55] <Minoru> тогда можно и мемберы автоматом раздавать, код-то (уже) есть
[23:09:23] <m4n71k0r> rexim: да и пусть не показывает
[23:10:10] sss|zombie зашёл в конференцию
[23:12:37] sss|zombie вышел из конференции
[23:12:41] sss|zombie зашёл в конференцию
[23:13:46] sss|zombie вышел из конференции
[23:13:57] sss|zombie зашёл в конференцию
[23:14:58] <m4n71k0r> std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now().time_since_epoch()).count()
[23:15:07] <m4n71k0r> как всё непросто)
[23:15:31] <rexim> Пфф... Даже ни разу не пришлось typename нигде писать.
[23:15:33] <rexim> Все просто.
[23:15:47] <m4n71k0r> заверну-ка я это констэкспр функцию
[23:16:14] <m4n71k0r> жду constexpr лямбды
[23:16:34] <m4n71k0r> как вообще можно так несимметрично делать стандарт?)
[23:16:58] <rexim> В течении нескольких десятков лет-то?
[23:17:00] <rexim> Да легко!
[23:18:03] <Minoru> m4n71k0r: он очень большой, Александреску не может с одной стороны стандарта до Сатра докричаться, когда тот с другой стороны что-то делает; а пока добежишь, уже две версии вышло!
[23:18:40] <Minoru> или он Саттер? Я ничего не знаю
[23:19:11] <gsomix> Сартр.
[23:19:25] <m4n71k0r> rexim->template downcastSharedFromThisAs<ConcreteMixer>()->doConcreteMixering();
[23:19:36] <m4n71k0r> бггг
[23:20:07] <m4n71k0r> Minoru: Александреску надоело стэндапить на цппконференциях... кмк
[23:20:13] <rexim> > ConcreteMixer
БетоноМешалка?
[23:20:19] <rexim> МЕШАЕТ БЕТОН!
[23:20:21] <rexim> овлаоылва
[23:20:23] <m4n71k0r> ДА!
[23:20:44] <Minoru> gsomix: это шутка ниже пояса!
[23:21:20] <m4n71k0r> БРИГАДА СТРОИТЕЛЕЙ ЖРЁТ САМОГОН!
[23:21:36] <rexim> m4n71k0r: https://en.wikipedia.org/wiki/Concrete_mixer
[23:22:08] <m4n71k0r> https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Operation_of_a_truck_mixer.gif/250px-Operation_of_a_truck_mixer.gif
[23:22:26] <gsomix> Minoru, :(
[23:22:32] <rexim> Именно так я это и делаю, все верно.
[23:22:35] sss|zombie вышел из конференции
[23:22:47] sss|zombie зашёл в конференцию
[23:25:11] <archangelmichael> Вот что радует, так это то, что все ваши ссылки показываются с описанием и картинками.
[23:31:35] <rexim> ПИТОНОМЕШАЛКА МЕШАЕТ ПИТОН!
АДМИН С ТЕСТИРОВЩИКОМ ПЬЮТ САМОГОН!
ПИТОНОМЕШАЛКА, ЯЗЫКА ДИНАМИЗМ!
ВИРТУАЛЬНОЙ МАШИНЫ ПОЛИМОРФИЗМ!
[23:31:52] <rexim> Эх! Ностальгия!
[23:33:13] <m4n71k0r> я так заностальгировал, что, например, посмотрел видео, например, с Пауком, например.
[23:33:28] <rexim> m4n71k0r: го на питоне писать?
[23:33:46] <m4n71k0r> rexim: может питон на го?
[23:33:54] <rexim> Не, я не го уже писал.
[23:38:35] <m4n71k0r> rexim: чтобы на пистоне писать, мне надо с духом собраться)
[23:39:01] <m4n71k0r> я обычно код прекомпилирую в голове, а на пистоне придётся ещё и запускать в голове
[23:39:26] <m4n71k0r> а чо там пистон атомики завезли уже? Ну так, чтобы поржать)
[23:39:48] <m4n71k0r> фу как на меня Паук повлиял...
[23:39:51] <m4n71k0r> бррр
[23:40:37] <Minoru> m4n71k0r: ты чо, у них атомики from day one. GIL FTW!
[23:41:36] <Minoru> // на самом деле не уверен, но не мог упустить случая шуткануть про GIL. I'll show myself out
[23:42:50] <rexim> Атомикки Маус
[23:42:56] <m4n71k0r> Minoru: в айрон пистоне норм мультитрединг
[23:42:59] <m4n71k0r> без гила
[23:43:06] <m4n71k0r> или как его
[23:43:29] <m4n71k0r> да, всё правильно http://ironpython.net/
[23:43:36] <m4n71k0r> дотнетнопитон
[23:43:52] <gsomix> Даже живой немного.
[23:43:54] <rexim> Оно живое?
[23:43:56] <m4n71k0r> ага
[23:44:12] <rexim> m4n71k0r: хуясе.
[23:44:13] horta hell вышел из конференции
[23:44:16] horta hell зашёл в конференцию
[23:44:25] <rexim> Я-то думал, все что не-cpython давно сдохло уже.
[23:44:36] <rexim> Удивительно
[23:45:00] <m4n71k0r> даже wpf для него есть
[23:45:06] <rexim> чойта?
[23:45:07] <m4n71k0r> гуйцы-хуйцы
[23:45:23] <rexim> А виндовая приблуда какая-то
[23:45:26] <rexim> Окей
[23:45:36] <Minoru> rexim: Windows Python Forms
[23:45:55] <rexim> :D
[23:46:23] horta hell вышел из конференции
[23:46:39] <m4n71k0r> спич рекогнишон на питоне https://github.com/IronLanguages/main/blob/ipy-2.7-maint/Languages/IronPython/Samples/Voice/Exer2.py
[23:46:46] <m4n71k0r> блин, оно только виндовое?
[23:47:26] horta hell зашёл в конференцию
[23:47:52] <Minoru> Хорточка выходила, чтобы этого не видеть
[23:48:02] uggur зашёл в конференцию
[23:48:03] <rexim> Хорточку откройте!
[23:48:08] <rexim> Дышать нечем!
[23:48:08] <m4n71k0r> http://stackoverflow.com/questions/31753746/ironpython-for-net-core
[23:48:21] <rexim> m4n71k0r: дотнеткор
[23:48:55] <m4n71k0r> дот нет мат тролл эпик блац кор
[23:48:57] <Minoru> rexim: L6X!W
[23:49:17] <rexim> Minoru: лях?!
[23:50:01] <Minoru> rexim ⇒ ГeXІМ ⇒ L6X!W
[23:50:04] <Minoru> так понятней?
[23:50:08] <rexim> О_О
[23:50:26] <m4n71k0r> Minoru: а меня могёшь?
[23:50:31] <rexim> $wtf Minoru
[23:50:31] <horta hell> rexim: > Минорий Чпокняк © rexim
[23:50:32] <horta hell> rexim: > Минорий Чпокняк © rexim
[23:50:36] <rexim> o_O
[23:50:40] <m4n71k0r> дваждуй!
[23:50:40] <rexim> WTF
[23:50:47] <rexim> $access
[23:50:47] horta hell вышел из конференции
[23:50:53] <rexim> Ох...
[23:51:27] <rexim> Ладно, надо пойду посуду помыть и поспать
[23:51:31] horta hell зашёл в конференцию
[23:51:31] <m4n71k0r> по утрам хорту особенно глючит
[23:51:32] <rexim> пойти*
[23:51:39] <rexim> Стоп
[23:51:41] <rexim> Чо уже утро?
[23:51:44] <rexim> А
[23:51:46] <rexim> Тут всегда утро
[23:51:47] <m4n71k0r> всегда утро
[23:51:49] <m4n71k0r> да
[23:52:02] * rexim подумал, что все ночь в чятике просидел, лол
[23:52:03] horta hell вышел из конференции
[23:52:05] <rexim> всю*
[23:52:11] <m4n71k0r> аккуратнее, а то выйдешь из конфы
[23:52:17] <m4n71k0r> и уже может быть не утро
[23:52:18] horta hell зашёл в конференцию
[23:52:30] ckorzhik зашёл в конференцию
[23:52:36] <Minoru> m4n71k0r: wduJIKOL
[23:52:40] <Minoru> m4n71k0r: тяжело и непохоже
[23:53:00] horta hell вышел из конференции
[23:53:26] horta hell зашёл в конференцию
[23:53:32] <m4n71k0r> Minoru: да, это из-за моего ника дурацкого
[23:53:50] <m4n71k0r> .kick horta hell
[23:53:50] horta hell выгнали из конференции: DeadBot
[23:53:51] <DeadBot> m4n71k0r: ok
[23:54:28] <m4n71k0r> ноги не вытерла
[23:54:40] <m4n71k0r> ходюи тудой-сюдой
[23:54:45] <m4n71k0r> ходють
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!