Home
codingteam
codingteam@conference.jabber.ru
14.10.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: http://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:48:26] rafaelrs вышел из конференции
[01:00:51] rafaelrs зашёл в конференцию
[01:02:16] Славный капитан вышел из конференции
[01:05:04] ckorzhik вышел из конференции
[01:38:34] kpecmuk зашёл в конференцию
[01:47:18] Aman вышел из конференции
[01:51:54] kpecmuk вышел из конференции
[02:02:15] a1batross вышел из конференции
[02:02:18] a1batross зашёл в конференцию
[02:09:13] kpecmuk зашёл в конференцию
[02:21:30] ckorzhik зашёл в конференцию
[02:37:46] ɹǝɟılʍǝu вышел из конференции
[02:56:48] a1batross вышел из конференции
[02:56:50] a1batross зашёл в конференцию
[03:48:04] <horta hell> хуй корчится в муках и умирает. Все теряют по 1PTC.
[03:55:04] xmi вышел из конференции
[04:24:28] ckorzhik вышел из конференции
[04:37:06] ckorzhik зашёл в конференцию
[04:41:05] unclechu вышел из конференции
[04:41:09] unclechu зашёл в конференцию
[05:10:27] a1batross вышел из конференции
[05:17:02] matraskin зашёл в конференцию
[05:47:31] matraskin вышел из конференции
[05:47:59] matraskin зашёл в конференцию
[06:03:20] a1batross зашёл в конференцию
[06:27:51] horta hell вышел из конференции
[06:27:56] horta hell зашёл в конференцию
[06:27:58] ForNeVeR вышел из конференции
[06:27:58] ForNeVeR зашёл в конференцию
[07:34:28] a1batross вышел из конференции
[07:34:34] ckorzhik вышел из конференции
[07:42:23] portnov зашёл в конференцию
[07:51:04] portnov вышел из конференции
[07:57:39] grouzen зашёл в конференцию
[07:59:30] a1batross зашёл в конференцию
[09:01:09] <gsomix> ForNeVeR, украл немного времени и вернул индексацию туплями.
[09:01:23] <gsomix> Сегодня буду базовые операции реализовывать.
[09:01:31] <ForNeVeR> gsomix: о, ты это всё закоммитил уже?
[09:01:38] <gsomix> ForNeVeR, да там чуть-чуть.
[09:03:16] <ForNeVeR> gsomix: может, тебе тестов написать?
[09:06:22] <gsomix> ForNeVeR, я вот совсем забыл как с гитом работать.
[09:06:30] <gsomix> И какой-то мерж себе сделал. .__.
[09:06:43] <gsomix> Надо было, наверное, аккуратно рибейзить, да?
[09:06:54] gsomix вышел из конференции
[09:12:58] grouzen вышел из конференции
[09:13:02] grouzen зашёл в конференцию
[09:14:31] <ForNeVeR> gsomix: послушай совета старого человека: возьми себе гуйню для гита. Не мучай себя!
[09:21:16] gsomix зашёл в конференцию
[09:21:42] <gsomix> ForNeVeR, но тогда я не стану кулхацкером.
[09:21:51] <ForNeVeR> А ты хочешь?
[09:21:56] <gsomix> А что есть хорошего из гуйни?
[09:22:04] <ForNeVeR> Я предпочитаю SmartGit.
[09:22:23] <ForNeVeR> Но в принципе для простой визуализации есть SourceTree.
[09:22:26] <gsomix> Ок, спасибо.
[09:22:34] <ForNeVeR> Андрей пилит GitExtensions, но мне они никогда не нравились.
[09:22:57] <gsomix> Я просто забыл, что делал изменение ридми из гитхаба.
[09:23:05] <ForNeVeR> Ну, в смысле, он один из контрибьюторов.
[09:23:16] <ForNeVeR> gsomix: я тебе расскажу щас про твой мерж, не убегай. Я быстро :)
[09:23:30] <ForNeVeR> gsomix: в общем, когда ты делаешь pull, то это по умолчанию fetch + merge.
[09:23:33] <gsomix> Я в трамвае. Бежать некуда.
[09:23:42] <ForNeVeR> Можно его перенастроить так, чтобы это было fetch+rebase.
[09:24:05] <ForNeVeR> Я предпочитаю именно такую стратегию. Она не плодит лишних мерж-коммитов и не создаёт проблем в большинстве случаев.
[09:24:55] <gsomix> Да, помню, я как-то так несколько лет назад работал с репой сегуна.
[09:25:24] <ForNeVeR> Хм, или Андрей не контрибьютил в GitExtensions... странно.
[09:25:48] <gsomix> Окей, имеет смысл откатывать и править?
[09:25:57] <ForNeVeR> Нет, ни в коем случае.
[09:26:21] <ForNeVeR> Во-первых, никогда не стоит исправлять публичные ветки (т.е. master/develop), кроме совсем уж критичных ситуаций.
[09:26:21] <gsomix> Хорошо, на будущее тогда запомню.
[09:26:32] <ForNeVeR> Во-вторых, это безусловно мелочь, и не стоит беспокоиться.
[09:27:22] <ForNeVeR> gsomix: но в контрибьюторах GitExtensions много знакомых лиц. Может, стоит попробовать воспользоваться :)
[09:28:09] <ForNeVeR> Хотя, блин, какое ж оно стрёмное... не :)
[09:28:23] <gsomix> Ладно. Я вечерком начну с реализации функций конструирования массивов.
[09:28:34] <gsomix> Там тоже могут быть сюрпризы.
[09:28:48] ɹǝɟılʍǝu зашёл в конференцию
[09:29:15] <ForNeVeR> Чуваки, я такое придумал!
[09:29:24] <ɹǝɟılʍǝu> Утро.
[09:29:25] <ForNeVeR> А что, если не нужно систему типов?
[09:29:34] <ɹǝɟılʍǝu> А что нужно?
[09:29:37] <ForNeVeR> Что, если нам нужна система эффектов?
[09:29:49] <ForNeVeR> Не в качестве дополнения, а в качестве замены системы типов!
[09:29:59] <ɹǝɟılʍǝu> Возможно. Но ничо сказать не могу, не раскуривал.
[09:30:00] <gsomix> Обоснуй. :)
[09:30:01] <ForNeVeR> Ну или какой-то надстройки, более комплексной сущоности.
[09:30:12] <ForNeVeR> gsomix: не могу. Только что в голову пришло.
[09:30:18] <gsomix> Ок. :)
[09:30:45] <gsomix> Мне это кажется странным.
[09:30:47] <ForNeVeR> Можно попробовать обосновать так: поведение программы определяется соответствующим видом её семантики (денотационной? операционной? хоть убей, не помню).
[09:31:08] <ForNeVeR> Семантика не полностью описывается распространёнными системами типов, это общеизвестно.
[09:31:40] <ForNeVeR> Поэтому одно из направлений работы — расширить систему типов так, чтобы она охватывала семантику. См. системы типов с эффектами.
[09:32:10] <ForNeVeR> Но что, если рассмотреть другое направление? И разработать "систему семантик", частью которой была бы система типов?
[09:32:53] <ForNeVeR> Вполне возможно, что в этом терминологическом базисе "система семантик" будет примерно тем же самым, что и "система с зависимыми типами".
[09:33:06] <ForNeVeR> Или нет. Тут я уже не уверен. Идея вброшена и закончилась :)
[09:37:53] <gsomix> Ну, эффекты без типов, например, я представляю.
[09:38:11] <gsomix> Но "система семантика" -- что-то сложное.
[09:38:12] <ForNeVeR> А я вообще эффекты не представляю :(
[09:38:19] <ForNeVeR> Что можно почитать про эффекты?
[09:38:27] <ForNeVeR> Томаш нормально пишет про них?
[09:39:12] <gsomix> Я читал только статью про тот язык с эффектами.
[09:39:28] <gsomix> На уровне конкретного кода.
[09:39:56] <gsomix> Потому что я не умею в нужную математику.
[09:47:59] <gsomix> ForNeVeR, про тесты. Можно, но лучше после того, как я закончу написание базовых функций.
[09:49:48] <gsomix> У меня на следующей неделе командировка на конференцию.
[09:49:56] <gsomix> Попишу кода спокойно. :)
[09:50:12] <ɹǝɟılʍǝu> ForNeVeR, http://pikabu.ru/story/o_neizbezhnom_khomyak_vasya_kotoromu_nalozhili_gips_otgryiz_sebe_lapu_4545177
[09:51:12] grisssa зашёл в конференцию
[09:52:21] <ForNeVeR> ɹǝɟılʍǝu: какая шокирующая история!
[09:52:43] <ɹǝɟılʍǝu> ForNeVeR, хомяки они все такие)
[09:52:52] gsomix вышел из конференции
[09:55:37] ɹǝɟılʍǝu вышел из конференции
[09:57:29] grouzen вышел из конференции
[10:03:35] Graf зашёл в конференцию
[10:08:27] <grisssa> пирвет всем
[10:09:33] dzhon зашёл в конференцию
[10:12:44] <ForNeVeR> Утро!
[10:13:30] <ForNeVeR> $send rexim https://github.com/scottrippey/SmartFormat.NET/wiki
[10:13:31] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[10:13:37] <ForNeVeR> send/rexim/Я хочу такое же для Java./
[10:13:37] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[10:15:42] <ForNeVeR> send/rexim/Причём для того, чтобы сделать его по-настоящему быстрым, надо принимать кодеген и бормотуху!/
[10:15:43] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[10:22:34] gsomix зашёл в конференцию
[10:22:48] <gsomix> Чпок?
[10:22:52] <gsomix> Эээ, в смысле, утро?
[10:25:43] Aman зашёл в конференцию
[10:27:19] <gsomix> ForNeVeR, отличная либа.
[10:27:23] dzhon вышел из конференции
[10:28:08] <uggur> "gsomix: Чпок?" вау! :Ь
[10:30:21] <gsomix> ForNeVeR, как у людей так получается? Придумывать и писать полезные и годные либы. ,_,
[10:31:29] <uggur> люди не пишут полезные либы XD
[10:31:45] <uggur> люди пишут 99% трэша и 1% полезных либ
[10:31:51] <uggur> просто ты знаешь только про тот 1% :)
[10:32:10] <uggur> а про 99% -- нет, потому что это бесполезные и негодные либы
[10:32:12] <ForNeVeR> gsomix: ну вот я щас придумал стырить идею и написать для жабы. Неужто не полезно? :)
[10:32:29] <gsomix> ForNeVeR, а то! Обычно наоборот делают.
[10:33:32] <gsomix> ForNeVeR, кстати, Julia 0.5 вышла. Хорошо сделали!
[10:33:50] <ForNeVeR> А я так и не воспользовался её до сих пор нигде :(
[10:34:04] <gsomix> ForNeVeR, я тоже. Но есть такие планы.
[10:37:02] <gsomix> ForNeVeR, они там хорошо поработали над перформансом лямбд и замыканий, запилили аннотации для возвращаемых типов, перелопатили что-то в массивах.
[10:37:12] <uggur> ForNeVeR: вот умрёт она, и что делать будешь?
[10:37:19] <ForNeVeR> uggur: плакать?
[10:37:24] <uggur> на кого ты кодовую базу оставляешь?
[10:37:26] <uggur> ирод!
[10:37:50] <gsomix> Мне кажется, что уже не умрет.
[10:37:58] <gsomix> Но что-нибудь отламают обязательно к релизу.
[10:38:24] <gsomix> s/лам/лом/
[10:38:26] <horta hell> gsomix: Но что-нибудь отломают обязательно к релизу.
[10:44:06] <gsomix> ForNeVeR, но если захочешь попробовать, то у них есть отличный плагин для Atom. http://junolab.org/
[10:44:14] <gsomix> И они к этому релизу написали дебаггер.
[10:46:51] dzhon зашёл в конференцию
[10:47:28] newlifer зашёл в конференцию
[10:55:53] <newlifer> devel29a, утра шоле
[10:55:59] <newlifer> gsomix, гсомя шоле
[10:56:19] <devel29a> newlifer: Да, давай, утреца
[10:57:08] <newlifer> gsomix, дебуггер!
[10:57:13] <newlifer> Димми Бургер!ъ
[10:58:12] <gsomix> newlifer, дебургер.
[10:58:35] <gsomix> Когда ты разбираешь бургер в овощной салат с котлеткой и хлебушком.
[10:59:27] Aman вышел из конференции
[10:59:32] <newlifer> Это дизассамблирование.
[11:00:12] <ForNeVeR> newlifer: дизассемблирование уже в желудке происходит.
[11:01:56] <newlifer> ForNeVeR, а тут когда что?
[11:02:00] <newlifer> Декомпановка?
[11:02:17] <ForNeVeR> По-моему, он этот бургер просто перепаковал.
[11:02:35] <ForNeVeR> Один артефакт распаковал, а другой получил.
[11:04:13] <newlifer> ForNeVeR, сделаем же дуа за него!
[11:04:38] <ForNeVeR> Что?
[11:04:55] <gsomix> Дуа? Луа?
[11:07:35] <newlifer> Так.
[11:07:42] <newlifer> Пора раскурить boost.fiber
[11:07:58] <gsomix> nable, boobs.biber
[11:08:03] <gsomix> тю.
[11:08:06] <newlifer> gsomix, <3
[11:08:12] <ForNeVeR> ._
[11:08:21] <newlifer> ForNeVeR, его пегасы покусали!
[11:09:37] <gsomix> ForNeVeR, smartgit выглядит неплохо.
[11:09:58] <gsomix> И в choco есть!
[11:10:20] xmi зашёл в конференцию
[11:18:24] <ForNeVeR> gsomix: но, увы, лицензия позволяет только некоммерческое использование :(
[11:18:26] m4n71k0r зашёл в конференцию
[11:18:37] <gsomix> ForNeVeR, ну, и то неплохо.
[11:18:53] <ForNeVeR> А я за него даже зоплатил! И заставлял девелоперов исправлять баги :)
[11:24:38] <gsomix> ForNeVeR, кстати, как там Atom, шустрее начал работать?
[11:24:51] <ForNeVeR> Я не знаю, с чем сравнить.
[11:24:53] <ForNeVeR> У меня норм :)
[11:25:06] <ForNeVeR> С HDD запускается по-прежнему с кряхтением.
[11:25:41] <gsomix> Ок. VSCode просто отлично работает, но для не не все плагины есть.
[11:25:58] <nable> gsomix: чего упомянул?
[11:26:08] <gsomix> nable, случайно.
[11:26:14] <gsomix> Извини.
[11:26:15] <nable> Окай.
[11:28:01] <nable> Я на днях поставил VSCode, но он лазит в инет и не хочет работать под firejail. Мне стало стрёмно и снёс его нафиг.
[11:28:37] <nable> А так-то на удивление шустрый редактор. Обычно у меня всё тормозит, так что даже плагины на vim с оглядкой довешиваю.
[11:28:55] <ForNeVeR> Наверное, ты сам просто очень быстрый!
[11:30:30] <nable> Не без этого. Но и комп у меня несвежий, хотя казалось бы, core2duo, какого фига какие-то там текстовые редакторы тормозят.
[11:32:00] <newlifer> nable, попробуй neovim.
[11:32:03] <newlifer> Он сильно шустрей.
[11:34:11] <ForNeVeR> gsomix: я глянул release notes от vs15 и сдаётся мне, что всё хозяйство (новый msbuild, F# 4.1 и т.п.) будут релизиться вместе со студией.
[11:34:15] <ForNeVeR> Когда — непонятно.
[11:36:30] grouzen зашёл в конференцию
[11:36:58] <gsomix> ForNeVeR, ну, да. Это обычное дело.
[11:37:14] <gsomix> Я думаю, к новому релизу F# не успеют сделать все RFC.
[11:37:18] <ForNeVeR> Если судить по https://github.com/Microsoft/visualfsharp/wiki/F%23-for-CoreCLR---Status — то не очень скоро.
[11:37:30] <ForNeVeR> Ну, там примерно половина работы сделана.
[11:37:50] <ForNeVeR> Впрочем, со второй половиной непонятно, что делать %)
[11:37:58] <m4n71k0r> унылутро...
[11:38:10] <ForNeVeR> m4n71k0r: а ну не унывай!
[11:38:20] <m4n71k0r> уже несколько дней...
[11:38:24] <m4n71k0r> задолбало...
[11:38:44] <m4n71k0r> чем вы бодритесь после работы?
[11:38:53] <gsomix> ForNeVeR, там еще netstandard...
[11:38:56] <ForNeVeR> Я кушаю.
[11:39:03] <ForNeVeR> gsomix: да.
[11:39:12] <ForNeVeR> m4n71k0r: попробуй кушать после работы!
[11:39:19] <ForNeVeR> И кофейчанского.
[11:39:20] <m4n71k0r> я тоже кушаю
[11:39:26] <m4n71k0r> но всё равно
[11:39:34] <m4n71k0r> у нас такая погодка в Ростовчике...
[11:39:40] <m4n71k0r> вот джон подтвердит
[11:39:48] <ForNeVeR> Ух, у нас зашибись — всюду снег, лёд, сугробы!
[11:40:31] <gsomix> ForNeVeR, я читал, что Барнаул -- один из самых благоустроенных городов в России.
[11:40:40] <ForNeVeR> о_О
[11:41:06] <ForNeVeR> Ну, мы тут не жалуемся, но я б не сказал, что какое-то особенное благоустройство есть.
[11:41:18] <ForNeVeR> Самый обычный город. Как ты и я!
[11:42:39] <newlifer> m4n71k0r, ух ты! Мантикора! Привет! Как дела, как жена/дети?
[11:45:42] <gsomix> ForNeVeR, > > Отметим, что по итогам 2015 года в числе победителей конкурса на самый благоустроенный город страны оказался и Барнаул.
[11:48:37] <ForNeVeR> о_О
[11:50:56] <m4n71k0r> newlifer: всё уныло, жена хандрит, у ребёнка зуб болит....
[11:51:30] <gsomix> https://twitter.com/iamdevloper/status/786831673275154432
[11:53:10] <ForNeVeR> gsomix: DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS!
[12:01:58] <m4n71k0r> сплю и вижу потные подмышки Баллмера
[12:02:19] <m4n71k0r> так бы говорил любой, кто поработал в мелкософте
[12:02:19] <devel29a> m4n71k0r: Ты какие-то ужасные вещи говоришь!
[12:02:39] <nable> newlifer: я его поставил, но пока не проникся. Тем более что без плагинов меня и скорость обычного vim устраивает. А плагины под neovim свои и я пока не зашарил есть ли то что мне нужно и как оно зовётся.
[12:03:00] <m4n71k0r> newlifer: нахуя ты интересовался?(
[12:03:09] <m4n71k0r> newlifer: чо как там твой код?
[12:04:17] <nable> Собственно, под обычный vim есть youcompleteme, который хорош всем кроме того как он тормозит. Насколько понимаю, под neovim оно такое ж будет.
[12:07:15] <nable> Ага, похоже что есть. Ну что ж, надо посмотреть как работать будет.
[12:11:36] dzhon вышел из конференции
[12:11:37] dzhon зашёл в конференцию
[12:11:58] <m4n71k0r> ForNeVeR: я тут смотрел код электрона и нарвался на это. Ты не знаешь, что это такое? https://github.com/electron/electron/blob/master/lib/common/asar.js#L393-L394
[12:12:24] <m4n71k0r> я всё меньше и меньше понимаю js-код(
[12:13:11] <m4n71k0r> в принцпие вторая строчка понятна
[12:13:17] <m4n71k0r> а вот нафига первая...
[12:14:04] <m4n71k0r> интересно, а жабаскриптологи знают, что реюз переменных - зло?
[12:14:47] <devel29a> http://developerslife.ru/15469
[12:30:20] dzhon вышел из конференции
[12:30:36] dzhon зашёл в конференцию
[12:34:09] <newlifer> m4n71k0r, просто интересно жеж.
[12:45:26] <newlifer> ForNeVeR, https://www.opennet.ru/opennews/art.shtml?num=45320
[12:48:14] <ForNeVeR> m4n71k0r: да, я знаю, что это такое.
[12:48:27] <ForNeVeR> m4n71k0r: это деструктуризация. const access = fs.access;
[12:48:54] <m4n71k0r> аааа
[12:49:26] <ForNeVeR> Вообще, похоже, что это кусок из graceful-fs или как его блин.
[12:50:10] <ForNeVeR> m4n71k0r: короче, эти кореша поступают очень плохо, так уже давно не принято ._.
[12:50:21] <m4n71k0r> const {хуй} = человек;
[12:50:27] <ForNeVeR> Да.
[12:50:40] <ForNeVeR> m4n71k0r: и не стоило тебе туда влезать, наверное...
[12:50:53] <m4n71k0r> я зажмурился и вылез
[12:51:04] <ForNeVeR> Нос забыл заткнуть!
[12:54:26] sss|zombie вышел из конференции
[13:02:16] Graf вышел из конференции
[13:05:42] ckorzhik зашёл в конференцию
[13:32:19] Graf зашёл в конференцию
[13:48:41] <m4n71k0r> и сюда
https://johanengelen.github.io/ldc/2016/10/11/Math-performance-LDC.html
[13:49:15] Graf вышел из конференции
[13:50:52] <gsomix> m4n71k0r, ух!
[13:51:46] <newlifer> Ух!
[13:52:19] <gsomix> m4n71k0r, будет круто, если разработчики всяких математических либ обратят внимание на D.
[13:52:23] <gsomix> В реализации LDC.
[13:53:00] <m4n71k0r> видимо, dmd будет для быстрого впиливания фич и презентации компилятора ди, написанного на ди, а ldc будет для для оптимизаций адовых...а вот gdc... ну дебажить его удобно
[13:54:13] <m4n71k0r> gsomix: им проще вылизывать код на си... я вообще удивлён, что либы на фортране были переписаны
[13:54:55] <gsomix> m4n71k0r, я думаю, это вопрос времени. Все-таки для плюсов существует много математических либ. И на ди перейдут, если будут видеть преимущества.
[13:59:42] <gsomix> Ну, мне кажется, что у ди есть будущее в качестве платформы для работы учоных и ученых.
[14:00:57] <gsomix> Что там нужно-то? Приятный синтаксис и скорость.
[14:01:56] a1batross вышел из конференции
[14:01:57] a1batross зашёл в конференцию
[14:04:35] <gsomix> Учитывая, что в ди крутое метапрограммирование, то синтаксис можно будет организовать.
[14:05:18] <gsomix> Ну, какая-нибудь Julia на то же ориентируется. Только типизация динамическая и, наверное, пока качество не очень хорошее.
[14:11:34] Aman зашёл в конференцию
[14:16:15] matraskin вышел из конференции
[14:27:38] a1batross вышел из конференции
[14:27:39] a1batross зашёл в конференцию
[14:37:48] a1batross вышел из конференции
[14:37:49] a1batross зашёл в конференцию
[14:42:02] kpecmuk вышел из конференции
[14:51:57] a1batross вышел из конференции
[14:51:58] a1batross зашёл в конференцию
[14:53:46] dzhon вышел из конференции
[14:53:48] dzhon зашёл в конференцию
[15:08:50] Aman вышел из конференции
[15:08:51] Aman зашёл в конференцию
[15:16:01] a1batross вышел из конференции
[15:16:45] a1batross зашёл в конференцию
[15:22:00] dzhon вышел из конференции
[15:24:51] dzhon зашёл в конференцию
[15:38:24] rexim зашёл в конференцию
[15:38:25] horta hell вышел из конференции
[15:38:32] horta hell зашёл в конференцию
[15:42:07] dzhon вышел из конференции
[15:43:11] ckorzhik вышел из конференции
[15:47:56] <newlifer> Из соведнего чята http://www.gwan.com/blog/20160405.html
[15:49:54] a1batross вышел из конференции
[15:49:55] a1batross зашёл в конференцию
[16:12:06] ckorzhik зашёл в конференцию
[16:14:40] dzhon зашёл в конференцию
[16:20:01] <rexim> Советский чят
[16:22:46] <newlifer> rexim, МИКСЕР
[16:22:48] <newlifer> УХ!
[16:22:50] <newlifer> ММММИКСЕР!
[16:27:41] a1batross вышел из конференции
[16:27:42] a1batross зашёл в конференцию
[16:27:53] <rexim> newlifer, я тут заебатых макарошек с сыром нахуячил. Заходи, с чайком пожрем.
[16:28:12] <newlifer> rexim, иду!
[16:28:17] * newlifer зашёл в миксера.
[16:31:30] dzhon вышел из конференции
[16:33:17] <ForNeVeR> rexim: ты читал приватик?
[16:33:25] <ForNeVeR> !
[16:33:43] <ForNeVeR> rexim: я помню, что что-то умное тебе писал, но забыл, что именно :(
[16:39:57] Lavir зашёл в конференцию
[16:40:09] <newlifer> ForNeVeR, если ты смелый, ловкий, умелый...
[16:40:20] <ForNeVeR> newlifer: ...Ктулху тебя зовёт!
[16:40:34] <newlifer> Ух!
[16:40:42] <rexim> ForNeVeR, какую-то умной штуку для i18n
[16:40:46] <rexim> На сколько я понял
[16:41:35] <ForNeVeR> rexim: а про бормотуху, про бормотуху писал?
[16:41:57] <Lavir> Новости с полей. В мой стройный дизайн никак не вписываются лямбды. Только через уродливое «call(m, *args)», где m — переменная с лямбдой.
[16:42:21] <ForNeVeR> Lavir: в смысле, оператор круглых скобок не вписывается?
[16:42:33] <rexim> ForNeVeR, да, все написал. Бомотуху я сегодня уже випил, спасибо, что напомнил.
[16:42:41] <newlifer> Оператор квадратных обок!
[16:42:45] <ForNeVeR> Lavir: и чем тогда переменная с лямбдой будет отличаться от переменной с указателем на функцию?
[16:42:51] <ForNeVeR> rexim: ок, я вспомнил!
[16:43:00] <rexim> ForNeVeR, ок!
[16:43:08] <ForNeVeR> rexim: не, там не про локализацию, а про умный форматтер. Он не только для локализации.
[16:43:21] <rexim> А, ок.
[16:43:23] <rexim> Круто
[16:43:59] <ForNeVeR> Наруто!
[16:44:09] <newlifer> ForNeVeR, Наутро!
[16:44:11] <rexim> ForNeVeR, тебе из саппорт из бинтрей ответил?
[16:44:22] <ForNeVeR> rexim: да. Чуть позже проверю.
[16:44:32] <rexim> Ок
[16:44:37] <ForNeVeR> rexim: или ты мне щас напиши в приват!
[16:44:51] <newlifer> ForNeVeR, если ты смелый, ловкий и белый!
[16:44:58] <ForNeVeR> rexim: только сегодня ответили. Как ты узнал? :)
[16:45:31] <Lavir> ForNeVeR, скажем, если есть переменная m, то еще можно похакать дизайн и сделать, чтобы «x.m(y)» было равносильно вызову лямбды m с аргументами «x» и «y». Но если лямбда присвоена какому-нибудь полю структуры, то «p.m(y)» уже не работает, нужно делать что-то вроде «p.m.call(y)».
[16:45:42] <rexim> ForNeVeR, нопейсал
[16:46:08] grisssa вышел из конференции
[16:46:15] <Lavir> А у меня «x.m(y)» равносильно «m(x, y)» или лисповому «(m x y)».
[16:46:36] <rexim> Morgany Shlang
[16:46:36] <newlifer> Если ты смелый, смелый и смелый!
[16:46:44] <ForNeVeR> Lavir: если честно, не понимаю, на кой хрен такое нужно, но тебе виднее.
[16:47:01] <Lavir> Что именно, ForNeVeR, эквивалентность двух форм?
[16:47:08] <rexim> ForNeVeR, ты получил мое важное послание?
[16:47:11] <ForNeVeR> Lavir: да, только трёх.
[16:47:25] <gsomix> ForNeVeR, ты работал с PropertyChangedEventManager в WPF?
[16:47:36] <rexim> ForNeVeR, будешь макарошки с сыром?
[16:47:45] <ForNeVeR> rexim: там, кажется, всё сломалось!
[16:47:50] <rexim> 500:
[16:47:52] <rexim> ?
[16:47:55] Aman вышел из конференции
[16:47:55] <ForNeVeR> rexim: я получил только "ывоалд ыврлоываап прыоыв! "
[16:48:12] <rexim> О, збс
[16:48:15] <rexim> Почейнили
[16:48:15] <ForNeVeR> gsomix: неа. Чото впервые слышу про такого менеджера.
[16:48:18] <rexim> Молодцы!
[16:48:24] <gsomix> ForNeVeR, ок, ладно.
[16:48:39] <gsomix> Это производный от WeakEventManager.
[16:48:57] Aman зашёл в конференцию
[16:49:29] Lavir вышел из конференции
[16:49:31] <rexim> Какие-то у вас менеджеры слабые! :(
[16:49:37] <ForNeVeR> gsomix: а вот этого я знаю.
[16:50:26] <ForNeVeR> Раньше был какой-то жуткий паттерн, который надо было реализовывать для слабости. А в 4.5 чтоли добавили вот такую няшную вещь, и больше не надо париться.
[16:50:36] <gsomix> ForNeVeR, я хочу туда PropertyChangedEventHandler заталкивать, а в него заталкивается только EventHandler<PropertyChangedEventArgs>.
[16:50:44] <gsomix> Не соображу что и как мне скастовать.
[16:51:11] <ForNeVeR> gsomix: а ты одного к другому скастовать не можешь?
[16:51:14] Lavir зашёл в конференцию
[16:51:26] <ForNeVeR> Звучит так, будто у них сигнатуры совместимы.
[16:52:41] <gsomix> ForNeVeR, не можу.
[16:53:32] <ForNeVeR> gsomix: в лямбду заверни!
[16:53:53] <gsomix> Уф
[16:54:07] Aman вышел из конференции
[16:54:08] Aman зашёл в конференцию
[16:55:37] revenrof зашёл в конференцию
[16:57:15] revenrof вышел из конференции
[16:58:27] Aman вышел из конференции
[16:58:29] Aman зашёл в конференцию
[16:58:35] <gsomix> ForNeVeR, завернул, помогло.
[16:58:37] <gsomix> Спасибо.
[16:58:52] <ForNeVeR> gsomix: только будь осторожен с утечками!
[16:59:04] <ForNeVeR> gsomix: ты же понимаешь, да, что у твоей лямбды отныне собственное время жизни?
[16:59:37] <ForNeVeR> Я не уверен, может ли это в твоём сценарии создать тебе проблемы.
[17:00:03] <ForNeVeR> Но жизнь этой лямбды более не связана с жизнью объекта-владельца обработчика событий. Лямбда может умереть раньше!
[17:00:18] <ForNeVeR> Просто обдумай всё, в общем. И будь готов!
[17:00:30] <gsomix> ForNeVeR, ну, да, я там с этой проблемой и борюсь вощемто.
[17:00:37] <Lavir> Чо… А разве при выходе из скоупа переменная типа std::function<…> не освобождается, как положено?
[17:00:41] <ForNeVeR> Ок, тогда ты в контексте.
[17:00:47] <ForNeVeR> Lavir: wat.
[17:01:10] <gsomix> ForNeVeR, спасибо
[17:01:32] <ForNeVeR> Lavir: насколько мне известно, озвученного тобою правила не отменяли для std::function.
[17:01:39] <ForNeVeR> Значит, освобождается.
[17:02:12] xmi вышел из конференции
[17:02:20] <Lavir> void f() {
int g;
auto m = [=] { return 10; }
}
void g() {
f();
// Тут я что, получу утечку?
}
[17:02:29] <Lavir> *return g;
[17:03:14] <ForNeVeR> Lavir: нет, с чего ты взял-то?
[17:03:21] <ForNeVeR> Наркоман чтоле?
[17:03:22] <Lavir> Показалось.
[17:03:27] <ForNeVeR> .____.
[17:03:49] <ForNeVeR> Lavir: эм, эти твои инсинуации как-то связаны с нашим предыдущим разговором с гражданином gsomix'ом?
[17:04:04] <Lavir> Нет, с текущим.
[17:04:20] <ForNeVeR> У нас нет текущих разговоров с этим гражданином.
[17:04:34] <ForNeVeR> Lavir: короче, мы с ним не про плюсы говорили.
[17:05:02] <Lavir> Показалось.
[17:05:47] <ForNeVeR> Хотя, наверное, такую же машинерию можно построить на std::shared_ptr и std::weak_ptr.
[17:06:57] <gsomix> ForNeVeR, в общем, лямбды я складываю в ConditionalWeakTable, чтобы они раньше времени не умирали.
[17:07:38] <ForNeVeR> gsomix: не очень хорошая идея.
[17:07:44] <Lavir> А насчет эквивалентности двух форм вызова, ForNeVeR, я уже говорил: меня **ДОЕБАЛО** думать над тем, когда нужно применять вызов с точкой, когда без точки. Из-за этой херни мой код выглядит как «f(g(h(z.r()).r().q()).m())))))». fmap(…) нормальный не сделаешь, do-нотацию не наколхозишь, да вообще ничего написать невозможно! ААААА!!!
[17:08:16] <gsomix> ForNeVeR, хм. Надо подумать.
[17:08:32] <ForNeVeR> gsomix: ConditionalWeakTable это очень убойная магия. Ты понимаешь, что свои лямбды неявно прибиваешь к объекту? Они практически становятся его неотъемлемыми свойствами. И при этом редкий профайлер памяти это заметит вообще :)
[17:09:03] <ForNeVeR> gsomix: я про эти штуки узнал, когда Андрей мне рассказывал, как у них в решарпере была утечка памяти, которую они не могли выследить с помощью dotMemory.
[17:09:17] <ForNeVeR> Ну, с тех пор запилили поддержку туда
[17:10:11] <ForNeVeR> gsomix: хотя чорт его знает. Может, тебя устроит функциональность этого класса. Просто будь внимателен, ок?
[17:10:20] <gsomix> ForNeVeR, хорошо. .__.
[17:11:31] <gsomix> ForNeVeR, может тогда мне имеет смысл рассказать про изначальную проблему и пути решения?
[17:11:41] <ForNeVeR> gsomix: расскажи.
[17:13:13] a1batross вышел из конференции
[17:13:37] <rexim> gsomix, да, дядя Гсомикс, расскажи!
[17:14:11] <m4n71k0r> лямбды в виктаблю!
[17:21:37] <gsomix> ForNeVeR, так, кажется, мне надо отдохнуть и подумать еще раз.
[17:21:56] <ForNeVeR> rexim: меня сегодня на слабо пытались развести в корпоративном чатике.
[17:21:58] <rexim> Битбакет такой забавный. Когда пушишь ветку, ремоут тебе отвечает сообщением с урл, по которому можно создать пулл реквест для этой ветки. Удобно пушнул, и если терминал поддерживает линки, сразу кликнул и создал реквест.
[17:22:05] <ForNeVeR> Ты же, говорят, любишь баги фиксить?
[17:22:14] <rexim> ForNeVeR, так ведь ты же любишь, нет?
[17:22:15] <ForNeVeR> Я говорю — да, конечно, особенно в опенсорсе и всё такое.
[17:22:20] <rexim> Ну вот.
[17:22:27] <ForNeVeR> А ну пофикси нам, говорят, https://github.com/jenkinsci/hockeyapp-plugin/pull/31
[17:22:44] <ForNeVeR> Думали, я отступлюсь.
[17:22:51] <rexim> ForNeVeR, пуллреквест пофиксить?
[17:23:03] <ForNeVeR> rexim: там проблемы с этим PR, код кривоват был.
[17:23:11] <rexim> Ага, вижу твой коммент
[17:23:20] <rexim> Плюсанул на всякий случай.
[17:23:24] <ForNeVeR> Но я взял, разобрался, да ещё и заставил того, кто спрашивал, проверить мою гипотезу :3
[17:23:56] <ForNeVeR> В общем, одним багом стало меньше, а меня затроллить не вышло :3
[17:24:11] <rexim> Да ты сам себя каждый день троллишь, зачем тебя троллить?
[17:24:19] <ForNeVeR> Я никого не троллю!
[17:24:24] <rexim> Кроме себя.
[17:24:43] <rexim> ForNeVeR, ты молодец, короче. Вот.
[17:32:23] <newlifer> ForNeVeR, плюсонол.
[17:32:47] <gsomix> ForNeVeR, так. Я пытаюсь побороть возможные утечки с помощью слабых событий.
[17:32:57] <gsomix> ForNeVeR, для этого использую WeakEventManager.
[17:33:13] devel29a вышел из конференции
[17:33:16] <gsomix> Таким образом развязываю время жизни слушателя от времени жизни источника.
[17:33:58] <gsomix> Но обработчики у меня -- это лямбды, которые содержат ссылки на слушателя и дергают его методы.
[17:34:21] <gsomix> Соответственно, из-за использования слабых событий они тут же умирают.
[17:34:58] <gsomix> Использование ConditionalWeakTable позволяет увеличить время жизни лямбд.
[17:35:13] <gsomix> Что тоже приводит к "утечкам", хм.
[17:35:28] <gsomix> Но как минимум слушатели могут спокойно помирать.
[17:35:57] <gsomix> ForNeVeR, ^
[17:36:07] <gsomix> А, нет.
[17:36:16] <gsomix> Кажется, это все не имеет смысла. :)
[17:44:26] Aman вышел из конференции
[17:46:40] Aman зашёл в конференцию
[17:48:24] <newlifer> ForNeVeR, rexim, где почитать, как интегрировать тесты в travis-ci?
[17:48:54] <rexim> Ты их лучше там дифференцируй.
[17:49:00] <rexim> Интегрировать не так интересно.
[17:49:17] <newlifer> rexim, азаза.
[17:50:09] <ForNeVeR> gsomix: слушай, не кажется ли тебе, что тебе слабые события вообще не нужны?
[17:50:50] <ForNeVeR> newlifer: я обычно беру похожий проект, и из него тырю appveyor.yml :)
[17:51:04] <ForNeVeR> А, .travis.yml
[17:51:08] <rexim> xD
[17:51:15] <rexim> Дооо, для трависа это не сработает
[17:51:17] <ForNeVeR> newlifer: у самого тревиса есть инструкции по интеграции разных языков.
[17:52:05] <gsomix> ForNeVeR, да, я думаю.
[17:52:14] <gsomix> Под вечер уже тяжеловато выходит.
[17:53:11] revenrof зашёл в конференцию
[17:54:36] <gsomix> revenrof, ForNeVeR, проблема вот какая: Source -ref-> delegate -ref-> Listener. У меня слушатель будешь жить до тех пор, пока источник не помрет. Тут или слабые события, или рулить руками отвязывание событий.
[17:55:37] <ForNeVeR> gsomix: ок, а ты хочешь, чтоб слушатель мог помереть раньше источника.
[17:55:46] <gsomix> Да.
[17:56:56] <gsomix> ForNeVeR, самый здравый способ -- не использовать лямбд.
[17:57:42] <ForNeVeR> gsomix: знаешь, я теперь задумался, как вообще этот weakeventhandler работает.
[17:57:43] <rexim> ForNeVeR, gsomix, вы там лямбда-угнитением занимаетесь? :(
[17:58:04] <ForNeVeR> gsomix: ведь делегат-то ничем не лучше лямбды! На него тоже ни у кого нету ссылок!
[17:58:30] dzhon зашёл в конференцию
[17:58:52] a1batross зашёл в конференцию
[17:58:52] Aman вышел из конференции
[17:58:52] Aman зашёл в конференцию
[18:01:08] <gsomix> ForNeVeR, может рефлексия какая.
[18:01:09] <gsomix> Хз.
[18:01:52] Aman вышел из конференции
[18:01:56] Aman зашёл в конференцию
[18:03:01] <ForNeVeR> gsomix: а ну стой!
[18:03:07] <rexim> ForNeVeR, збс, у запаблишенной моргани в зависимостях прописан скала рантайм.
[18:03:21] * rexim может спать спокойно
[18:03:22] <ForNeVeR> gsomix: я находил какой-то хороший способ подписки. Похоже, WeakEventPattern — плохой :)
[18:03:30] <ForNeVeR> rexim: э, но это же правильно?
[18:03:36] <rexim> ForNeVeR, да
[18:03:47] <rexim> ForNeVeR, стал бы я тебе не правильные вещи говорить, верно?
[18:03:55] <gsomix> ForNeVeR, подожди, но ведь delegate лучше, чем лямбда.
[18:04:29] <ForNeVeR> gsomix: какой WeakEvetnManager ты вообще юзаешь? Обычный или генерик?
[18:04:44] <ForNeVeR> А, генерик.
[18:04:50] <ForNeVeR> И в этом проблема!
[18:05:00] <gsomix> ForNeVeR,да, генерик.
[18:05:01] <ForNeVeR> gsomix: а чем делегат лучше?
[18:05:34] a1batross вышел из конференции
[18:07:01] <rexim> А это чо не одно и тоже, да?
[18:07:17] <rexim> Лямбда и делегат.
[18:07:18] <ForNeVeR> rexim: спокойно! Разберёмся.
[18:07:23] revenrof вышел из конференции
[18:07:26] <rexim> Нет, не спокойно!!
[18:07:30] * rexim vibrates
[18:07:58] <ForNeVeR> rexim: тише, тише!
[18:08:05] <rexim> Вжжж!11
[18:09:03] <gsomix> ForNeVeR, я к тому, что делегат в вполне определенном месте хранит ссылку на слушателя. И эту ссылку для своей внутренней кухни может использовать WeakEventManager.
[18:09:29] <ForNeVeR> gsomix: ок, принимается.
[18:09:48] <gsomix> С лямбдами такой фокус не прокатывает.
[18:09:58] <ForNeVeR> Лямбда и есть слушатель в этом случае.
[18:10:04] <ForNeVeR> И её обволакивает делегат.
[18:10:10] <gsomix> Который сразу мрет, ага.
[18:10:12] <ForNeVeR> gsomix: спокуха, я почти придумал.
[18:10:24] <gsomix> Я тоже почти придумал.
[18:10:30] <gsomix> Хм.
[18:10:38] <ForNeVeR> Нам просто надо посмотреть, что делает WeakEventManager.AddHandler!
[18:11:17] <ForNeVeR> gsomix: похоже, просто придётся реализовать паттерн старым способом (наследуясь от WeakEventManager, ну или что-то перекрывая).
[18:11:35] <gsomix> ForNeVeR, хм, а я подумал, что можно просто привязывать эту лямбду к слушателю.
[18:11:43] Lavir вышел из конференции
[18:11:48] <ForNeVeR> gsomix: ну да, это было очевидным решением. Только вот как?
[18:12:12] <gsomix> ForNeVeR, ConditionalWeakTable %)
[18:12:25] <ForNeVeR> Сейчас ты это делаешь с помощью WeakTable.
[18:13:54] <gsomix> ForNeVeR, да ну, надо просто везде старых-добрых методов обработчиков написать.
[18:14:01] <gsomix> И в делегаты их оборачивать
[18:14:01] <rexim> Your table is weak! ( '^')
[18:15:08] <newlifer> rexim, йай
[18:15:15] <newlifer> Тревис умеет в тесты Catch-а!
[18:15:17] <newlifer> qfq
[18:15:18] <newlifer> йай
[18:15:19] <newlifer> йай
[18:15:21] <newlifer> ух!
[18:15:22] <newlifer> Уф!
[18:15:24] <newlifer> йай
[18:15:26] <rexim> Лол, чо там уметь?
[18:15:32] <rexim> Он в любые умеет.
[18:15:43] <newlifer> rexim, rexim йай
[18:15:45] <rexim> Это гребаный CI
[18:16:09] <newlifer> rexim, йай
[18:16:33] <newlifer> rexim, http://demotivatorov.org/images/201506/bigxLjhhfLJbrI8.jpg
[18:16:52] <ForNeVeR> gsomix: короче, у них там internals так себе написано. Какая-то самодельная WeakEventTable с хэшмапами и рукописно шедулимым методом Cleanup..
[18:16:53] <rexim> ForNeVeR, так в чем разница между делегатами и лямбдами?
[18:17:04] <rexim> Я когда хуячил танки, мне показалось это одно и тоже.
[18:17:09] <rexim> Просто синтаксис повербозней
[18:17:10] <ForNeVeR> gsomix: смело хуячь ConditionalWeakTable ^)
[18:17:11] dzhon вышел из конференции
[18:17:15] <ForNeVeR> rexim: щас расскажу, обжди.
[18:17:16] <newlifer> rexim, хуячил тянку!
[18:17:18] <newlifer> Ух!
[18:17:25] <rexim> ForNeVeR, окей
[18:17:33] <gsomix> ForNeVeR, ух!
[18:17:33] <rexim> ForNeVeR, я пока чайку заварю.
[18:17:37] dzhon зашёл в конференцию
[18:17:58] <newlifer> ForNeVeR, http://meetingcpp.com/index.php/br/items/what-does-modern-c-really-mean.html
[18:17:58] <ForNeVeR> rexim: короче, начнём с того, что словом "делегат" в контексте C# можно описать много разных вещей, как и словом "лямбда".
[18:18:01] <newlifer> ForNeVeR, ask Alexandrescu!
[18:18:14] <rexim> ForNeVeR, ебать
[18:18:19] * rexim уже боиться.
[18:18:35] <newlifer> rexim, тся
[18:18:53] <rexim> боит*ь*ся
[18:19:00] <rexim> боит*Ь*ся
[18:19:29] <newlifer> тся
[18:19:54] <ForNeVeR> rexim: под словом "делегат" в зависимости от контекста разговора могут иметь в виду:
- тип System.Delegate
- тип System.MulticastDelegate
- тип-наследник System.MulticastDelegate (которые в C# можно объявлять ключевым словом... delegate!)
- экземпляр любого из вышеупомянутых типов
- конструкцию языка C#, которая так и называется — anonymous delegate
[18:20:17] <rexim> Хуясе.
[18:20:23] <rexim> А потом еще говорят скала сложная.
[18:21:21] <ForNeVeR> rexim: под словом "лямбда" в языке C# в основном понимается синтаксическая конструкция вида (a) => ..., которая может в зависимости от контекста оказаться
- быть скомпилированной в Expression<T> (то есть просто дерево выражений)
- быть скомпилированной в Func<T>, Action<T> и т.п. (то есть настоящей функцией с телом и опциональным замыканием)
[18:21:44] <rexim> ForNeVeR, ага, понятно. Спасибо!
[18:21:54] <ForNeVeR> Именно по этой причине нельзя написать var a = (x) => y
[18:22:07] <ForNeVeR> (там нельзя var, а надо явно указывать тип)
[18:22:14] <rexim> Хм...
[18:22:16] <rexim> Забавно
[18:22:18] <ForNeVeR> rexim: ну так вот, к чему я клоню.
[18:22:53] <ForNeVeR> rexim: anonymous delegate и лямбда, которая компилируется в Func<T> — это две конструкции, которые обладают практически аналогичными возможностями, и компилируются в одинаковый код.
[18:23:22] <rexim> ForNeVeR, прикольно, спасибо за разъяснение!
[18:23:25] <ForNeVeR> Вот эти две штуки (последние в моих списках) можно считать "одним и тем же". В остальном контексты различаются.
[18:23:47] <rexim> ForNeVeR, http://i.imgur.com/eIWcCMx.png
[18:23:52] <rexim> Это тебе бонус
[18:23:55] <ForNeVeR> Продвинутый народ часто их на словах заменяет, а новичков это сильно путает.
[18:24:04] <ForNeVeR> rexim: XD
[18:24:32] <rexim> А все потому что (x) => xx
[18:24:38] <rexim> А не xy
[18:24:49] <ForNeVeR> rexim: (x) (x) (x) \(._.)/ (x) (x) (x)
[18:24:54] <rexim> o_O
[18:25:17] <ForNeVeR> s/./^/
[18:25:18] <horta hell> ForNeVeR: r-xim: (x) (x) (x) \(^_^)/ (x) (x) (x)
[18:26:01] <rexim> ForNeVeR, https://www.dropbox.com/s/no3x8y5ugq3z6f3/dance.gif?dl=0
[18:26:13] <ForNeVeR> rexim: знаешь, я эту правду про делегаты и лямбды куда-нибудь запишу.
[18:26:21] <rexim> Давай!
[18:26:28] <rexim> В блогопост:
[18:26:31] <rexim> ?
[18:26:39] <ForNeVeR> Мне часто приходится новичкам рассказывать про разницу между этой хренью.
[18:26:44] <ForNeVeR> Да, в блогопост.
[18:27:06] <ForNeVeR> Тут много материала — я распишу про System.Delegate и System.MulticastDelegate, и про остальное :3
[18:27:21] <rexim> Ух!
[18:27:26] <ForNeVeR> (спойлер: других делегатов, кроме MulticastDelegate, не существует!)
[18:27:37] <rexim> А вдруг добавят?
[18:27:49] <rexim> Больше делегатов!
[18:28:00] <ForNeVeR> Не должны. Это design decision, что они не нужны :)
[18:28:16] <gsomix> ForNeVeR, о, и я почитаю.
[18:28:50] <gsomix> ForNeVeR, с ConditionalWeakTable все еще непонятно что делать. :)
[18:28:54] <gsomix> Но я придумаю!
[18:29:27] <ForNeVeR> gsomix: не, с ней ты справишься.
[18:35:58] Kerrigаn вышел из конференции
[18:41:33] portnov зашёл в конференцию
[18:41:38] Kerrigаn зашёл в конференцию
[18:43:21] gsomix вышел из конференции
[18:52:57] Aman вышел из конференции
[18:56:48] grisssa зашёл в конференцию
[18:57:04] <grisssa> привет всем , кто работал с питоном?
[18:59:40] <rexim> Херасе дискриминация
[19:01:44] <newlifer> То PHP, то Python...
[19:02:30] <rexim> Да забанить и дело с концом.
[19:02:53] <rexim> newlifer, забанить концом!
[19:02:59] <rexim> По лбу!
[19:03:01] <rexim> Во!
[19:03:52] <rexim> newlifer, https://www.youtube.com/watch?v=ZJy1ajvMU1k
[19:04:11] <rexim> send/eaeee/Форневер уже спит/
[19:04:13] <horta hell> rexim: Сообщение помещено в очередь.
[19:04:33] <ForNeVeR> Э, не баньте!
[19:04:36] <ForNeVeR> Человек явно прогрессирует.
[19:04:44] <rexim> о_О
[19:04:47] <rexim> ForNeVeR, ты чего не спишь?
[19:04:54] <ForNeVeR> grisssa: многие тут работали с питоном. Можешь смело начинать с того, чтобы задавать вопрос.
[19:05:01] <ForNeVeR> rexim: пул-реквесты ревьюю, батенька!
[19:05:13] <rexim> ForNeVeR, пулл-реквесты спать не дают?
[19:05:20] <ForNeVeR> Да :(
[19:05:24] <rexim> :(
[19:11:53] Aman зашёл в конференцию
[19:13:08] m4n71k0r вышел из конференции
[19:14:09] <grisssa> ForNeVeR: спасибо, дело в том что я слышал что сайты на нем писать можно, вот хотел узнать ваше мнение по этому поводу
[19:14:21] <ForNeVeR> Можно.
[19:14:42] <ForNeVeR> Я лично предпочитаю более серьёзные вещи, типа Scala или C# / F#, но можно и на питоне, коли так.
[19:15:12] <rexim> Писать сайты можно на всем, что способно взаимодействовать с системой ввода вывода операционной системы.
[19:15:19] <ForNeVeR> rexim: Morganey?
[19:15:23] <rexim> Да
[19:15:25] <ForNeVeR> Ъ
[19:15:34] <rexim> Через CGI, без проблем аще.
[19:15:40] <rexim> В stdin/stdout она умеет
[19:16:09] <ForNeVeR> rexim: у меня хитрый план.
[19:16:15] <rexim> ( =_=)
[19:16:16] <ForNeVeR> rexim: короче, мы будем страдать
[19:16:19] <ForNeVeR> rexim: сильно.
[19:16:21] <rexim> Пффф...
[19:16:26] <rexim> Т.е. ничего не поменяется?
[19:16:28] <newlifer> ctor на Моргание?
[19:16:31] <ForNeVeR> rexim: но сделаем нечто, что назовём "веб-фреймворк" на morganey
[19:16:38] <ForNeVeR> rexim: и заманим хипстеров на ней писать!
[19:16:38] <newlifer> Да!
[19:16:40] <newlifer> Довайте!
[19:16:45] <rexim> ForNeVeR, xD
[19:17:02] <rexim> ForNeVeR, ты хочешь всех хипстер подвергнуть лямбла-угнитению?
[19:17:11] <ForNeVeR> А ведь это же модно, молодёжно. Лямбда-счисление? Как, ты не слышал? Не пишешь сайт с использованием лямбда-счисления? ДА ТЫ НЕ МОДНЫЙ
[19:17:23] <ForNeVeR> rexim: даааа! :D
[19:17:37] <rexim> Ъ
[19:17:45] <rexim> ForNeVeR, окей, будем работать в этом направлении тогда.
[19:17:50] <ForNeVeR> XD
[19:23:06] grisssa вышел из конференции
[19:28:37] <newlifer> https://blogs.msdn.microsoft.com/vcblog/2016/10/11/c1417-features-and-stl-fixes-in-vs-15-preview-5/
[19:28:40] <newlifer> ForNeVeR, ↑
[19:28:43] Kerrigаn вышел из конференции
[19:29:11] Kerrigаn зашёл в конференцию
[19:32:37] <ForNeVeR> newlifer: да, это хорошая тема.
[19:33:27] <newlifer> https://github.com/Iyengar111/NanoLog
[19:39:18] Graf зашёл в конференцию
[19:39:22] Graf вышел из конференции
[19:41:43] Minoru зашёл в конференцию
[19:42:06] <Minoru> rexim: chpk cnfrmd
[19:46:45] <rexim> Minoru, Цеж Минорий Чпокняк!! \о/
[19:46:46] <rexim> Ура!11
[19:47:28] <rexim> Minoru, как делишки?
[19:47:53] <Minoru> всё хорошо, только Newsbeuter снова упал и, похоже, не оставил корку для анализа
[19:48:07] <rexim> :(
[19:48:13] <rexim> Упал в процессе генерации корки?
[19:48:14] <rexim> Хм...
[19:48:23] <rexim> А такое возможно? %)
[19:49:19] newlifer вышел из конференции
[19:49:23] Славный капитан зашёл в конференцию
[19:50:33] <Minoru> я так понимаю, кордампы делает ОСь, соответственно, единственный способ не получить корку — это уронить операционку
[19:50:43] <portnov> мне давеча рассказывали, как патчкорд, лежащий в полуметре от свитча, создавал петлю из-за сухого ионизированного воздуха
[19:50:51] <portnov> так что возможно всё
[19:51:22] <ForNeVeR> Весёлые дискуссии в #fsharp
[19:51:35] <rexim> Fapsharp!
[19:51:39] <ForNeVeR> Чувак обещает нажаловаться Дону на баги, остальные его отговаривают %)
[19:52:39] <Minoru> rexim: в core(5) пишут, что есть ещё одна тысяча и один способ, начиная с отсутствия прав на запись и заканчивая отсутствием поддержки в ядре
[19:52:54] <rexim> Minoru, забавно
[19:53:11] <ForNeVeR> Ядро не поддерживает ваше поведение!
[19:57:50] <Minoru> лол, я, оказывается, вместо «ulimit -c чонибудь» выполнил «ulimit -c» и думал, что это снимет ограничение на размер дампа
[19:57:57] <rexim> Minoru, чаёчке?
[19:58:01] <Minoru> ну что ж, ждём, пока снова упадёт…
[19:58:12] <Minoru> rexim: ага, у меня там как раз должен был завариться уже, пойду гляну
[19:58:17] <rexim> ^_^
[19:58:23] <portnov> это как это
[19:58:45] <portnov> >> О, у меня же там чай вскипел!
>> О, я же его выпил уже...
[20:01:51] <rexim> portnov, http://data.whicdn.com/images/221668996/large.jpg
[20:01:59] <rexim> Фанта со вкусом БЕЗУМИЯ!11
[20:02:01] <rexim> АХАХАХАХАХА
[20:02:29] <Minoru> portnov: ага, бывало и такое
[20:02:42] <rexim> Minoru, https://morganey-lang.github.io/
[20:03:12] <ForNeVeR> ОН СМОТРИТ
[20:04:10] <rexim> (λ o.o) *oppression intesifies*
[20:05:14] * Minoru решил не кликать
[20:05:44] <Minoru> а сайт сгенерирован генератором статических сайтов, написанном на Morganey?
[20:06:06] <rexim> Minoru, динамическими тентаклями Миксера
[20:06:25] <rexim> Ну, теми, что на голове.
[20:06:45] <ForNeVeR> rexim: это усы!
[20:06:51] <rexim> -_-
[20:07:02] <ForNeVeR> эти ужасные усы
[20:09:03] <rexim> Minoru, кстати, мы сегодня обсуждали веб-разработку на моргани. :)
[20:09:24] <rexim> Форневер предложил это использовать как инструмент Лямбда-угнитения хипстеров.
[20:09:38] <Minoru> ага, я увидел кусочек этого в беклоге
[20:09:43] <Minoru> да вы с ума сошли!
[20:09:44] <Minoru> няшки
[20:09:46] <Minoru> :)
[20:09:46] <rexim> :3
[20:12:03] Славный капитан вышел из конференции
[20:15:48] <ForNeVeR> Хм, попробую dotnet из докера.
[20:15:59] <ForNeVeR> Потому что в nixos какая-то вафельная версия дотнета :(
[20:16:21] <rexim> ForNeVeR ate all of the waffles again?!
[20:17:11] <ForNeVeR> rexim: even the hardened ones ,]
[20:19:21] <MaXGGXaM> почему страница на ExtJS может выжирать гигобай оперативы?
[20:19:42] <ForNeVeR> Утечка где-то? Смотри профайлером.
[20:36:28] <MaXGGXaM> ForNeVeR, систему не я пишу
[20:37:05] <MaXGGXaM> как грамотно составить на эту херню баг-репорт... если из контактов только это:
http://elros.info/?sl=5

