Home
codingteam
codingteam@conference.jabber.ru
26.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: 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:22:42] <m4n71k0r> Minoru: дядь, а ты мокирование используешь у себя в проекте?
[00:22:54] <m4n71k0r> Minoru: что скажешь про https://github.com/eranpeer/FakeIt ?
[00:23:32] <Minoru> m4n71k0r: в одном-единственном тесте у меня где-то есть что-то типа мока. В целом я их вообще нигде не использовал, кажется
[00:23:37] <Minoru> (или в octo.erl использовал? Я не помню.)
[00:23:55] <m4n71k0r> блин, они даже для кэтча сделали https://github.com/eranpeer/FakeIt/blob/master/single_header/catch/fakeit.hpp
[00:25:22] <m4n71k0r> блин, какая жобаная жешть https://github.com/eranpeer/FakeIt/blob/master/single_header/standalone/fakeit.hpp#L1218
[00:25:37] <Kerrigаn> охщи
[00:25:39] <Minoru> да, точно, в octo.erl использую. У меня там это всё в красивенький макрос завёрнуто, няшнота: https://github.com/sdepold/octo.erl/blob/master/test/octo_test.erl#L14
[00:25:40] <Kerrigаn> я таки собрал ocamlmq
[00:25:58] <Kerrigаn> не верю своим глазам просто
[00:27:27] <Minoru> m4n71k0r: я, в общем, не знаю, нужны ли мне вообще моки, когда у меня объекты и так несложно сконструировать. К тому же нужно это было пока что только в тестах cache; все остальные (тестируемые) модули независимы и не требуют для работы никаких дополнительных объектов. Вот ты мне как опытный товарищ и скажи: нужны мне моки?
[00:28:56] <m4n71k0r> Minoru: ну эм... бывают случаи, когда поведения объекта (его методов) можно задать в виде функции рандома с учётом собранных статистических данных)
[00:29:05] <m4n71k0r> корроче, если сложное поведение
[00:29:23] <m4n71k0r> или если долго настраивать
[00:29:32] <m4n71k0r> и не хочется поднимать докер-образ
[00:29:43] <m4n71k0r> ну вот такого уровня упорин
[00:30:08] <Minoru> м, ну, значит моки мне пока не нужны. Спасибо :) А интерфейс у либы нравится, если вдруг соберусь что-то такое делать — будем юзать
[00:31:17] <m4n71k0r> мне не нравится требование моков: паблик чистые виртуальные методы
[00:31:41] <m4n71k0r> ну это из-за того, что в плюсах нет энтой рефлексии
[00:32:30] <Minoru> а, так это прямо требование? Я на примеры глянул и всё :)
[00:35:06] Kumba_yo вышел из конференции
[00:35:20] <Minoru> полистал quickstart. Надо тыкать, на глаз я ничего не воспринимаю
[00:37:12] ckorzhik вышел из конференции
[00:37:30] <m4n71k0r> Minoru: это естественное требование языка)
[00:38:26] <m4n71k0r> Minoru: во всяких дотнетах или жвм мы можем пгосто что-то сделать на вгемя непгиватным =)
[00:39:56] <Minoru> хорошо им там, в рефлекшн-лэнде!
[00:46:11] grouzen вышел из конференции
[00:52:18] ckorzhik зашёл в конференцию
[00:59:02] Kumba_yo зашёл в конференцию
[01:05:45] Minoru вышел из конференции
[01:11:33] xmi вышел из конференции
[01:16:24] a1batross вышел из конференции
[01:34:18] FunctionOverlord вышел из конференции
[01:52:45] ckorzhik вышел из конференции
[01:53:19] ckorzhik зашёл в конференцию
[02:15:31] unclechu зашёл в конференцию
[02:44:23] ɹǝɟılʍǝu вышел из конференции
[02:57:32] unclechu вышел из конференции
[02:58:18] unclechu зашёл в конференцию
[03:04:11] horta hell вышел из конференции
[03:04:17] horta hell зашёл в конференцию
[03:10:32] <horta hell> крылостояк накидывается на m-n71k0r, исполосовав когтями и чудом зацепившись за сумку с кошельком вместо живота. m-n71k0r теряет 3PTC.
[03:36:31] ckorzhik вышел из конференции
[04:20:53] a1batross зашёл в конференцию
[04:39:59] unclechu вышел из конференции
[04:40:02] unclechu зашёл в конференцию
[05:11:37] m4n71k0r вышел из конференции
[05:20:38] a1batross вышел из конференции
[05:42:36] matraskin зашёл в конференцию
[05:52:33] <horta hell> крылостояк едва дышит, издавая хриплые звуки и отхаркивая кровавую пену.
[05:52:47] <unclechu> https://meduza.io/news/2016/10/25/roskomnadzor-sobralsya-dobitsya-blokirovki-sotsialnoy-seti-linkedin
[06:27:12] Славный капитан зашёл в конференцию
[07:04:33] <horta hell> крылостояк агонизирует, сжимая зубы в предсмертных судорогах. Все теряют по 1PTC.
[07:28:30] Minoru зашёл в конференцию
[07:28:48] <Minoru> утро
[07:30:01] <Minoru> тимота, почему этот плюсокод падает? http://melpon.org/wandbox/permlink/SG4pm6sl7F013lSY
[07:30:44] <Minoru> а вот этот не падает: http://melpon.org/wandbox/permlink/JiCOjK5Wv4KeNI3w
[07:31:08] <Minoru> плюсы поощряют быдлокодинг, не позволяя вынести код в функцию!
[07:31:40] portnov зашёл в конференцию
[07:33:14] <Minoru> а вот при сборке Клангом всё работает :(
[07:38:24] portnov вышел из конференции
[07:38:49] grouzen зашёл в конференцию
[07:47:13] Славный капитан вышел из конференции
[07:56:13] portnov зашёл в конференцию
[07:56:34] portnov вышел из конференции
[07:57:25] <ForNeVeR> Minoru: хм, там со ссылками что-то не так?
[07:57:49] <ForNeVeR> Ты возвращаешь пару ссылок на стековые объекты. Разве это хорошо?
[07:58:17] unclechu вышел из конференции
[07:58:17] <Minoru> а мне компилятор не даёт pair<string, string> вернуть, вроде
[07:58:28] <Minoru> или мне указатели городить?
[07:58:50] <ForNeVeR> Я поправил сигнатуру на std::pair<std::string, std::string>
[07:58:55] <ForNeVeR> И теперь не падает.
[07:59:04] <Minoru> ._.
[07:59:05] <ForNeVeR> У std::make_pair вообще аргументы указывать не нужно.
[07:59:14] <ForNeVeR> Само догадается :)
[08:00:17] <Minoru> о, и правда, если в make_pair типы не указать, то всё работает. Спасибо!
[08:00:53] <Minoru> а когда указывал, вот такое говорили:
demo.cpp: In function ‘std::pair<std::basic_string<char>, std::basic_string<char> > f(const string&)’:
demo.cpp:9:65: error: no matching function for call to ‘make_pair(std::string&, std::string&)’
return std::make_pair<std::string, std::string>(hello, world);
[08:01:09] <Minoru> (g++ 4.9.3)
[08:03:03] <ForNeVeR> Мда, там муть какая-то происходит.
[08:12:14] <Minoru> и про initializer list забыл… Можно ведь make_pair вовсе не писать
[08:56:42] <ForNeVeR> А ведь и правда.
[09:06:24] gsomix вышел из конференции
[09:23:11] grouzen вышел из конференции
[09:26:21] ɹǝɟılʍǝu зашёл в конференцию
[09:40:59] sss|zombie вышел из конференции
[10:01:34] OKTAVIUS зашёл в конференцию
[10:11:29] a1batross зашёл в конференцию
[10:17:05] Graf зашёл в конференцию
[10:20:21] Graf вышел из конференции
[10:28:55] a1batross вышел из конференции
[10:31:05] gsomix зашёл в конференцию
[10:31:11] <gsomix> Утро.
[10:31:46] <gsomix> ForNeVeR, послушал Вадлера в трамвае.
[10:31:59] <ForNeVeR> Вадлер ездит в трамвае?
[10:33:01] <gsomix> ForNeVeR, конечно!
[10:33:47] <ForNeVeR> gsomix: ок, и что он говорит?
[10:33:54] <gsomix> ForNeVeR, узнал, например, что в MetaOCaml квотейшены не бояться побега переменных из скоупа.
[10:34:09] <gsomix> s/ться/тся/
[10:34:11] <horta hell> gsomix: F-rNeVeR, узнал, например, что в MetaOCaml квотейшены не боятся побега переменных из скоупа.
[10:34:14] <ForNeVeR> А нам как жить? :(
[10:36:30] <gsomix> ForNeVeR, ну, у него были довольно простые примеры, где получалось все функции вида Expr<'a> -> Expr<'b> записать в виде Expr<'a->'b> и встроить в квотейшен.
[10:36:57] <ForNeVeR> gsomix: а я вчерась составил черновой план по доработке SpySharp: https://github.com/ForNeVeR/SpySharp/issues/3
[10:37:03] <gsomix> Конкретно в моем случае ничего такого не получится, потому что я юзаю фичи, которых нет в языке.
[10:37:16] Aman зашёл в конференцию
[10:38:38] <gsomix> ForNeVeR, но я помышляю о том, чтобы написать всяких вспомогательных функций для упрощения построения дерева вручную.
[10:38:47] <ForNeVeR> И ещё надо Naggum дозапилить!
[10:39:05] <ForNeVeR> gsomix: ок, вспомогательные фукции — очень хорошо.
[10:39:26] <ForNeVeR> gsomix: а то даже и DSL, мухахаха!
[10:40:18] <gsomix> ForNeVeR, для чего SpySharp нужен?
[10:40:45] <ForNeVeR> gsomix: ну, практическое применение — это замена ManagedSpy.
[10:40:59] <ForNeVeR> Но ядро получается более интересным.
[10:41:15] <gsomix> А оно для чего нужно было? .__.
[10:41:20] <gsomix> Я просто не пользовался никогда.
[10:41:20] <ForNeVeR> ManagedSpy — это такая прога, которая цепляется в Windows Forms-приложениям и показывает иерархию контролов в них.
[10:41:29] <ForNeVeR> Удобно для отладки или поиска контрола.
[10:41:31] <gsomix> Неплохо.
[10:41:37] <gsomix> А для WPF есть что-нибудь такое?
[10:41:53] <ForNeVeR> Да, конечно. Под WPF есть удобнейший SnoopWPF.
[10:41:58] <ForNeVeR> Я его прям очень советую, он ок.
[10:42:00] <gsomix> Мы тут немного перемудрили в шаблонами, которые подставляются в зависимости от типов...
[10:42:11] <ForNeVeR> Тыкайте снупером!
[10:43:06] <ForNeVeR> gsomix: но, короче, ядерная функциональность SpySharp — это просто подключение к процессам (пока через какой-то вид виндового IPC) и выполнение в них управляемого кода. Можно будет отслеживать какие-нибудь инстансы или отдавать диагностику.
[10:43:59] <ForNeVeR> Я посмотрел, как был сделан IPC Hook в ManagedSpy, и решил сделать примерно так же, но круче и технологичней, разумеется ,3
[10:44:20] <ForNeVeR> Ну, из него я фактически только API-вызов выдернул, и эта часть уже работает.
[10:44:52] <ForNeVeR> У меня есть небольшой модуль, который я забрасываю в чужие процессы.
[10:49:44] <Kerrigаn> такс
[10:49:49] <ForNeVeR> А, ну и ещё там было написано на C++, но я смеху ради решил всё сделать managed (без C++ вообще) и написать критичные части на CIL.
[10:50:13] <Kerrigаn> чем отличаются STOMP и AMQP?
[10:55:12] <gsomix> ForNeVeR, звучит как рокетсайнс.
[10:55:20] <ForNeVeR> gsomix: отнюдь!
[10:55:39] <ForNeVeR> Это рокетсаенс, доступный каждому пролетарию! Типа меня вот ,3
[11:00:09] faceless void вышел из конференции
[11:00:19] faceless void зашёл в конференцию
[11:02:09] ɹǝɟılʍǝu вышел из конференции
[11:20:06] <gsomix> ForNeVeR, "If each #fsharp release allowed removal of features what would you tactically nuke?"
[11:24:32] <ForNeVeR> gsomix: хм, а даже не знаю, мне всё нравится.
[11:24:43] <ForNeVeR> gsomix: а ты как думаешь? Есть ли какие-то лишние фичи?
[11:25:26] <ForNeVeR> Или что-то, что сильно мешает программировать?
[11:27:14] <Kerrigаn> такс, собрал ocamlmq второй раз, но подключиться amqp клиентом не удалось
[11:28:24] <Kerrigаn> посмотрим как он с либой для стомпа работать будет
[11:28:40] <gsomix> ForNeVeR, кажется, нет. Но меня, например, всегда смущает наличие MailboxProcessor в стандартной библиотеке. :)
[11:31:07] <gsomix> ForNeVeR, а все остальное очень ок -- но надо улучшать.
[11:31:36] <Kerrigаn> эээээ
> RabbitMQ состоит из:
> Поддержки протоколов HTTP, XMPP и STOMP
они хотят сказать, что у меня очереди на жаббере?
[11:32:03] <ForNeVeR> Может, оно и правда умеет очереди по XMPP пушить?
[11:32:17] <Kerrigаn> я уже ничего не понимаю
[11:32:23] <Kerrigаn> открыл исходники либы
[11:32:28] <Kerrigаn> там иксемели гоняются
[11:33:01] <Kerrigаn> https://github.com/streadway/amqp/blob/master/spec/gen.go
[11:37:16] <Kerrigаn> кажется я повесил вим
[11:37:23] <Kerrigаn> //inb4: вим умер
[11:38:28] <ForNeVeR> Kerrigаn: а что означает запись типа Major int `xml:"major,attr"`?
[11:38:34] <ForNeVeR> `` это какой-то типа атрибут?
[11:38:37] <Kerrigаn> ForNeVeR: это теги
[11:38:58] <Kerrigаn> xml стандартный - позволяет сериализовать структуры прямо в xml
[11:38:59] <ForNeVeR> Ну, в смысле, это в го встроен механизм, который позволяет произвольным образом аннотировать поля, и как-то эту информацию использовать?
[11:39:09] <Kerrigаn> ага
[11:39:14] <Kerrigаn> рефлексия и все дела
[11:39:15] <ForNeVeR> Или это именно для xml фича, и своего такого нельзя добавить?
[11:39:18] <Kerrigаn> можно
[11:39:23] <Kerrigаn> для жсона тоже такое есть
[11:39:26] <ForNeVeR> Ок, хорошее дело.
[11:40:49] <Kerrigаn> так, стомполиба тоже не работает с ocamlmq
[11:40:53] <faceless void> Kerrigаn, и ты захотел кролика понасиловать?
[11:41:02] Aman вышел из конференции
[11:41:03] <faceless void> ForNeVeR, да, умеет в XMPP...
[11:41:08] <Kerrigаn> faceless void: кролик у меня сейчас на жугрегаторе крутится
[11:41:12] <faceless void> Знаю фирму, где юзалось.
[11:41:18] <Kerrigаn> раньше zeromq был
[11:41:21] <faceless void> Потом выкинулось в пользу STOMP.
[11:41:35] <Kerrigаn> сейчас можно останавливать куски сервиса не теряя данные
[11:44:41] <ForNeVeR> faceless void: детишкам покажи: http://david-peter.de/cube-composer/
[11:45:46] <faceless void> Ого
[11:48:46] Aman зашёл в конференцию
[12:16:58] RAMZAY зашёл в конференцию
[12:17:23] <RAMZAY> Привет всем.
[12:17:50] <ForNeVeR> Его код я видел, так что мемберну.
[12:17:52] <ForNeVeR> .member RAMZAY
[12:17:53] <DeadBot> ForNeVeR: ok
[12:19:08] <ForNeVeR> RAMZAY: отправил тебе инвайт в организацию на гитхабе ,3
[12:19:38] <ForNeVeR> RAMZAY: вот мы тут координируемся в написании клёвых штук, короче.
[12:19:53] <ForNeVeR> Ну или каких получится.
[12:19:59] <RAMZAY> ForNeVeR: ассептун :3
[12:20:02] <faceless void> ForNeVeR, сработы?
[12:20:13] <faceless void> Или это твой кот?!
[12:20:20] <ForNeVeR> faceless void: нет, не с работы. Просто чувак, которого я знаю по соседним конференциям.
[12:20:25] <ForNeVeR> Я не уверен, но, кажется, не кот.
[12:20:38] <faceless void> wtf/RAMAZAY/Кот Форнёферика. См. ForNeVeR/
[12:20:39] <horta hell> faceless void: Определение добавлено.
[12:20:53] <ForNeVeR> Опять балуетесь с ботом!
[12:20:58] <faceless void> Да!
[12:21:25] grouzen зашёл в конференцию
[12:21:45] <gsomix> ForNeVeR, дотнет к нам переезжает?
[12:22:06] <ForNeVeR> gsomix: то же самое говорили про javascript@.
[12:22:19] <ForNeVeR> И java@
[12:22:28] <ForNeVeR> Ну и другие годные места, короче :3
[12:22:38] <ForNeVeR> Я считаю, что это норма.
[12:23:01] <ForNeVeR> И засилья дотнета тут не будет. Будет засилье... годных программ и технологий. Вот.
[12:24:43] <faceless void> Тогда вброшу и сюда https://gcc.gnu.org/ml/libstdc++/2015-05/msg00136.html
[12:24:46] <faceless void> Оч годно ящитаю.
[12:24:48] <faceless void> Малаца
[12:24:56] <ForNeVeR> А что годного-то?
[12:24:58] <faceless void> Minoru, чпооооооооооок
[12:25:12] <ForNeVeR> Мне вот непонятно, почему из-за этой функции размер программы так сильно увеличивается.
[12:25:37] <ForNeVeR> У std::terminate() слишком больше тело?
[12:25:46] <faceless void> Ща узнаем.
[12:25:48] <ForNeVeR> Ну, блин, 45 кБ это перебор.
[12:25:50] <RAMZAY> Как вы раскрыли что я кот ? 0_о (Если уж на то пошло, то по линух конфе меня знают как Манула )
[12:25:59] <ForNeVeR> о_О
[12:26:21] <ForNeVeR> RAMZAY: по накурке некоторым из местных иногда открываются всякие сокровенные тайны.
[12:26:55] <RAMZAY> А, ЛСД говорят помогает в этом деле.
[12:27:07] <ForNeVeR> А вообще, чуваки, у нас в цодингтиме остались только F#-проекты, которые я двигаю. Потому что миксер все свои вытащил в morganey-lang!
[12:27:26] <ForNeVeR> А у него там как раз веселуха — Scala, Kotlin, Groovy.
[12:27:39] <ForNeVeR> Надо как-то, гм, прилинковать их чтоли :)
[12:28:09] <faceless void> ForNeVeR, суборганизацию?
[12:28:19] <ForNeVeR> RAMZAY: вон, посмотри, что наш дядюшка миксер пилит: https://github.com/morganey-lang/Morganey
[12:28:39] <gsomix> ForNeVeR, а как же хорта? Логлист?
[12:28:49] <ForNeVeR> gsomix: в них активности маловато.
[12:30:46] <gsomix> Ок.
[12:32:14] <ForNeVeR> Но вот я и вербую людей! Вдруг они нам помогут что-нибудь написать :)
[12:33:32] <RAMZAY> Scala 0_o
[12:33:35] <RAMZAY> и как оно ?
[12:33:38] <gsomix> ForNeVeR, ну, в случае dotnet@ вряд ли это будет котлин или скала.
[12:33:45] <RAMZAY> я слышал, хорошая вещица
[12:34:14] <ForNeVeR> RAMZAY: Scala збс.
[12:34:35] <ForNeVeR> Scala.js я пока не могу положительно характеризовать, а вот серверная Scala — отличная вещь.
[12:34:49] <RAMZAY> gsomix: есть там любитель котлина один
[12:35:33] <RAMZAY> ForNeVeR: основная репа кайвы кстати где ?
[12:35:36] <RAMZAY> только у тебя?
[12:37:24] <gsomix> RAMZAY, а ты на F# пишешь?
[12:37:54] <ForNeVeR> RAMZAY: https://github.com/ForNeVeR/Kaiwa/
[12:38:18] <faceless void> ForNeVeR, нашёл реализацию std::terminate https://github.com/gcc-mirror/gcc/blob/e11be3ea01eaf8acd8cd86d3f9c427621b64e6b4/libstdc%2B%2B-v3/libsupc%2B%2B/eh_terminate.cc#L55
[12:38:23] <faceless void> Короч, там тоже abort
[12:38:37] <ForNeVeR> Эх-терминейт.цц
[12:38:56] <faceless void> Реализация улыбнула.
[12:40:12] <faceless void> ForNeVeR, да, таки реализация покрупней.
[12:40:27] <faceless void> Плюс лок.
[12:40:29] <RAMZAY> gsomix: я мечтаю выучить F# =)
[12:40:55] <RAMZAY> но пока что, на работе ничего кроме дефолт asp.net стека в глаза не вижу, как-то некогда.
[12:40:58] <faceless void> RAMZAY, тогда дуй пилить с гсомяшкой его либу!)
[12:41:13] <ForNeVeR> faceless void: не, с ним не надо пока.
[12:41:23] <ForNeVeR> faceless void: у нас там стратежная пауза выдержана.
[12:41:26] <faceless void> ForNeVeR, тогда пускай без него!
[12:41:51] <ForNeVeR> faceless void: в смысле, щас gsomix сделает начальные операции (я на подхвате), и потом уже можно будет полномасштабно начинать принимать контрибьюции.
[12:43:53] <RAMZAY> ForNeVeR: кстати, я тут подумал, мы в кайве можем прикрутить роли и на её основе прикрутить права-доступа. Можно будет разные менюшки сделать для модеров и овнеров
https://www.npmjs.com/package/react-router-role-authorization
[12:44:21] <RAMZAY> что бы мемберить кнопочкой, а не командой с клавиатуры в чатике
[12:44:29] <RAMZAY> и т.д
[12:47:10] <RAMZAY> Но я так же написал свой вариант подобной вещицы, а именно, в зависимости от набора клеймов у юзера, рендерю компоненты.
[12:48:01] <gsomix> RAMZAY, на самом деле F# довольно простой. Если не углубляться во всякие странные темы, то почти как питон ощущается.
[12:48:39] <ForNeVeR> RAMZAY: в кайве 2.0 ещё не настал этап прикручивания плюшек.
[12:48:58] <ForNeVeR> RAMZAY: там просто щас ни хера не работает :)
[12:49:08] <RAMZAY> gsomix: да мне нужно в основы влиться, а то пока дальше хеллоу ворлда ничего не писал
[12:49:15] <ForNeVeR> Ну то есть пара реактовых вьюшек для login и connecting, и больше ничо нету.
[12:49:32] <RAMZAY> ForNeVeR: тут меня отталкивает немного не знание TS
[12:49:35] <ForNeVeR> Я зарылся в архитектуру и сращивание старого модуля App с redux.
[12:49:36] <RAMZAY> в плане, помощи по кайве
[12:50:26] <RAMZAY> gsomix: нужно когда нибудь купить пива, чипсов, и засесть на выходные с F#
[12:50:57] <RAMZAY> нужно на самом деле так много выучить, а времени толком на сон не хватает
[12:51:05] <ForNeVeR> Ох, да :(
[12:51:14] <ForNeVeR> Я в некоторые дни уже не успеваю все пул-реквесты отревьюить.
[12:51:32] <ForNeVeR> Миксер намного эффективнее меня в привлечении контрибьюторов.
[12:52:57] <gsomix> ForNeVeR, стримы и популярные технологии делают свое дело. :)
[12:53:23] <ForNeVeR> Да.
[12:54:56] <gsomix> ForNeVeR, https://github.com/palladin/multi-stage-fsharp
[12:55:03] <gsomix> Хочу вот это почитать.
[12:55:26] <gsomix> Там статья про MetaOCaml.
[12:55:44] <gsomix> И то, как чувак пытается то же самое сделать в F#.
[12:56:46] <ForNeVeR> gsomix: я пока ещё не знаю, что такое metaocaml. Полегче :)
[12:56:46] <gsomix> ForNeVeR, например, http://hastebin.com/vaposugage.fs
[12:56:50] <gsomix> Надо у себя заюзать.
[12:57:47] <ForNeVeR> gsomix: подожди, а что в этом коде такого?
[12:57:54] <ForNeVeR> А, или это ты хелпер для себя написал?
[12:58:56] <gsomix> Ну, я просто думал, что надо хелперов написать и наткнулся на готовый.
[12:59:40] <ForNeVeR> gsomix: а, вот этот multi-stage-fsharp это он и есть?
[13:00:17] <gsomix> Ну, да. Там, как я понял, переложение примеров из статью про MetaOCaml на F#.
[13:00:22] <gsomix> Просто любопытно посмотреть.
[13:01:21] <gsomix> Ну, а сам автор репы -- palladin -- очень smart guy.
[13:01:47] <ForNeVeR> Я уже это имя встречал.
[13:01:56] <gsomix> Он в Nessos разрабатывает MBrace.
[13:02:00] <gsomix> Если я не ошибаюсь.
[13:03:13] Aman вышел из конференции
[13:06:27] m4n71k0r зашёл в конференцию
[13:08:48] <ForNeVeR> Слушайте, а миксера-то вчера не было?
[13:09:11] <gsomix> Бывал, кажется.
[13:09:15] <Kerrigаn> был
[13:10:01] <ForNeVeR> А, он просто поздно был.
[14:03:22] <Minoru> faceless void: chpk cnfrmd! Чаю?
[14:04:33] <faceless void> Minoru, уже дважды выпил... И скоро обед, а там томатный сок (наверное).
[14:06:54] <Minoru> Безликая Пустота пирует кровью помидоров, мва-ха-ха-ха!
[14:07:04] <ForNeVeR> Скоро ужин, а там... ни хрена нету!
[14:08:30] <faceless void> Minoru, дыа!
[14:11:36] a1batross зашёл в конференцию
[14:19:00] matraskin вышел из конференции
[14:24:54] Aman зашёл в конференцию
[14:42:59] a1batross вышел из конференции
[14:43:13] a1batross зашёл в конференцию
[14:49:09] ckorzhik зашёл в конференцию
[14:50:12] ckorzhik вышел из конференции
[14:50:14] ckorzhik зашёл в конференцию
[14:57:47] rexim зашёл в конференцию
[14:58:23] <rexim> Смарите шо я в интернетах нашел! https://i.ytimg.com/vi/EKFa7c4ygaU/maxresdefault.jpg
[14:58:40] <rexim> Чем дольше смотришь на этот сриншот, тем смешнее он становится. :D
[15:01:47] <ForNeVeR> :{D
[15:02:04] <rexim> D}:
[15:03:23] <gsomix> {:D
[15:03:48] <ForNeVeR> gsomix: https://github.com/dotnet/core/blob/master/release-notes/1.1/1.0-1.1-api-diff/1.0-1.1-api-diff_System.md
[15:04:04] <gsomix> ForNeVeR, что это?
[15:04:07] <ForNeVeR> gsomix: Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>
[15:04:09] grisssa зашёл в конференцию
[15:04:13] <gsomix> Збс!
[15:04:19] <ForNeVeR> Всё правильно?
[15:04:38] <gsomix> 21 тип!
[15:04:50] <ForNeVeR> gsomix: это просто к нашему разговору про тупли. В неткоре 1.1 есть вот такие методы теперь.
[15:05:12] <gsomix> ForNeVeR, я тоже думал, что надо себе всяких функций завести.
[15:05:22] <gsomix> Для всех видов туплов!
[15:05:24] <gsomix> Мухаха.
[15:05:25] <ForNeVeR> gsomix: но ты-то сгенеришь хотя бы до 30?
[15:05:41] <ForNeVeR> Если сигнатуру глянуть, то оно и принимает вложенный тупль мерности 21.
[15:05:49] <ForNeVeR> И раступляет его!
[15:06:23] <gsomix> Чудно, чудно.
[15:06:39] <gsomix> А куда деваться-то? :(
[15:06:41] ckorzhik вышел из конференции
[15:10:31] <Minoru> ForNeVeR: э, раступлись!
[15:10:36] <Minoru> ForNeVeR: у вас Цодингтим отуплился!
[15:11:17] <gsomix> ForNeVeR, https://github.com/palladin/fsharp-snippets/blob/master/src/FSharpSnippets/
[15:11:29] <gsomix> Довольно любопытно.
[15:12:40] <Kerrigаn> вы там опять страдаете с кортежами ограниченного размера?
[15:13:34] Aman вышел из конференции
[15:14:38] <gsomix> Kerrigаn, предлагаешь сделать бесконечный кортеж?
[15:15:05] <Minoru> Kerrigаn: а ты готов продать из-под полы несколько списков?
[15:15:06] <Kerrigаn> gsomix: сделал, твои действия?
[15:15:38] <gsomix> Kerrigаn, предъявите тип, пожалуйста.
[15:16:10] <Kerrigаn> gsomix: генератор
[15:21:05] <rexim> https://www.addedbytes.com/blog/if-php-were-british/
[15:27:06] <Minoru> perchance лол
[15:27:11] <gsomix> Kerrigаn, не пойдет.
[15:27:53] <Minoru> splendid
[15:27:56] <Minoru> лоооол
[15:28:02] <Kerrigаn> gsomix: увы, у вас такое не сработает
[15:28:09] <Minoru> rexim: блин. я теперь хочу всё это сюда цитировать! :(
[15:28:31] <rexim> Minoru, :3
[15:30:51] <Minoru> > "Public" and "Private", in the British class system, are often synonymous (see, for example, school system nomenclature)
Лол, он ещё и с самого английского попутно стебётся!
[15:33:01] <Minoru> rexim: would_you_mind?..
[15:33:08] <Minoru> rexim: actually_i_do_mind!
[15:33:17] <Minoru> у-у-у-у! :3 :3 :3
[15:33:27] <rexim> Minoru, ^3
[15:40:58] Славный капитан зашёл в конференцию
[15:49:42] a1batross вышел из конференции
[15:51:14] <faceless void> ForNeVeR, https://yandex.ru/maps/?mode=search&ol=geo&ouri=ymapsbm1%3A%2F%2Fgeo%3Fll%3D47.672661%252C63.138785%26spn%3D0.001%252C0.001%26text%3D%25D0%25A0%25D0%25BE%25D1%2581%25D1%2581%25D0%25B8%25D1%258F%252C%2B%25D0%25A0%25D0%25B5%25D1%2581%25D0%25BF%25D1%2583%25D0%25B1%25D0%25BB%25D0%25B8%25D0%25BA%25D0%25B0%2B%25D0%259A%25D0%25BE%25D0%25BC%25D0%25B8%252C%2B%25D0%25A3%25D0%25B4%25D0%25BE%25D1%2580%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2B%25D1%2580%25D0%25B0%25D0%25B9%25D0%25BE%25D0%25BD%252C%2B%25D1%2580%25D0%25B5%25D0%25BA%25D0%25B0%2B%25D0%25AB&ll=47.654227%2C63.136454&z=14
[15:51:16] <faceless void> Ы!
[15:51:27] <faceless void> rexim, Ы!
[15:54:22] <faceless void> Ыджыдшилашор!
[15:54:36] Ender зашёл в конференцию
[15:54:47] <faceless void> Ender, Ы! Ы! Ыджыдшилашор?
[15:55:47] <uggur> faceless void: ры! ры! ры! (%
[15:56:21] <Minoru> faceless void: https://www.youtube.com/watch?v=5jX58qxhsLE (слушать)
[16:05:55] <ForNeVeR> Ender: гы гы!
[16:17:13] <faceless void> ForNeVeR, почему он молчит?(
[16:17:18] <faceless void> Ender, что случилось?(
[16:38:59] <Minoru> господа, вот есть у меня variadic template:
template<typename T, typename... Args> void f(T argument, Args... args);

Что мне написать, чтобы T не могло принимать определённый тип, скажем, char*?
[16:39:25] <Minoru> можно кейвордами для гугла, я не обижусь
[16:40:03] <faceless void> Minoru, Ну, это делать можно, но изъёбско.
[16:41:12] <Minoru> а, ну ладно тогда. Мне просто для рефакторинга пригодилось бы в качестве промежуточной стадии, чтобы знать, не упустил ли чего. Забью. Спасибо :)
[16:41:18] grisssa вышел из конференции
[16:41:23] <faceless void> Minoru, делоешь трейт на is_char_array
[16:43:20] <faceless void> Minoru, https://gist.github.com/Newlifer/bfa41f25c4b19a262ceb39cf310c4b0a
[16:43:39] <faceless void> Как-то так.
[16:44:31] ckorzhik зашёл в конференцию
[16:45:44] <Minoru> ._.
[16:46:02] <Minoru> я слишком много не знаю :(
[16:52:24] <rexim> rexim: сука, да сколько пиздеть-то можно!
[16:52:32] <rexim> rexim: я уже заебался тебя редактировать!
[16:52:47] <ForNeVeR> Что?
[16:52:52] <faceless void> Что?
[16:52:53] <rexim> ~_~
[16:52:56] <ForNeVeR> rexim: ты щас кому это сказал ._.
[16:52:59] <rexim> ForNeVeR, себе.
[16:53:06] <ForNeVeR> ForNeVeR: себе?
[16:53:06] <rexim> Я свои записи стримов редактирую
[16:53:20] <ForNeVeR> А, да, я видал.
[16:53:29] <faceless void> Видал, как он редактирует?
[16:53:30] <ForNeVeR> Ты берёшь и до 5 минут весь стрим ужимаешь :)
[16:53:55] <rexim> Д
[16:54:01] <rexim> Не знаю, правда, зачем.
[16:54:10] <ForNeVeR> Выглядит примерно так:
(2 минуты) Привет! Сегодня мы будем говнякать!
(1 минута) говнякаем-говнякаем-говнякаем!
(2 минуты) Фух, ну вот и наговнякали!
[16:54:21] <rexim> Ага :D
[16:55:48] <rexim> Очень жизненно получается, да.
[16:56:36] <faceless void> ForNeVeR, отлично!
[16:57:03] <ForNeVeR> > Сообщение от rexim: Нахуячил хаскельцов! Слышу голос мертвецов!
[16:57:08] <ForNeVeR> о_О
[16:59:56] <rexim> =3
[17:18:57] <rexim> RAMZAY, ой! Дратуте! :3
[17:19:01] <rexim> Если дядюшка Нёвер дал вам мгновенно мемберца, значит вы хороший человек! Добро пожаловать!
[17:20:00] <faceless void> rexim, http://www.cmsmagazine.ru/different/gif/task-one-vs-team.gif
[17:23:18] <rexim> faceless void, накладные расходы на коммуникацию в команде растут квадратично относительно количества участников команды.
[17:23:37] <rexim> Ф. Брукс "Мифичиский Человеко-Месяц"
[17:23:40] <rexim> Рекомендую.
[17:25:39] <ForNeVeR> Мне магистрантов поручили проучить!
[17:25:47] <ForNeVeR> Или там было "обучить"... неважно!
[17:27:39] portnov зашёл в конференцию
[17:28:16] <faceless void> portnov, утров, тов. Портнов!
[17:28:26] <Minoru> ForNeVeR: может, «облучить»? Ты же как раз там какими-то электромагнитными полями занимался…
[17:28:33] <portnov> _o/
[17:28:42] <ForNeVeR> \o_
[17:32:20] <faceless void> 11. Картографирование Антарктиды, континентального шельфа Российской Федерации, территорий иностранных государств и Мирового океана, в том числе создание топографических и морских карт.
[17:32:26] <faceless void> Такая-то лицензия.
[17:33:30] <ForNeVeR> То есть картографирование всего?
[17:33:46] <ForNeVeR> А если я другие планеты захочу картографировать?
[17:34:25] <faceless void> ForNeVeR, хз.
[17:34:34] <faceless void> ForNeVeR, любопытное следующее: «1. Определение параметров фигуры Земли и внешнего гравитационного поля в этих целях»
[17:34:46] <faceless void> Человеки умеют определять параметры грав. поля?
[17:35:08] <ForNeVeR> Конечно.
[17:35:21] <ForNeVeR> Ускорение свободного падения — чем тебе не параметр гравитационного поля? :)
[17:35:34] <faceless void> Хм.
[17:35:36] <faceless void> И правда.
[17:35:43] <ForNeVeR> Производный какой-то, конечно.
[17:35:59] <ForNeVeR> Но на его основе можно и более первичные параметры определить.
[17:36:54] <gsomix> ForNeVeR, например?
[17:37:21] <ForNeVeR> gsomix: например, из очевидного — распределение массы Земли.
[17:37:31] <ForNeVeR> Хотя на самом деле я не знаю, какими такими параметрами обладает гравитационное поле :)
[17:37:44] <gsomix> ForNeVeR, как и любое другое поле.
[17:37:48] <gsomix> Напряженностью, например.
[17:37:50] <gsomix> :3
[17:37:51] <ForNeVeR> Хм.
[17:38:10] <ForNeVeR> Чёт я сходу не придумаю, как её можно определить — даже в том смысле, что дать физическое определение.
[17:38:33] <gsomix> Сила, которая действует на пробную массу в поле.
[17:39:09] <ForNeVeR> Хм, ок.
[17:39:12] <ForNeVeR> Это мы можем!
[17:39:41] <gsomix> Ну, и потенциал, конечно же.
[17:39:45] <ForNeVeR> Ускорение свободного падения в разных точках пространства можно, вроде бы, пересчитать в напряжённость гравитационного поля.
[17:47:54] <RAMZAY> rexim: драсти и вам.
[17:48:23] <ForNeVeR> Блин, я хотел вечерком покодить, а тут эти магистранты.
[17:48:27] <ForNeVeR> Надо им план составлять :(
[17:48:45] kpecmuk зашёл в конференцию
[17:48:51] <rexim> Маргиналты
[17:48:59] <RAMZAY> >Ускорение свободного падения
Прочитал как
"Ускорение свободного плавания"
[17:49:22] <rexim> RAMZAY, да вы, батенька, металлург!
[17:49:32] <ForNeVeR> Эт почему?
[17:49:38] <rexim> ForNeVeR, маргинал ты.
[17:49:39] <RAMZAY> от мне тоже интересно стало =)
[17:50:06] <ForNeVeR> rexim: я люмпен, а не маргинал!
[17:50:17] <rexim> Ну, потому, что я металлург, и вероятно ложными утверждениями пытаюсь выявить других металлургов.
[17:50:20] <rexim> Все просто.
[17:50:25] <faceless void> m4n71k0r, https://github.com/vurtun/nuklear
[17:50:40] <rexim> ForNeVeR, го бухать тогда?
[17:50:50] <ForNeVeR> rexim: нет. Это для меня слишком мейнстримно!
[17:50:54] <rexim> =(
[17:51:20] <rexim> Люмпен-хипстер.
[17:51:26] <ForNeVeR> rexim: а лучше выпьем-ка свежего машинного масла!
[17:51:34] <rexim> О, вот это можно!
[17:51:58] <rexim> Кстати, Люмпен-Хипстер звучит как двойная фамилия с немецкими корнями.
[17:52:13] <ForNeVeR> У Маркса ещё был целый Люмпен-Пролетариат.
[17:53:51] <faceless void> ForNeVeR, его я, пока, не читал ещё...
[17:53:58] <faceless void> Наверное, стоит.
[17:55:58] <gsomix> ForNeVeR, oxyplot странно написан. У них некоторые важные штуки для создания кастомных графиков сделаны intenral.
[17:56:07] <gsomix> *internal
[17:56:54] <gsomix> Эх.
[18:01:00] <ForNeVeR> gsomix: а они тебе снаружи нужны?
[18:01:06] <ForNeVeR> gsomix: напиши пропозол!
[18:02:09] gsomix вышел из конференции
[18:14:12] <rexim> охурлот
[18:14:47] <Ender> а в кути есть же какое-то QXML или чё-то такое?
[18:15:42] <rexim> Ender, ты когда цод будешь стримить?
[18:15:59] <Ender> хочешь, щас подрублю?
[18:16:11] <rexim> Блядь. :)
[18:16:15] <Ender> Я просто собрался покодить.
[18:16:18] <ForNeVeR> ЦОД?
[18:16:19] <rexim> Я прост хотел пристыдить, а ты вот так вот сразу.
[18:16:32] <ForNeVeR> rexim: а он и пристыдился!
[18:16:38] <rexim> А, ну ок
[18:16:39] <Ender> я тут просто прочитал вот эту древнюю как говно мамонта статью
[18:16:40] <Ender> http://wladm.narod.ru/C_Sharp/xml003.html
[18:16:42] <rexim> Цель достигнута значит!
[18:16:49] <Ender> и чёт пиздец вдохновился.
[18:17:16] <rexim> Ender, я просто сейчас не смогу посмотреть. У тебя какое-нить расписание есть?
[18:17:47] <ForNeVeR> А я, короче, когда диплом писал, то тоже решил всё сохранять в XML.
[18:18:00] <ForNeVeR> И отчего-то взял и захуячил туда SAX-парсер %)
[18:18:04] <Ender> нету никакого расписяния пока. скажи, когда захочешь посмотреть, я тут же подрублю.
[18:18:18] <Ender> Просто на твиче меня смотрят только когда я овсу стримлю.
[18:18:28] <Ender> даже на дарксовулс всем поебать.
[18:18:49] <Minoru> офигенный я рефакторятор, конечно. Поменял сигнатуру функции, чтобы принимала std::string вместо char*, и сижу ковыряю код в попытках понять, почему один из тестов падает. А прочитать описание теста и узнать, что он тестирует поведение функции на nullptr, в голову не пришло ._.
[18:19:01] <ForNeVeR> :)
[18:19:12] <rexim> =3
[18:19:25] <rexim> Тесты рулят!
[18:19:29] <rexim> Они хранят знания Древних!
[18:19:50] <rexim> Minoru, через тесты Древние разговаривают с тобой!
[18:19:53] <rexim> \о/
[18:20:12] <ForNeVeR> rexim: а со мной Древние разговаривают почему-то через спецификацию EcmaScript 4 ~_~
[18:20:18] <Minoru> rexim: да ну их в пень, этих Древних. У них до моего прихода 0 можно было считать и числом, и указателем, и даже пустой строкой!
[18:20:18] <rexim> xD
[18:20:34] <ForNeVeR> Minoru: но ведь это плоховато.
[18:20:46] <Minoru> ForNeVeR: но ведь это C++
[18:20:50] <ForNeVeR> И?
[18:20:57] <ForNeVeR> Это не значит, что всё должно быть плоховато.
[18:21:12] <rexim> Minoru, в моргани 0 - это и число, и пустой список, и пустая строка, и false, и еще что-то.
[18:21:15] <ForNeVeR> Я считаю, что у каждого терма должен быть тип, причём только один!
[18:21:16] <Minoru> правда, C++ 11 они сами притащили, но не до конца — nullptr я уже сам везде расставлял (sed-ом :)
[18:21:24] <ForNeVeR> В Моргани у каждого терма один тип.
[18:21:28] <rexim> =3
[18:21:34] <rexim> Эт да!
[18:21:35] <ForNeVeR> (и несколько возможных интерпретаций, хе-хе)
[18:21:51] <rexim> А, получается 0 такой многоликий не в моргани, а в кодировки Чёрча!
[18:22:02] <rexim> Ругайте Чёрча короче.
[18:22:16] <ForNeVeR> Ну, она на то и кодировка, чтоб одному терму несколько значений давать.
[18:22:22] <rexim> Ну да.
[18:22:23] <ForNeVeR> Вернее, у нас же там несколько кодировок.
[18:22:30] <ForNeVeR> Кодировка для списков, для чисел, для булов.
[18:22:38] <ForNeVeR> Вот разные кодировки и дают разные трактовки.
[18:25:15] <Ender> ForNeVeR, мне девчонка курсач заказала. Я проебал все сроки короче. Щас решил сесть и попрограммировать. Прога приблизительно простая. нужно сделать программу для "создания отчётов по лабораторным работам". Я так понимаю, что вордом от этого пользоваться не перестанут, так что у меня идея, как это реализовать, примерно такая -- входной/выходной файл -- это файл xml, где сразу будут захуярены как строки и картинки, и таблицы, и текст, и положение эл-тов. тип замутить что-то вроде <page-1> <sizex>x</sizex>.. <pic> <posx>x</posx> <posy>y<posy> <rdata>13371337</rdata> </pic> и так далее. </page-1> <page-2>... Понятное дело, что сам парсер я писать не хочу, потому что тогда я тут же подрублю спирит, и это будет долго и сложно для второго курса. посему надо замути какое-нить ПУГИКСИМЕЛЬ или КУКСИМЕЛЬ, короче готовую библиотеку для сипп для работы с КСИМЕЛЕМ. Самое прикольное будет отображать всё это. А редактор, думаю, сделаю васянский, с указыванием координат ручками. Уж слишком салазки для жд в ноут хочется.
[18:25:55] <ForNeVeR> Ender: а к ворду ты как это собрался присобачивать?
[18:26:10] <ForNeVeR> Ender: это-то самый гемор и будет, как пить дать.
[18:27:11] <Ender> не-не, ты неправильно понял. Там да, было задание, типа РЕАЛИЗОВАТЬ ЭКСПОРТ В ВОРТ СРЕЦТВАМИ ОЛЕЕЕ, но она сказала, что это не надо. ну не дано -- так и проще.
[18:27:22] <ForNeVeR> А что надо?
[18:27:40] <Ender> создать, открыть, редактировать, показать.
[18:27:54] <Ender> текст, таблицы, рисунки.
[18:27:56] <ForNeVeR> Короче, я бы взял https://github.com/UNIT6-open/TemplateEngine.Docx и как-то сериализовал нужные данные в XML. Прочитал — заполнил шаблон — схоронил.
[18:28:46] <Ender> гы, прикольно.
[18:29:47] <Ender> я кстати только вчера узнал -- что doc/docx файл -- это зип, блять, архив. Мне просто чувак, с которым я это обсуждал, тоже предлагал захуярить сразу в док всё
[18:29:57] <Ender> типа красиво дохуя, и можно самому написать.
[18:29:59] <Ender> Но нет.
[18:30:10] <Ender> xml выглядит проще, да дохуя готового чего.
[18:30:48] <Ender> и я ещё к тому, что я хочу замуть 1 xml для всего, а там их штук 5-7 в одном доковском файле.
[18:31:10] <ForNeVeR> Ender: doc не архив. Ну, вернее, не такой простой.
[18:31:19] <ForNeVeR> DOCX — реально ZIP.
[18:31:33] <Ender> ну я на docx проверял, просто
[18:31:36] <Ender> xD
[18:31:41] <ForNeVeR> И сам ты затрахаешься в его XML-потрохах ковыряться.
[18:31:58] <Ender> ну да, я смотрел, там пиздец.
[18:32:32] <ForNeVeR> Старый DOC тоже архив, но у него какой-то проприетарный формат. Его можно распотрошить, если охота, но разобраться ещё сложнее.
[18:33:32] <ForNeVeR> Для потрошения XLS я юзал какой-то olevba.py :D
[18:33:40] <faceless void> ForNeVeR, только спека у xlsx просто очень печальная(
[18:33:49] <faceless void> У меня всё болело, когда пытался её раскурить(
[18:34:01] <ForNeVeR> faceless void: спека у любого офисного формата печальная.
[18:34:13] <ForNeVeR> Для XLSX есть открытые опенсорсные инструменты, чтоб формировать нужное.
[18:34:28] <ForNeVeR> Но она, конечно, такая себе, с гнильцой.
[18:34:53] 2tsun4u зашёл в конференцию
[18:35:36] <Ender> а это что за безликий недействительный.
[18:35:49] <ForNeVeR> А он мнимый!
[18:35:56] <Ender> :D
[18:36:40] <faceless void> Ender, а ты погадай по аватарке.
[18:37:00] <Ender> вот. А ещё моему другу на работе дали ковырять операционку марсохода на поиск уязвимостей, кек. И ещё к какому-то проекту подключили.
[18:37:47] <ForNeVeR> Ого!
[18:38:36] <Ender> faceless void, а, понятно. только я по саммари спалил. По аватарке бы точно бы не угадал. Ты же пегас дохуя, ёпту.
[18:39:23] <Ender> ForNeVeR, это я, если что, разглашаю гостайны.
[18:39:35] <ForNeVeR> Ender: не делай так, не надо.
[18:39:49] <ForNeVeR> Это плохо!
[18:40:06] <Ender> его 2 месяца проверяли короче, он таки вышел. Меня второй месяц проверяют, так и не позвонили.
[18:40:08] <Ender> (((
[18:41:35] <ForNeVeR> Это потому, что у тебя язык слишком длинный.
[18:51:55] <Minoru> > v->show_error(utils::strprintf(_("Error: couldn't parse filter command `%s': %s"), newlifer.c_str(), m.get_parse_error().c_str()));
*мотаю башкой*
> v->show_error(utils::strprintf(_("Error: couldn't parse filter command `%s': %s"), newfilter.c_str(), m.get_parse_error().c_str()));
М, показалось.
[18:54:14] <horta hell> @tsoding твитит: Animation Framework in C++ Ep.20 — Morning Tsoding #112 https://t.co/BirU4cKWtR
[18:55:54] <rexim> ForNeVeR, говнякаем-говнякаем-говнякаем...
[18:56:18] <ForNeVeR> rexim: вот вам ТЗ, наговнякайте мне CGI! https://github.com/morganey-lang/Morganey/issues/281#issuecomment-256375872
[18:56:40] <rexim> ForNeVeR, о, збс! Спасибо!
[18:58:36] <Ender> чё, миксер говнокодить пошёл?
[18:59:47] <ForNeVeR> Ender: не, он запись приготовил.
[18:59:58] <Ender> аа
[19:07:02] superka зашёл в конференцию
[19:07:41] <superka> ForNeVeR:
уборщик мусора?
[19:07:54] <rexim> Cabbage Collector
[19:09:17] <ForNeVeR> superka: что, кто?
[19:11:04] <superka> ну ты сказал сделать уборщик мусора
[19:11:26] <ForNeVeR> Кому, когда?
[19:11:29] <ForNeVeR> Ты сделал? Показывай.
[19:14:27] rafaelrs зашёл в конференцию
[19:17:49] <Ender> мне влом перезагружать компьютер, поэтому я поставлю ещё один инстанс кути на эту операционку.
[19:18:02] <Ender> потому что я может быть ночью пойду играть в коес.
[19:20:12] <Ender> кстати напомните мне, с каких пор кути начали за бабки продавать?
[19:20:51] <ForNeVeR> Всегда продавали.
[19:21:11] <ForNeVeR> По крайней мере, Trolltech продавал версии без GPL.
[19:26:23] <portnov> rexim: коллекционер капусты? билл гейц?
[19:27:12] <superka> я сделаю скоро
[19:28:12] <ForNeVeR> superka: это радует, но я не припомню, чтобы давал такого задания.
[19:28:25] <ForNeVeR> superka: ты точно себя хорошо чувствуешь?
[19:28:41] <superka> я хорошо
[19:28:53] <ForNeVeR> Хорошо. Когда сделаешь — покажешь.
[19:29:04] <superka> а как у тебя дела?
[19:30:12] <ForNeVeR> Я пишу код, очевидно.
[19:30:23] <ForNeVeR> Как ещё могут быть дела? Я же больше ничего не умею :)
[19:33:36] Graf зашёл в конференцию
[19:33:42] Graf вышел из конференции
[19:44:58] faceless void вышел из конференции
[19:47:22] 2tsun4u вышел из конференции
[20:00:24] ckorzhik вышел из конференции
[20:24:54] gsomix зашёл в конференцию
[20:25:00] <gsomix> Так.
[20:25:01] <gsomix> Утро.
[20:29:18] m4n71k0r вышел из конференции
[20:30:26] <Minoru> mrnng cnfrmd.
[20:31:16] RAMZAY вышел из конференции
[20:32:12] <rexim> Mnr
[20:33:07] <gsomix> rxm
[20:33:41] <gsomix> Сейчас я приведу в порядок этот AST!
[20:39:03] <rexim> o_O
[20:39:24] <rexim> Пришло время срубить это Абстрактное Синтаксическое Дерево!
[20:39:33] <rexim> Вечно мешается тут.
[20:42:19] <rexim> Мне тут копирайт клейм прилител, мол я использую в своих видео песню "Pissing Hard On a Rainy Morning"
[20:42:25] <rexim> Кажется, они мне на что-то намекают...
[20:42:57] ɹǝɟılʍǝu зашёл в конференцию
[20:43:26] <rexim> https://www.amazon.com/Pissing-Hard-Rainy-Morning/dp/B00JL6B1O8
[20:43:27] <rexim> Хм...
[20:44:09] <Minoru> rexim: лалки
[20:44:30] ɹǝɟılʍǝu вышел из конференции
[20:44:37] ɹǝɟılʍǝu зашёл в конференцию
[20:52:26] <Kerrigаn> https://habrahabr.ru/post/313682/ у меня стыд от этого персонажа
[20:52:31] <Kerrigаn> и зависть, что он осилил вебгл
[20:59:03] <superka> ого майкрософт прям в рекламу смогла https://www.youtube.com/watch?v=BzMLA8YIgG0
[21:02:53] <Minoru> а я правильно понимаю, что темплейтные функции нужно в хедерах не только объявлять, но сразу и реализовывать? Просто если реализацию в .cpp писать, то потом получаются ошибки линковщика — не находятся какие-то из инстанциаций шаблона. А если в заголовочный файл реализацию перенести — становится ок
[21:02:57] a1batross зашёл в конференцию
[21:03:15] <Minoru> но вот я что-то для одного из классов так метод в .h перенёс и у меня этот метод перестал видеть членов собственного класса
[21:03:18] <Minoru> O_O
[21:06:22] <gsomix> Стало получше, конечно. http://hastebin.com/punecefumi.fs
[21:06:36] <gsomix> Плохо, когда не знаешь типов на момент компиляции. :(
[21:06:51] <gsomix> Ну, в этом случае, конечно, я знаю.
[21:08:30] <Minoru> а у меня, похоже, циклические зависимости между кусками кода из разных модулей =\
[21:08:43] <gsomix> Уф!
[21:09:19] <gsomix> А у меня нету. В F# нету таких зависимостей в принципе. :(
[21:09:28] <gsomix> И порядок компиляции надо строго указывать.
[21:10:51] a1batross вышел из конференции
[21:10:55] a1batross зашёл в конференцию
[21:12:37] <Minoru> в F# что, никаких модулей нет?
[21:12:51] <Minoru> вот в плюсах нет, а я все равно проект на самого себя завазал! :)
[21:13:54] <gsomix> Minoru, есть модули.
[21:15:59] <gsomix> Но сама структура проектов -- линейная. С явным порядком компиляции.
[21:23:58] <Ender> короче поставил себе кутикрятер
[21:24:04] <Ender> они его испортили к хуям
[21:24:17] <Ender> нахуя они мне виндовс 95 в кутикрятере сделали
[21:24:46] <Ender> короче не знаю. Надо наверное попить купить чего-нибудь
[21:24:50] <Ender> и кодить
[21:29:22] <rexim> А я себе безлимитный Попить подключил от ЖКХ и не парюсь.
[21:30:16] <ɹǝɟılʍǝu> rexim, > использовать рефлекшион ради роусетов - это серьёзная заявка на профнепригодность, демонстрирующее непонимание основных, фундаментальных принципов ООП.
[21:31:02] <rexim> ɹǝɟılʍǝu, согласен
[21:31:17] <ɹǝɟılʍǝu> rexim, а чо не так с рефлекшоном-то?)
[21:31:18] <portnov> а роусеты ради рефлекшена?
[21:31:50] <Minoru> а если я не понял слово «роусеты», то мне лучше вообще отойти от клавиатуры и никогда больше к ней не прикасаться?
[21:32:00] <ɹǝɟılʍǝu> Minoru, да, ты профнепрегоден)
[21:32:10] <uggur> Minoru: это такие булки
[21:32:13] <uggur> с маком
[21:32:29] <uggur> всякие наркоманы их себе в вену колют, и пишут тут про ООП
[21:32:58] <rexim> Minoru, предлагаю ёбнуть чаю.
[21:33:08] <Minoru> rexim: но я уже!
[21:33:15] <rexim> От ЖКХ.
[21:33:17] <uggur> rexim: ...и съесть ещё этих маковых булок!
[21:33:19] <rexim> Minoru, а, ну ок.
[21:33:19] <uggur> XD
[21:33:20] <ɹǝɟılʍǝu> portnov, вопрос в том, чтобы по записям из бд мапить данные в поля объектов.
[21:33:30] <ɹǝɟılʍǝu> И делоть это через рефлексию.
[21:33:41] <ɹǝɟılʍǝu> Компилтаймовую, например.
[21:34:00] <portnov> гм
[21:34:13] <portnov> ну если компайлтаймовую то всё вобще замечательно
[21:34:27] <ɹǝɟılʍǝu> portnov, а вышестоящий вопрос — нужность вообще рефлексии в плюсах.
[21:34:37] <portnov> в рантайме это делать имеет кучу недостатков, но тоже применимо.
[21:34:49] <portnov> а, у вас там вобще плюсы
[21:34:57] <portnov> я хз как там рефлексия и зачем она там.
[21:35:23] <ɹǝɟılʍǝu> portnov, в плюсах нужна, как и везде)
[21:35:35] <ɹǝɟılʍǝu> Для тех же задач, что и везде.
[21:35:35] <rexim> Я вообще считаю, что ЖКХ лучше рефлексии.
[21:35:40] <rexim> Даже компилтаймовой
[21:36:08] <ɹǝɟılʍǝu> rexim, желудочно-кишечный хак?
[21:36:37] unclechu зашёл в конференцию
[21:36:43] <portnov> какой-то тайд против кипячения.
[21:36:52] <ɹǝɟılʍǝu> Югг.
[21:37:46] a1batross вышел из конференции
[21:38:40] rexim вышел из конференции
[21:54:35] ckorzhik зашёл в конференцию
[22:03:04] Aman зашёл в конференцию
[22:10:42] sss|zombie зашёл в конференцию
[22:15:26] <gsomix> Пацаны, я сделал все, что смог.
[22:15:28] <gsomix> http://hastebin.com/enucalereb.fs
[22:16:06] <gsomix> Minoru, ɹǝɟılʍǝu ^
[22:18:17] <Minoru> вторую версию кода я ещё могу как-то читать, потому что знаю, что она делает. Но первая… Слишком много специфичных для F# кусочков синтаксиса
[22:18:25] <Minoru> наверное, непосвящённые так же смотрят на Хаскель :(
[22:19:10] <gsomix> Minoru, ну, так специфичные только quotations -- <@@ @@> и %%.
[22:19:58] <Minoru> callT, callTR — это что?
[22:20:19] <Minoru> NTuple тоже непойми что. Похоже, это твой тип кастомный, но я не представляю, что происходит вообще
[22:20:54] <gsomix> Это все мои функции.
[22:21:20] <gsomix> Смотри, я пытаюсь работать с несуществующим в дотнете типом.
[22:21:31] <gsomix> Кортеж, параметризуемый количеством элементов.
[22:21:52] <Minoru> сигнатуры бы увидеть хотя бы. NTuple.init я уже вроде разгадал, он берёт размер и список и возвращает тапл заданного размера с элементами из списка?
[22:22:44] <gsomix> Да.
[22:23:03] <gsomix> head, tail -- тоже понятно.
[22:23:57] <Minoru> непонятнен последний аргумент
[22:24:10] <Aman> gsomix: fornever is slept, you should try dotnet room
[22:24:13] <Minoru> а, там же сверху тип написан
[22:24:42] <Minoru> но я все равно не понял. Зачем n, если у тебя в типе размер уже есть?
[22:25:01] <ɹǝɟılʍǝu> gsomix, хм...
[22:25:08] <gsomix> Minoru, смотри. У кортежи в дотнете не знают свой размер.
[22:25:18] <gsomix> Поэтому я везде таскаю его.
[22:25:20] superka вышел из конференции
[22:25:31] <ɹǝɟılʍǝu> Я ничо не понел(
[22:25:56] <gsomix> Minoru, типы для кортежей размера n я делаю через рефлексию.
[22:26:06] <gsomix> И как-то с ними через эту же рефлекцию работаю.
[22:26:57] <gsomix> callT и callTR -- нужны для вызова дженерик методов, когда мы в компил-тайме не знаем тип.
[22:27:03] <gsomix> Тоже через рефлексию делается.
[22:27:33] <Minoru> xs сыграло со мной злую шутку. Переименуй в dimensions уже, а то с ума сойти можно :)
[22:28:05] <gsomix> Minoru, но почему? .__.
[22:28:21] <gsomix> Ну, это типа x::xs, только для моих кортежей.
[22:28:33] <Minoru> ну, я про второй вариант
[22:28:43] <Minoru> я просто отвлёкся поглядеть хаскелевский вариант
[22:28:45] <gsomix> Ок.
[22:28:51] <Minoru> и понял, что я по этим x:xs уже ничего не понимаю
[22:29:05] <Minoru> перечитал лог, получил контекст, x:xs обрели смысл
[22:29:19] <Minoru> а можно было сразу нормально назвать и не запутывать самого себя! :)
[22:30:37] <Minoru> нет, я все равно не понимаю, что делает NTuple.init. Оно у меня совершенно не вяжется с тем, что происходит во второй версии кода
[22:30:55] <Minoru> а, тьфу
[22:31:09] <Minoru> слушай, в then-ветке можно убрать n и везде писать 1
[22:31:18] <Aman> :(
[22:31:26] <gsomix> Да, пожалуй.
[22:31:33] <Minoru> может, это я тупой или мне памяти не хватает, но я успеваю забыть, что оно равно единице
[22:32:07] <gsomix> Minoru, видишь в первой ветке Seq.init<int>?
[22:32:16] <gsomix> Вот во второй ветке я так написать не могу.
[22:32:27] <gsomix> Потому что тип в компил-тайме не знаю.
[22:32:37] <gsomix> Отсюда вся вот эта возня.
[22:33:43] <gsomix> lambda -- воздает кусок AST для лямбда функции.
[22:34:10] <gsomix> lambdaT -- делает то же самое, но для случая, когда я не знаю тип аргумента в компил-тайме.
[22:34:35] <gsomix> Ох.
[22:34:37] <Minoru> Seq.init x f — это какое-то волшебство, которое делает map f [0..x-1]?
[22:34:56] <gsomix> Да.
[22:37:16] <Minoru> я всё ещё не понимаю, как именно работают NTuple.{head,tail}, но суть я понял. Со строками 13–14 тоже ясно. Попробуем продраться дальше…
[22:37:58] <Minoru> так в чём, говоришь, разница callT и callTR?
[22:39:15] <Minoru> сейчас я вроде ухватил суть 16–17, но не понимаю, что это за манипуляции с типами, что именно происходит
[22:39:24] <gsomix> Minoru, callT -- позвляет вызвать метод с одним дженерик аргументом, callTR -- с двумя.
[22:39:51] <Minoru> а второй оно выведет?
[22:40:20] <gsomix> Minoru, второй -- что?
[22:40:24] <Minoru> ну, в смысле, у initializer же есть входной параметр и результат. Тип результата ты в callT передал, а тип входного параметра оно что, осилит вывести?
[22:41:22] <gsomix> Там же int.
[22:41:23] <gsomix> Seq.init : int -> (int -> 'T) -> seq<'T>
[22:41:36] portnov вышел из конференции
[22:41:56] <Minoru> а, он закреплён. Ок.
[22:42:01] <gsomix> Да.
[22:42:14] <Minoru> ну, остальные строчки после этого очевидны
[22:42:37] <gsomix> Может есть предложения по именованию всей этой байды?
[22:44:12] <Minoru> от коротких названий лучше бы отказаться. На 20 не ys, а smallTuple какой-нибудь
[22:44:33] <Minoru> во второй версии кода dimensions написать, как я уже говорил
[22:46:27] <Minoru> вообще для меня самой большой сложностью было то, что я не представляю себе, что такое ntuple<int> внутри. Что-то спископодобное? ADT? Соответственно операции head и tail для меня малопонятны. Без типов тяжело, но это я просто не знаком со стандартной библиотекой
[22:47:06] <Minoru> ну, то есть даже Seq.init для меня требовал некоторых объяснений и сравнения со строкой 28
[22:48:00] <gsomix> Minoru, а.
[22:48:08] <gsomix> Ну, нет никакого ntuple. :)
[22:48:11] <gsomix> Это я просто так называю.
[22:48:19] <gsomix> Есть обычные туплы из дотнета.
[22:48:26] <gsomix> int, int*int, int*int*int...
[22:48:42] <gsomix> Просто я с помощью рефлекции работаю с ними в рантайме.
[22:49:07] dzhon зашёл в конференцию
[22:49:29] <Minoru> то есть у тебя eachindex вызывается, например, так: eachindex 2 (3,4) (это табличка 3×4)
[22:49:29] <Minoru> ?
[22:49:44] <Ender> http://puu.sh/rWuQE/82485a358b.png
[22:49:47] <Ender> ну хуй знает
[22:49:52] <Ender> и они это продают?
[22:49:55] <gsomix> eachindex 2 <@@ (3, 4) @@>
[22:49:59] <Ender> а есть пиратский и патч+кейген?
[22:50:07] <gsomix> Minoru, вот так, потому что я в eachindex собираю AST.
[22:50:15] <gsomix> А потом компилирую.
[22:50:22] <Minoru> а! А NTuple.head n t небось просто возвращает n-й элемент тапла t. А NTuple.tail n t — все элементы с n+1 и до конца тапла. Так?
[22:50:33] <gsomix> Нет. :(
[22:50:40] <gsomix> n -- это просто размер тупла.
[22:50:51] <gsomix> Я не знаю, куда его спрятать.
[22:50:58] <gsomix> А! Я могу завести свой тип.
[22:53:12] <gsomix> Minoru, сек.
[22:53:32] <Minoru> не спеши, я поужинать отойду
[22:55:53] Славный капитан вышел из конференции
[23:08:09] <Minoru> вернулся
[23:12:26] <gsomix> А я еще не дописал.
[23:12:36] <gsomix> Не понимаю, как мне перегрузить оператор квотейшена <@@ @@>.
[23:12:43] <gsomix> Ибо в документации ничего нет.
[23:13:44] ckorzhik вышел из конференции
[23:13:50] ckorzhik зашёл в конференцию
[23:33:37] <uggur> http://cs9.pikabu.ru/post_img/big/2016/10/25/12/1477428755178367805.jpg когда пишешь на фреймворке
[23:45:57] ckorzhik вышел из конференции
[23:46:42] ckorzhik зашёл в конференцию
[23:48:43] <Minoru> кажется, у кого-то в проекте сейчас будут классы utils1 и utils2!
[23:55:40] <Kerrigаn> у меня //шучу, я утилсы по типам называю
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!