?
[20:37:35] gsomix зашёл в конференцию
[20:37:41] <gsomix> Утро.
[20:37:45] <ForNeVeR> MaXGGXaM: саппорт же есть. Туда и пиши.
[20:38:01] <gsomix> ForNeVeR, пока ехал в трамвае еще раз прочитал про эту волшебную таблицу.
[20:38:04] <MaXGGXaM> что именно? я ненашел шаблона обращения
[20:38:05] <gsomix> И все понял.
[20:38:12] <gsomix> Она еще волшебнее, чем я думал.
[20:38:50] <ForNeVeR> MaXGGXaM: "я, такой-то, пользователь приложения такого-то, обнаружил следующую проблему: <описание проблемы, шаги воспроизведения>. Прошу исправить по такой-то договорённости"
[20:39:26] <gsomix> ForNeVeR, я понял, как все сделать, но, пожалуй, выберу более простой вариант: напилю методов и буду их с помощью делегатов отдавать в WeakEventManager.
[20:39:29] <MaXGGXaM> http://edo.bars-open.ru/
[20:39:32] <gsomix> ForNeVeR, еще раз спасибо.
[20:39:36] <ForNeVeR> gsomix: ок, годится.
[20:39:42] <ForNeVeR> gsomix: а я дотнет из докера поставил!
[20:39:44] <rexim> Не терпеливый Форневер
[20:39:50] <ForNeVeR> https://www.microsoft.com/net/core#docker
[20:39:56] <rexim> Задает в ишуях вопросы, которые меня заставляют двигаться -_-
[20:40:04] <gsomix> ForNeVeR, из докера куда? .__.
[20:40:06] <MaXGGXaM> http://ssuz.bars-open.ru/auth/login-page
[20:40:11] <ForNeVeR> gsomix: из докера суда!
[20:40:19] <gsomix> Ух!
[20:40:21] <ForNeVeR> gsomix: ну, на сервер.
[20:40:25] <ForNeVeR> Пока просто проверяю.
[20:40:43] <ForNeVeR> Мне видится, что докеризовать приложение для запуска в линуксе можно будет как нех делать.
[20:40:50] <ForNeVeR> И в nixos будет работать.
[20:40:53] <gsomix> ForNeVeR, тот шаблон попробовал завести?
[20:41:05] <ForNeVeR> gsomix: да, попробовал. В нём всё уныло, он мне не нравится.
[20:41:13] <gsomix> Ок.
[20:41:16] <ForNeVeR> Первый глюк я знаю как обойти, но там ещё есть.
[20:41:25] <ForNeVeR> gsomix: я посмотрел зато серверную часть, и она примитивная.
[20:41:41] <ForNeVeR> Kestrel-проекты очень просто выглядят, можно запросто свой сделать.
[20:41:52] <ForNeVeR> А дальше уже добавлять ту функциональность, которая нам нужна.
[20:42:11] <ForNeVeR> У них там слишком специфично (даже если мы победим типикал nodejs проблемы сборки).
[20:43:11] <ForNeVeR> gsomix: вот весь их сервер, в общем-то: https://github.com/kriasoft/fsharp-starter-kit/blob/master/server/main.fs
[20:43:25] <gsomix> Ух!
[20:43:55] <gsomix> host.UseContentRoot(cwd) |> ignore
host.UseWebRoot(web) |> ignore
host.UseKestrel() |> ignore
host.UseZdelayZbs() |> ignore
host.UseStartup<Startup>() |> ignore
[20:43:59] <gsomix> Ок.
[20:44:05] <ForNeVeR> XD
[20:44:20] grisssa зашёл в конференцию
[20:44:36] <rexim> Чем-то раст напоминает
[20:44:50] <rexim> Там тоже каждая строка на .unwrap() заканчивается
[20:45:01] <ForNeVeR> Это можно было бы и поаккуратней записать.
[20:46:01] <ForNeVeR> Например, let host = WebHostBuilder().UseTogo().UseSego().UseZbs().Build()
[20:46:14] <ForNeVeR> И ни одного игнора!
[20:47:00] grisssa вышел из конференции
[20:47:36] <ForNeVeR> 0 // return an integer exit code ← а вот это очень важный комментарий, он поясняет работу всей программы :)
[20:55:52] Славный капитан зашёл в конференцию
[20:58:23] ɹǝɟılʍǝu зашёл в конференцию
[20:59:44] m4n71k0r зашёл в конференцию
[21:02:07] <m4n71k0r> криасофт
[21:03:00] <m4n71k0r> долбаный ga
[21:03:16] <m4n71k0r> из-за него многие сайты работали бы гораздо быстрее
[21:03:33] <m4n71k0r> а ещё всякие OAuth
[21:03:58] <m4n71k0r> тыкается в вк, пейстору, свитер...
[21:05:19] dzhon вышел из конференции
[21:05:30] <m4n71k0r> джон поздно с работы уходит
[21:05:41] <m4n71k0r> мудаццкая система у них
[21:06:31] <m4n71k0r> $say 13
[21:06:35] <m4n71k0r> 4$say 13
[21:06:39] <m4n71k0r> $say 14
[21:06:45] <horta hell> m4n71k0r: К сожалению, запрошенное сообщение не было найдено.
[21:06:50] <horta hell> m4n71k0r: Lavir: компилироваться в Си - очень плохой (я бы запретил копировать stream, если бы япошки приняли в ту степь)
[21:07:14] <m4n71k0r> $say 14
[21:07:14] <horta hell> m4n71k0r: xfer: похуй в данном случае разбивается на кучу проектов и пара-тройка вакансий по kotlin+android (при чём от самой JetBrains)
[21:07:18] <Minoru> Большой Брат a.k.a. m4n71k0r следит за тобой!
[21:07:38] <m4n71k0r> похуй разбивается на кучу проектов
[21:07:39] <rexim> m4n71k0r, братишка!
[21:07:47] <rexim> Я тебе покодить принес!
[21:08:00] <m4n71k0r> rexim: фубля
[21:08:16] <m4n71k0r> я тут кофе пиу
[21:08:18] <m4n71k0r> а ты
[21:08:24] <m4n71k0r> а я смотрел этот фильм(
[21:08:33] <rexim> :(
[21:08:38] <rexim> .time m4n71k0r
[21:08:40] <DeadBot> rexim: Your client/bot sucks since it uses the long-deprecated XEP-0090. Upgrade your code. Ah, and, regarding your question, it's Пт 14. окт 20:17:23 2016 here
[21:08:50] <rexim> Хм...
[21:08:53] <m4n71k0r> да, личкрафты
[21:09:01] <rexim> Хотя вот тоже однажды кофе в 12 часов ночи пил :(
[21:09:09] <rexim> И думал, что я делаю со своей жизнью
[21:09:38] <m4n71k0r> rexim: да всё у тебя будет хорошо
[21:09:52] <m4n71k0r> что там как ксоред?
[21:09:54] <rexim> Да у меня и так все хорошо.
[21:10:06] <rexim> Пить кофе ночью мало кто себе может позволить.
[21:10:12] <rexim> Я ваще мажор
[21:10:21] <m4n71k0r> такое ощущение, что ксоред больше нет(
[21:10:24] <m4n71k0r> или ты не там
[21:10:43] <rexim> m4n71k0r, ксоред всегда был каким-то несуществующим.
[21:10:50] <rexim> Ну и я не там, да.
[21:11:01] <m4n71k0r> rexim: а давно?
[21:11:08] <rexim> Месяца 4-ре
[21:11:18] <rexim> Они там за студентоту взялись http://edu.xored.com/
[21:11:25] <rexim> Какие-то семинары проводят.
[21:11:37] <Minoru> поксорили студентоту!
[21:11:38] superka зашёл в конференцию
[21:11:42] <m4n71k0r> как люксофт какой-то прям
[21:11:47] <rexim> Ага
[21:11:49] <superka> Fornever
[21:11:51] <rexim> Но темы норм.
[21:12:01] <rexim> Качество кода, системы контроля версий, ревью кода.
[21:12:05] <rexim> Я б сходил послушал.
[21:12:18] <m4n71k0r> я б тоже
[21:12:55] <rexim> Только меня не пустят в НГУ. :)
[21:13:00] <superka> m4n71k0r: ты же asp net знаешь?
[21:13:07] <m4n71k0r> superka: нет, конечно
[21:13:21] <m4n71k0r> я много другого знаю
[21:13:37] <m4n71k0r> superka: ты приходишь поздновато
[21:13:38] <superka> где хэдер проверять?
[21:13:42] <MaXGGXaM> https://news.mail.ru/economics/27450565/
[21:13:42] <m4n71k0r> форневер ушёл
[21:14:30] <superka> о у вас тут новенький
[21:14:37] <rexim> m4n71k0r, о, они даже записывают https://www.youtube.com/watch?v=bXsw901Zofw
[21:14:38] <superka> я думаю кто политоту кидает
[21:14:56] <m4n71k0r> он не такой уж новенький
[21:15:18] <superka> чо у чувака с глазом?
[21:15:21] <superka> на видео
[21:15:33] <rexim> superka, блид сломал.
[21:15:38] <rexim> В ксореде все строго.
[21:15:44] <rexim> билд*
[21:15:50] <superka> :D
[21:16:10] <m4n71k0r> сломал билд - делай блид
[21:16:28] <rexim> superka, я у него спрашивал. Говорит родимое пятно.
[21:16:53] <Kerrigаn> как хорошо, что я настроил дженкинс
[21:17:10] <rexim> Kerrigаn, пока ты его настраивал он умер.
[21:17:15] <m4n71k0r> а я не парился и сделал всё быстро в гитлабе
[21:17:20] <Kerrigаn> rexim: бля да как
[21:17:35] <rexim> Kerrigаn, сорри, что тебе приходиться слышать это от меня. :(
[21:17:43] <rexim> Мы сделали все, что смогли.
[21:18:29] <Kerrigаn> гитлаб не совсем наш
[21:18:34] <Kerrigаn> так что ci не получится
[21:18:49] <m4n71k0r> и хорошо
[21:18:53] <m4n71k0r> а то он тоже умрёт
[21:19:06] <Kerrigаn> лолвут
[21:19:14] <Kerrigаn> rexim: ты мне соврал
[21:19:23] <Kerrigаn> я открыл дженкинс, а там обновление
[21:19:38] <m4n71k0r> бггг
[21:19:50] <Kerrigаn> ;D
[21:19:55] <m4n71k0r> это судороги
[21:20:24] <Kerrigаn> дунно, билды собирает, пайплайны работают
[21:20:34] <m4n71k0r> ты не понял
[21:20:39] <Kerrigаn> в предпоследнем обновлении вкрутили туда плагин для гуглеплея
[21:20:44] <Kerrigаn> што
[21:20:49] <m4n71k0r> ничего
[21:21:03] <Kerrigаn> я опять что-то пропустил, да?
[21:21:25] <m4n71k0r> да, обсуждение архитектуры
[21:21:39] <m4n71k0r> что-то я тоже гоню
[21:21:52] <Kerrigаn> я мог пропустить выход третьего халфлайфа
[21:21:58] <Kerrigаn> но никак не то, что дженкинс умер
[21:21:59] <m4n71k0r> он умер
[21:22:08] <m4n71k0r> 3-й хл
[21:22:28] <m4n71k0r> когда тебя нет, многое умирает
[21:22:47] <Kerrigаn> вы делаете меня краснеть
[21:22:58] <rexim> Kerrigаn, да ладно тебе. Мы же любя! :)
[21:23:40] <Kerrigаn> splunk такие неприятные личности
[21:23:52] <Kerrigаn> сделали мавен репу для их сдк
[21:23:56] <Kerrigаn> потом убили
[21:24:02] <Kerrigаn> а потом убили еще один раз
[21:25:57] <rexim> Kerrigаn, пока ты спал?
[21:28:39] <Kerrigаn> не, я о нем не знал вообще
[21:29:19] <Kerrigаn> ну а еще выяснил, что realm и dagger вещи почти несовместимые
[21:29:39] <Kerrigаn> и синглтоны в даггере НЕНАСТОЯЩИЕ
[21:36:19] <rexim> !!!
[21:40:17] <m4n71k0r> какой руст лучше под венду кочать?
[21:40:27] <m4n71k0r> штудийный аби или мингв?
[21:44:35] dzhon зашёл в конференцию
[21:44:57] <ɹǝɟılʍǝu> m4n71k0r, http://coub.com/view/fax5x
[21:44:57] <ɹǝɟılʍǝu> Ну и всем ↑
[21:53:24] gsomix вышел из конференции
[21:53:27] gsomix зашёл в конференцию
[21:56:09] dzhon вышел из конференции
[21:58:47] <ɹǝɟılʍǝu> http://coub.com/view/bvgpq
[22:00:25] rexim вышел из конференции
[22:10:06] superka вышел из конференции
[22:12:42] a1batross зашёл в конференцию
[23:07:54] ckorzhik вышел из конференции
[23:14:37] portnov вышел из конференции
[23:50:36] <gsomix> .ping
[23:50:37] <DeadBot> gsomix: понг от тебя 0.50 секунды
[23:50:51] cactus64k зашёл в конференцию
[23:51:17] <cactus64k> Здравствуйте, работал ли кто с XPath?
[23:52:05] <Minoru> привет. Я не работал. Вопрос-то задай ;)
[23:52:33] <cactus64k> У меня печаль беда
[23:52:41] <cactus64k> ковыряю xlsx
[23:52:52] <cactus64k> через pure c и xpath
[23:53:02] <cactus64k> работает только /* запрос
[23:53:06] <cactus64k> т.е. все теги
[23:53:30] <cactus64k> хмлка такая
[23:53:41] <cactus64k> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="10" uniqueCount="10">
<si><t xml:space="preserve">Иван</t></si>
<si><t xml:space="preserve">Иванович</t></si>
<si><t xml:space="preserve">Павел</t></si>
<si><t xml:space="preserve">Павлович</t></si>
[23:55:15] <cactus64k> пытаюсь выдернуть всех людей через /sst/si/t
[23:57:10] <Minoru> ну, теперь наберись терпения и жди, вдруг кто в чатик заглянет
[23:57:21] <Minoru> хотя в такое время у нас народ уже не слишком активен
[23:57:51] cactus64k вышел из конференции
[23:58:51] <Minoru> :(
[23:59:25] cactus64k зашёл в конференцию
[23:59:43] <cactus64k> не ушел
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!