Home
codingteam
codingteam@conference.jabber.ru
22.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:19:26] m4n71k0r вышел из конференции
[00:19:35] xmi зашёл в конференцию
[00:20:38] xmi вышел из конференции
[00:20:39] xmi зашёл в конференцию
[00:28:16] <Minoru> вот, кстати, ещё одна проблема, вызванная кучей всяких мелких фич языка: копипастить код становится всё менее удобно. (Я про законные виды копипасты, как то объявления переменных в тестах.) Из-за того, что в одной функции у меня объект на стеке, а в другой — внутри unique_ptr, остальной код так просто уже не покопируешь, потому что где-то делается .get, а где-то берётся адрес
[00:36:49] <ɹǝɟılʍǝu> Minoru, нах копипастишь?
[00:38:08] <Minoru> потому что нет другого пути
[00:39:58] <Minoru> ɹǝɟılʍǝu: я про вот эти вещи: https://github.com/akrennmair/newsbeuter/blob/189742cf87e0c96ca38f8b1c0da972a720e8f978/test/cache.cpp#L372-L375 Они нужны в каждом тесте, но их нельзя сделать глобальными, потому что для каждого теста эти объекты нужны свежими и новыми
[00:40:26] <ɹǝɟılʍǝu> Minoru, make_unique
[00:40:51] <Minoru> оно для семнадцатых плюсов, у меня пока что только одиннадцатые
[00:41:05] <ɹǝɟılʍǝu> C++14
[00:41:21] <Minoru> а, ну не суть. Значит, чуть раньше перейду, чем думал :)
[00:41:38] <ɹǝɟılʍǝu> Minoru, и это
[00:41:40] <Minoru> вообще я из тестов почти все указатели уже убрал в пользу стека
[00:41:43] <ɹǝɟılʍǝu> Нахер тебе тут юник?
[00:42:29] <Minoru> мне не столько юник нужен, сколько хоть какой-то умный указатель, чтобы освобождать ресурсы, когда тесты падают
[00:42:35] <Minoru> ну и защита от забытого delete, конечно
[00:42:47] <Kerrigаn> тогда шаред
[00:43:03] <Minoru> тестов должно быть много, а майнтейнить их так же внимательно, как основную кодобазу, вряд ли будут. Чем больше защит, тем лучше :)
[00:43:10] <ɹǝɟılʍǝu> Minoru, scoped_pre
[00:43:10] <Minoru> Kerrigаn: почему? Я его никуда не передаю
[00:43:20] <ɹǝɟılʍǝu> scoped_ptr*
[00:43:32] <Kerrigаn> Minoru: ну хз, я все тесты на шаредах писал
[00:43:40] <Kerrigаn> если хватит unique, то юзай его
[00:43:50] <Minoru> Kerrigаn: говорят, unique быстрее, потому что не нужен reference counting
[00:43:54] <ɹǝɟılʍǝu> // эт я так, дурачусь если что. От части.
[00:44:23] <Minoru> ну и говорю же — никуда не передаю. У меня пока что везде в основном обычные указатели :( Это ещё только предстоит рефакторить
[00:45:10] a1batross зашёл в конференцию
[00:46:55] <Minoru> ɹǝɟılʍǝu: он же, во-первых, в бусте, а во-вторых, я из статьи про C++11 в Википедии так понял, что unique и shared хватит на все случаи жизни
[00:47:01] <Minoru> а, ну weak ещё, чтобы циклы порешать
[01:29:00] <MaXGGXaM> а под ведроид можно разрабатывать не на java ?
[01:29:04] <MaXGGXaM> чтоб удобно?
[01:32:42] <Minoru> на плюсах точно можно, только я не знаю, как это там потом запускается. Может, там JNI есть или что-то подобное
[01:32:54] <Minoru> про «удобно» не совсем понятно, что ты имеешь в виду
[01:33:01] <Minoru> а, ещё на Clojure точно можно
[01:33:06] <MaXGGXaM> не используя яву
[01:33:23] <Minoru> но там, наверное, чуть хуже с либами и нужно на каждый чих писать свои биндинги
[01:33:39] <MaXGGXaM> я где-то видел рабочий пример апликухи на go в плеймаркете
[01:34:05] <Minoru> ну, на Haskell тоже что-то есть (lambdacube емнип). Но, насколько я понял, там всё не так-то просто
[01:46:13] grouzen зашёл в конференцию
[01:54:42] ɹǝɟılʍǝu вышел из конференции
[02:12:25] xmi вышел из конференции
[02:19:54] Minoru вышел из конференции
[02:28:38] Славный капитан вышел из конференции
[02:28:40] Славный капитан зашёл в конференцию
[03:03:28] grouzen вышел из конференции
[03:40:50] Славный капитан вышел из конференции
[03:42:59] Славный капитан зашёл в конференцию
[03:43:10] sss|zombie вышел из конференции
[03:44:34] eaeee вышел из конференции
[03:45:54] horta hell вышел из конференции
[03:45:59] horta hell зашёл в конференцию
[03:50:24] SolarRay вышел из конференции
[04:27:42] Славный капитан вышел из конференции
[05:21:13] Kumba_yo вышел из конференции
[06:46:31] a1batross вышел из конференции
[06:51:33] Kumba_yo зашёл в конференцию
[07:35:39] <ForNeVeR> MaXGGXaM: более-менее под ведроид поддерживается Kotlin и Scala. Остальное уже совсем не удобно.
[09:01:02] kpecmuk вышел из конференции
[09:31:05] <uggur> ForNeVeR: а ты знаешь условия пользования гитхабом?
[09:31:53] <uggur> я хочу на фришном аккаунте устроить IO-хвостинг своей фотогалереи с некоммерческми целями и СС-картинками. Это можно или нельзя?
[09:50:00] <ForNeVeR> uggur: нет, я не знаю условий пользования гитхабом. Однако же, лично мне такое действие кажется вполне легитимным и совпадающим с целью github pages, например.
[10:02:11] portnov зашёл в конференцию
[10:11:06] SolarRay зашёл в конференцию
[10:26:25] grouzen зашёл в конференцию
[10:40:09] xmi зашёл в конференцию
[10:40:44] m4n71k0r зашёл в конференцию
[10:56:48] <m4n71k0r> ForNeVeR: а в дотнетоконфе есть такое в топике? http://tryroslyn.azurewebsites.net
[10:56:49] <m4n71k0r> утро
[10:57:08] <ForNeVeR> m4n71k0r: в топике нету, но сервис известный.
[10:57:30] <ForNeVeR> Если б оно ещё асмокод умело показывать, эх!
[10:58:02] <m4n71k0r> а IL это ж почти асмокод
[10:58:21] <ForNeVeR> IL это и близко не асмокод.
[10:58:27] <m4n71k0r> хм
[10:58:36] <ForNeVeR> Однозначного маппинга IL -> asm нельзя указать.
[10:58:41] <ForNeVeR> И уж тем более в обратном направлении.
[11:00:19] <m4n71k0r> хм, нет показа результата после оптимизации
[11:00:33] <ForNeVeR> Там же есть релизная сборка.
[11:00:40] <ForNeVeR> Это и есть результат после "оптимизации".
[11:01:49] <ForNeVeR> На самом деле, в решарпере приятнее сделано.
[11:01:49] <m4n71k0r> но... я сделал пустой цикл и оно его не соптимизировало...
[11:01:58] <ForNeVeR> m4n71k0r: но оно и не должно :)
[11:02:16] <ForNeVeR> Я неоднократно уже рассказывал, что компилятор C# вообще не оптимизирует ничего.
[11:02:22] <m4n71k0r> ппц
[11:02:29] <m4n71k0r> ад жестячный
[11:02:30] <ForNeVeR> Он только выбрасывает недостижимый код
[11:02:44] <ForNeVeR> За остальное отвечает JIT.
[11:03:19] <ForNeVeR> При этом компилятор C++/CLI был намного интереснее, и к него и правда получадлось делать осмысленные оптимизации на уровне CIL. Очень жаль, что его закапывают.
[11:04:34] <ForNeVeR> m4n71k0r: я сильно в подробности не вдавался, но мне казалось, что компилятор Java ровно настолько же тупой.
[11:05:35] <ForNeVeR> При этом в обоих случаях компиляторы более продвинктых языков — F# и Scala — уже лишены возможности забить на оптимизации, и были вынуждены оптимизировать. Потому что иначе совсем тупо получалось
[11:06:32] xmi вышел из конференции
[11:21:59] grouzen вышел из конференции
[11:31:26] xmi зашёл в конференцию
[11:53:24] gsomix зашёл в конференцию
[11:53:32] <gsomix> Утро.
[11:57:35] ɹǝɟılʍǝu зашёл в конференцию
[12:02:00] <ForNeVeR> Так точно!
[12:03:34] <gsomix> Я вернулся, надо бы код пописать.
[12:06:18] <ForNeVeR> Да!
[12:08:04] Славный капитан зашёл в конференцию
[12:11:35] <gsomix> ForNeVeR, я вчера узнал о параметрах по умолчанию в питоне.
[12:11:51] <gsomix> И их странном поведении для ссылочных типов.
[12:12:31] <gsomix> Ну, когда состояние такого параметра сохраняется между вызовами функции. ,__,
[12:13:34] <ForNeVeR> gsomix: ага-ага, кладёшь туда по умолчанию пустой список. И ловишь потом глюки, потому что он перестал быть пустым.
[12:13:40] <ForNeVeR> Это так весело, ммухахахаха!
[12:13:57] <gsomix> Жутковато.
[12:14:14] <ForNeVeR> Если б даже такой фичи не было, её обязательно стоило бы выдумать.
[12:14:52] <ForNeVeR> Не, на самом деле у неё может быть легальное применение, конечно.
[12:15:17] <ForNeVeR> gsomix: кстати говоря, там не про ссылочные типы, а про _мутабельные_.
[12:15:18] Akon32 зашёл в конференцию
[12:15:53] <gsomix> ForNeVeR, это как?
[12:16:58] <ForNeVeR> gsomix: ну, вот если ты в том же питоне в качестве параметра по умолчанию используешь _иммутабельный_ список, то проблемы не будет. Правильно же?
[12:17:31] <gsomix> ForNeVeR, да, конечно. А там такой есть?
[12:17:34] <ForNeVeR> gsomix: более того, это безопасно будет работать для иммутабельных строк, хоть они и ссылочный тип.
[12:18:18] <ForNeVeR> gsomix: встроенного я не знаю, но библиотек наверняка навалом.
[12:18:36] <gsomix> ForNeVeR, а, в питоне-то, наверное, все ссылочного типа, да?
[12:19:05] <ForNeVeR> gsomix: насколько я помню, да.
[12:20:23] <gsomix> Надеюсь, что хоть линтеры предупреждают о таких вещах.
[12:47:35] rexim зашёл в конференцию
[12:47:35] horta hell вышел из конференции
[12:47:42] horta hell зашёл в конференцию
[12:48:51] <rexim> > ForNeVeR: https://dl.dropboxusercontent.com/u/36383162/14766362728050.jpg
Программиста за версту видно!
[12:49:32] <ɹǝɟılʍǝu> Утро.
[12:57:40] Minoru зашёл в конференцию
[13:01:46] <Minoru> > Надеюсь, что хоть линтеры предупреждают о таких вещах.
«У Вас проект на Python, берегитесь!»
[13:02:12] <ForNeVeR> :D
[13:02:21] <Akon32> "у вас PHP. жгите всех!"
[13:04:17] <Akon32> хотя, говорят, седьмая версия годная..
[13:10:38] <Minoru> > As of 14 July 2014, WordPress-based benchmarks, which served as the main benchmark suite for the phpng project, showed an almost 100% increase in performance.
Вот это они классно придумали — юзать для бенчмарков один из топовых проектов, написанных на языке. Или все так делают, просто не афишируют?
[13:11:47] <Minoru> > The behavior of the foreach statement was changed to be more predictable
О, ну всё, адекват закончился, пошли лулзы. *Как* можно было сделать foreach непредсказуемым?
[13:11:51] <ForNeVeR> Minoru: многие так делают.
[13:12:08] <ForNeVeR> Minoru: foreach по хэшмапу, например.
[13:12:31] <ForNeVeR> Minoru: алсо, foreach (x in y) { actions.add(() => console.log(x)); }
[13:12:41] <ForNeVeR> Minoru: какое поведение предскажешь при выполнении массива actions?
[13:12:56] <ForNeVeR> Давай, foreach же "предсказуемый", предсказуй :)
[13:13:36] <Minoru> погоди, «foreach по хешмапу» — это совсем другое, насколько я понимаю (если ты про соль, которая от запуска к запуску меняется)
[13:13:49] <Minoru> что значит «выполнять массив»?
[13:14:06] <ForNeVeR> foreach (a in actions) a()
[13:14:35] <Minoru> зависит от того, есть в языке замыкания или нет
[13:14:38] <ForNeVeR> Есть.
[13:14:59] <Minoru> тогда будет то же самое, как если бы ты сделал foreach (x in y) console.log(x);
[13:15:06] <ForNeVeR> Нет :)
[13:15:12] <Minoru> а, ну и это предполагая, что add() на массиве — это добавление в конец
[13:15:16] <ForNeVeR> Да.
[13:19:23] <ForNeVeR> Minoru: правильный ответ: зависит от семантики. Даже не от языка (вернее, не всегда). Вот тебе простой пример на C++: http://melpon.org/wandbox/permlink/U4xyF0BcFySioPQ5
[13:21:34] <gsomix> rexim, спасибо за песенку!
[13:23:07] <rexim> gsomix, =3
[13:24:39] <ForNeVeR> Minoru: а вот такой же эффект на JS: http://lpaste.net/290965
[13:25:22] <ForNeVeR> Minoru: я бы показал ещё сэмпл на C#, но там надо две разные версии языка. В общем, тут уж поверь на слово: в C# 4 будет "5 5 5 5 5", а в C# 5 будет "1 2 3 4 5".
[13:25:58] <ForNeVeR> Minoru: короче, мой поинт вот в чём: не зная особенностей кодогенерации, сложно предсказать поведение foreach :)
[13:27:28] <Akon32> ForNeVeR: а разве использование i после выхода из цикла не UB ?
[13:27:30] <ForNeVeR> Minoru: однако же, проблемы в PHP были несколько более простого вида: http://www.skillz.ru/dev/php/article-php7-foreach.html
[13:27:41] <ForNeVeR> Akon32: это вы мне расскажите :)
[13:28:09] <ForNeVeR> Akon32: я что-то слышал про то, что можно как-то продлить жизнь переменным. Но скорее всего, в данном случае это нелегитимно, да?
[13:28:14] <Minoru> ForNeVeR: с поведением плюсов вроде ясно — ты захватил i по ссылке, цикл эту переменную обновил пять раз, и т.к. все лямбды ссылаются на один и тот же адрес, то у всех последнее число массива. В JS, похоже, та же история?
[13:28:26] <ForNeVeR> Minoru: везде та же история.
[13:29:27] <Akon32> JS я в этом случае вообще не понимаю.
[13:29:43] <Minoru> Akon32: там, похоже, push в начало массива пишет
[13:30:07] <Akon32> нет.
[13:30:30] <Akon32> var - по ссылке, let - по значению ??
[13:30:36] <ForNeVeR> Akon32: var там не имеет блочной видимости, поэтому реюзается одна и та же переменная для всех итераций. let и const имеют блочную видимость, поэтому для каждой итерации цикла используется своя переменная, захватываемая в своё замыкание.
[13:31:11] <ForNeVeR> Считай, что да, по значению. По значению ссылки :)
[13:31:51] <Minoru> проверил — таки в конец. Форневерик просто на C++ и JS массивы в разном порядке записал
[13:32:14] <ForNeVeR> А, ты об этом :)
[13:32:30] <ForNeVeR> Не массивы, а циклы я в разном порядке записал.
[13:32:40] <Minoru> да ._.
[13:32:40] <ForNeVeR> Прости, если это тебя смутило, я не специально.
[13:32:57] <ForNeVeR> Просто записывал в том порядке, который показался мне естественным.
[13:33:09] <Minoru> хуже всего, что я быстро придумал этому неправильное объяснение! И если бы не Акон… Спасибо, дядя Акон!
[13:33:34] <ForNeVeR> В C++ — сперва по значению, потом по ссылке (т.е. от более простой семантики к более сложной, как мне кажется). А в JS просто в историческом порядке — сначала код в старом стиле, а потом в новом.
[13:34:50] <ForNeVeR> И, кстати, да, спасибо, код на C++ вообще невалидный.
> The C++ closures do not extend the lifetimes of the captured references.
[13:35:44] <ForNeVeR> Но я бы мог схитрить, вызвав все лямбды внутри тела цикла (if (i == 5) { ... }), и тогда был бы валидный, и поведение было бы то же самое.
[13:35:57] <Minoru> глядя на https://wiki.php.net/rfc/php7_foreach мне кажется, что можно всю жизнь писать на PHP и не научиться программировать. Ну, т.е. у тебя не будет вообще никакой ментальной модели того, как происходит выполнение кода — будет просто набор рецептов типа «в foreach нельзя вызывать current()»
[13:36:27] <ForNeVeR> Я тоже почитаю :)
[13:36:54] <Minoru> по твоей ссылке на Хабр, похоже, был перевод этого документа
[13:37:11] <Akon32> >The behavior of foreach statement in PHP for some edge cases is not exactly defined.
мне кажется, дальше можно не читать.
[13:37:15] <Minoru> а вот то, что время жизни не продлевается — это жесть какая-то. Кому такие замыкания нужны?
[13:37:26] <Akon32> это ж по ссылке.
[13:37:28] <ForNeVeR> Akon32: нет, этого утверждения недостаточно.
[13:37:52] <ForNeVeR> Akon32: потому что, как видно из нашей дискуссии, в C++ поведение тоже не до конца определено для... хм, любого оператора :)
[13:38:02] <Akon32> Minoru: захватывай по значению, если надо. иногда достаточно по ссылке..
[13:38:05] <ForNeVeR> Minoru: тому, кто хочет аккуратно работать с памятью.
[13:38:24] <ForNeVeR> Minoru: алсо, достаточно умно будет захватить по значению shared_ptr, к примеру.
[13:38:42] <ɹǝɟılʍǝu> ForNeVeR, в C++17 все операторы будут строго определены.
[13:38:45] <ɹǝɟılʍǝu> Даже пользовательские.
[13:38:53] <ForNeVeR> Это в каком смысле? UB больше не будет?
[13:39:17] <ForNeVeR> ɹǝɟılʍǝu: я говорил лишь о том, что до тех пор, покуда любой оператор может триггернуть UB, его поведение не может быть строго определено :)
[13:39:17] <Akon32> > Actually, it is implementation driven and quite weird.
ForNeVeR: может, этого достаточно?
[13:39:33] <ɹǝɟılʍǝu> ForNeVeR, а, это да.
[13:39:47] <ForNeVeR> Akon32: неа, всё равно непонятно, о чём речь. Может, там какие-то глупые ограничения, и настоящие программисты на них никогда не натыкаются.
[13:40:13] <ForNeVeR> Akon32: скажем, что контейнер начнёт вести себя странно, если в процессе итерации начать его модифицировать. Вот в C++ такая операция определена?
[13:40:14] <Akon32> как-то глупо вводить глупые ограничения..
[13:40:53] <ForNeVeR> Кому-то ограничение на модификацию итерируемого контейнера тоже может показаться глупым. "Это ведь простой for (i = 0; i < length; ++i), что может пойти не так?!"
[13:41:40] <ForNeVeR> Однако примеры кода показывают, что, действительно, quite weird :)
[13:42:32] <ForNeVeR> С другой стороны, а на кой хрен ты лезешь в волшебную функцию current, если у тебя есть нормальная переменная массива $a?
[13:42:46] <ForNeVeR> Эту функцию надо бы задепрекейтить, да и дело с концом.
[13:42:56] <ɹǝɟılʍǝu> ForNeVeR, На счёт вчерашних отвалов гитхаба: там в США просто охуенный DDOS по всей стране.
[13:43:06] <ForNeVeR> ɹǝɟılʍǝu: да, мне уже доложили.
[13:43:25] <ForNeVeR> Собственно, вчера ночью у меня ситуация уже нормализовалась.
[13:43:34] <Minoru> о, точно, нужно же билды перезапустить, если Травис починился
[13:54:01] Aman зашёл в конференцию
[13:55:18] Aman вышел из конференции
[13:55:26] Aman зашёл в конференцию
[14:05:31] <horta hell> @fvnever твитит: RT @steppinlazer: okay, who did this https://t.co/h59f7QDYGw
[14:08:11] kpecmuk зашёл в конференцию
[14:12:29] <rexim> Minoru, ты можешь ПР заасайнить на создателя если что.
[14:13:58] <Minoru> да я там больше для формальности комментнул, я практически уверен, что чувак забил
[14:25:15] Akon32 вышел из конференции
[14:32:09] Aman вышел из конференции
[14:32:48] <rexim> Minoru, please keep in mind that we are all volunteers.
[14:39:07] enaken зашёл в конференцию
[14:42:45] <ForNeVeR> Я практически уверен, что чувак дебил!
[14:48:38] <rexim> ForNeVeR, даже волонтеры могут быть дебилами
[14:49:10] <rexim> Я в morganey-lang в этом не раз убедился.
[14:49:18] <ForNeVeR> rexim: забилами!
[14:50:22] <Minoru> rexim: я же вроде не требую у него ничего… Или требую? Или ты меня троллишь?
[14:51:10] <ForNeVeR> Minoru: я требую сатисфакции!
[14:52:46] <rexim> Minoru, технически, ты ничего не требуешь. Но я, по опыту работы с американцами и европейцами, могу тебя уверить, что подобные выражение нетерпения может быть легко интерпретировано как требование.
[14:53:23] <rexim> Это я просто, делюсь информацией, ты не подумай. :)
[14:53:24] <Minoru> rexim: м, вот оно что! Постараюсь быть с этим поаккуратней, спасибо
[14:54:27] <ɹǝɟılʍǝu> Ух!
[14:54:28] <ɹǝɟılʍǝu> Покушал!
[14:54:31] <ɹǝɟılʍǝu> Катлетки!
[14:54:34] <ɹǝɟılʍǝu> С макарошками!
[14:54:56] <Minoru> cut-let-ки?
[14:55:19] <ɹǝɟılʍǝu> Ага!
[15:00:36] rexim вышел из конференции
[15:17:36] <Minoru> send/rexim/На всякий случай спросил у sometoby (он немец, судя по профилю на ГитХабе), что он думает по поводу https:\/\/github.com\/akrennmair\/newsbeuter\/pull\/384#issuecomment-255519912. Говорит, что понял просто как вопрос. Further research required!/
[15:17:38] <horta hell> Minoru: Сообщение помещено в очередь.
[15:18:10] <Minoru> send/rexim/Ну, в смысле, как минимум одного точно не обидел — уже хорошо!/
[15:18:10] <horta hell> Minoru: Сообщение помещено в очередь.
[15:27:06] eaeee зашёл в конференцию
[15:30:47] <ɹǝɟılʍǝu> Minoru, https://www.youtube.com/watch?v=A1Qb4zfurA8
[15:36:14] <ɹǝɟılʍǝu> Minoru, ну и самый вин https://www.youtube.com/watch?v=A-Y2OCyk-Pc
[15:41:16] <Minoru> ɹǝɟılʍǝu: жесть
[15:42:12] <ForNeVeR> $send rexim https://youtrack.jetbrains.com/issue/RIDER-574
[15:42:13] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[15:42:19] <ForNeVeR> $send rexim >\ Thomas\ Needham
[15:42:19] <horta hell> ForNeVeR: Сообщение помещено в очередь.
[15:44:43] grouzen зашёл в конференцию
[16:15:46] rexim зашёл в конференцию
[16:18:52] <rexim> Minoru, да я не думаю, что ты его прям обидел. Даже если и обидел, то что он сделает? Больше не будет слыть ПР-ы? Так оно и к лучшему. Я просто своим опытом поделился, вот и все. Не воспринемай так близко к сердцу.
[16:19:15] <ForNeVeR> rexim: THOMAS NEEDHAM
[16:19:19] <ForNeVeR> rexim: NYEH HEH HEH
[16:19:29] <Minoru> rexim: да нет, я просто зачем-то тебе теперь обо всём этом отчитываюсь ._.
[16:19:43] <Minoru> олсо у меня радость: Newsbeuter наконец-то упал и сдампил-таки корку!
[16:19:43] <rexim> Minoru, а, ок. :)
[16:19:48] <ForNeVeR> rexim: кстати, у него смешная фамилия: Томас Хочуветчины.
[16:20:06] <Minoru> правда, BFD: Warning: /home/minoru/core is truncated: expected core file size >= 329875456, found: 262144000. Но это все равно лучше чем ничего! (Наверное)
[16:20:15] <rexim> ForNeVeR, в морганиланг его все игнорят, он решил до джетбрейнса доёбываться?
[16:20:43] <ForNeVeR> Никто его не игнорит.
[16:20:55] <ForNeVeR> Просто забавно, что его комментарий первый в треде про F# :)
[16:21:09] <rexim> Они отсортированые обратно по времени.
[16:21:12] <rexim> Недавно оставил.
[16:21:17] <rexim> Что такого?
[16:21:36] <ForNeVeR> Я имею в виду, первый на странице.
[16:21:42] <ForNeVeR> И нет, он как раз давно оставил.
[16:21:53] <ForNeVeR> Это был хронологически первый комментарий.
[16:22:12] <rexim> А, июнь
[16:22:14] <ForNeVeR> Даже его типичный кейсинг: Would Really Like :)
[16:22:17] <rexim> Мне показалось, что октябрь.
[16:27:15] <rexim> А, ну и это. У нас есть моргани мод емакс. https://github.com/morganey-lang/morganey-mode
[16:27:31] <rexim> Жить стало проще.
[16:28:13] <rexim> ForNeVeR, синтаксические таблицы в емакс - просто трешак какой-то.
[16:28:18] <rexim> Что курил их автор?
[16:28:20] <ForNeVeR> rexim: :(
[16:28:29] <rexim> ForNeVeR, что не так?
[16:29:24] <rexim> ForNeVeR, ты их автор чтоле?
[16:29:32] * rexim мог бы догадаться
[16:37:07] <Minoru> нихрена по этой корке не понять :(
[16:54:17] eaeee вышел из конференции
[16:54:17] eaeee зашёл в конференцию
[16:55:16] * rexim pat pat Minoru
[16:55:36] * Minoru терпеливо ждёт новую
[17:00:23] eaeee вышел из конференции
[17:18:10] a1batross зашёл в конференцию
[17:18:51] a1batross вышел из конференции
[17:19:05] <MaXGGXaM> андроид студия поддерживает проекты с c++ и вроде как c++11
[17:44:52] <ForNeVeR> О, а в десяточке терминал теперь поддерживает ANSI-коды!
[17:45:08] <ForNeVeR> Не прошло и двадцати лет!
[17:45:14] <ForNeVeR> А, нет, простите, прошло :)
[17:47:27] <horta hell> @tsoding твитит: I've created a public calendar with the schedule of Tsoding stream: https://t.co/cl8XfHXeAc
[17:48:11] <ForNeVeR> All hail Rexim, The Creator of The Calendar!
[17:48:20] <rexim> ~_~
[17:48:41] <gsomix> :mol:
[17:49:35] <Minoru> > Tsoding stream
[17:49:40] <rexim> s
[17:53:53] <rexim> Меня давно уже просили об этом календаре. Да и мне самому он будет полезен.
[17:55:29] <ForNeVeR> А вот стихи! http://scpfoundation.ru/document-1092-ru-1
[18:18:47] <ForNeVeR> rexim: а вот хорта с хортятами! https://youtu.be/vc8MddDFRw4
[18:18:47] enaken вышел из конференции
[18:19:26] <rexim> ForNeVeR, X3
[18:19:40] <ForNeVeR> x3
[18:25:41] <ɹǝɟılʍǝu> x33
[18:31:39] Lavir зашёл в конференцию
[18:32:21] <Lavir> Я СДЕЛЯЛЬ http://lpaste.net/7132725318875348992
[18:33:01] <Lavir> Вот не знаю, что дальше с этим делать. Что можно сделать из LISP-а вообще?
[18:33:23] <rexim> nbsp
[18:40:34] <Minoru> шестая строка читается как Perl
[18:44:42] unclechu вышел из конференции
[18:48:41] <Lavir> А, еще вот так можно:

a.:=(b.+c)

// (:= (a) (+ (b) (c)))
[18:53:56] <Minoru> а чем это отличается от a = b + c?
[18:54:13] <ForNeVeR> Ничем?
[18:55:02] <ForNeVeR> Lavir: сделай, чтобы это было аналогично a := b + c
[18:55:57] <ɹǝɟılʍǝu> О!
[18:56:01] <ɹǝɟılʍǝu> Пососны
[18:56:02] <ɹǝɟılʍǝu> Посоны
[18:56:04] <ɹǝɟılʍǝu> У меня идея
[18:56:05] <ɹǝɟılʍǝu> идея...
[18:56:06] <Lavir> Это вот следующий шаг. Мне теперь надо написать какой-нибудь интерпретатор над этим (или, может, в натуре Схему взять?) и написать парсер.
[18:56:10] <ɹǝɟılʍǝu> Давайте сделаем присваивание ==
[18:56:12] <Lavir> *генератор парсеров
[18:56:12] <ɹǝɟılʍǝu> А равно =
[18:56:13] <ɹǝɟılʍǝu> М?
[18:56:17] <ɹǝɟılʍǝu> a == 1 + 1
[18:56:18] <Lavir> Всегда так хотел.
[18:56:35] <Minoru> ɹǝɟılʍǝu: но зачем?
[18:56:59] <ForNeVeR> ɹǝɟılʍǝu: := достаточно.
[18:57:19] <rexim> Оператор Хуй
[18:57:21] <rexim> :=
[18:57:37] <ForNeVeR> куищще
[18:57:49] <rexim> =3
[18:58:09] <rexim> ыгвщ ыргевщцт -р тщц
[18:58:20] <ForNeVeR> фхтагн!
[18:58:27] <Lavir> a =3 b
[18:58:27] <rexim> пше сщььше
[18:58:31] <rexim> пше згыр
[18:59:01] <ForNeVeR> rexim: https://gist.github.com/piranha/6319369
[19:07:47] <m4n71k0r> забавный способ
[19:07:50] <m4n71k0r> https://gist.github.com/piranha/6319369#L41
[19:14:06] eaeee зашёл в конференцию
[19:16:28] xmi вышел из конференции
[19:19:33] eaeee вышел из конференции
[19:44:27] ckorzhik зашёл в конференцию
[19:44:33] <gsomix> Что тут у вас?
[19:47:24] <ForNeVeR> gsomix: сколько играл в варкрафт, и не замечал, что в Reign of Chaos баллисты у эльфов были другие!
[19:47:46] <gsomix> ForNeVeR, в отличие от?
[19:48:12] <ForNeVeR> В отличие от The Frozen Throne.
[19:48:32] <ForNeVeR> В старом варкрафте баллисты стреляли стрелами, и наносили урон деревьям.
[19:48:58] <ForNeVeR> А в новом у них теперь glaive throwers, которые разучились наносить урон деревьям. Но можно их научить, если прокачать апгрейд.
[19:49:09] <ForNeVeR> Просто удивительно, что я этого не замечал все эти годы.
[19:49:23] <gsomix> ForNeVeR, хм, как в старом добром WarCraft 2.
[19:49:53] <ForNeVeR> Но там баллисты были у альянса.
[19:51:58] unclechu зашёл в конференцию
[19:55:50] Minoru вышел из конференции
[19:57:05] <gsomix> ForNeVeR, а что там вместо нее? Мортира? Слава технологическому прогрессу!
[19:57:52] <ForNeVeR> gsomix: мортира и ТАНК.
[19:58:30] <ForNeVeR> На танк можно ещё поставить апгрейд с кластерными ракетами, которые наносят огромный AOE-урон по мелкому воздуху :3
[19:58:52] <ɹǝɟılʍǝu> ForNeVeR, ты играл в C&C Арогеддон?
[19:59:05] <ForNeVeR> ɹǝɟılʍǝu: нет, что это за игра?
[19:59:31] <gsomix> ForNeVeR, кстати, и катапульта у орков стала технологически круче.
[19:59:44] <gsomix> Хотя у прошлой видок был норм.
[20:00:04] <ɹǝɟılʍǝu> ForNeVeR, там можно строить сотни ядерных танков.
[20:00:15] <ForNeVeR> ɹǝɟılʍǝu: э, Generals чтоли?
[20:00:30] <ɹǝɟılʍǝu> А, тьфу
[20:00:33] <ɹǝɟılʍǝu> Да, Генералы.
[20:00:47] <ForNeVeR> В Generals: Zero Hour был ядерный генерал у Китая.
[20:00:56] <ForNeVeR> У него все танки были ядерные :3
[20:01:39] <gsomix> Я не умею в стратегии. :(
[20:02:12] <gsomix> Но кампанию в WarCraft прошел.
[20:09:56] <ForNeVeR> gsomix: я щас appveyor в skalarproduct запилю.
[20:10:06] <gsomix> \o/
[20:10:07] <ForNeVeR> Уж не знаю, как так получилось, но у меня туда есть админский доступ нужного уровня.
[20:10:48] <gsomix> ForNeVeR, дык, я его и дал.
[20:11:04] <gsomix> Когда ты мне кучу ишшуев написал.
[20:14:26] <MaXGGXaM> то есть симулятор с возможностью гибко менять физ модель в природе не существует?
[20:14:53] <ForNeVeR> MaXGGXaM: Kerbal Space Program?
[20:15:03] <ForNeVeR> (точно же, вспомнил вчерашнее обсуждение)
[20:15:06] <MaXGGXaM> ограниченная физика .. не опенсурс
[20:15:23] <ForNeVeR> Ок, возражения принимаю.
[20:15:24] <MaXGGXaM> руками изменить нельзя
[20:20:34] <MaXGGXaM> ForNeVeR, или где-то завалялись проекты?
[20:20:46] <ForNeVeR> gsomix: неа, у меня нету нужного доступа, чтоб врубить интеграцию с appveyor. Можешь трансфернуть репу в цодингтим?
[20:21:01] <gsomix> Канеш.
[20:22:09] <gsomix> ForNeVeR, а как? .__.
[20:22:27] <ForNeVeR> gsomix: на страничке settings в конце есть danger zone, и вот там кнопочка transfer.
[20:27:19] <gsomix> ForNeVeR, я в цодингтиме бесправный.
[20:27:41] <ForNeVeR> А, то есть ты не можешь туда трансфернуть?
[20:27:44] <ForNeVeR> Хм, а как тогда? ._.
[20:28:34] <ForNeVeR> gsomix: ок, щас я тебе права дам
[20:28:39] <ForNeVeR> Но потом заберу!
[20:30:07] <ForNeVeR> gsomix: выдал, трансферяй :3
[20:31:15] <gsomix> "Цодингтим отжимает проекты с самого утра".
[20:31:47] <ForNeVeR> Ну, если у тебя какое-то беспокойство по этому поводу, то можно не передавать.
[20:32:02] <gsomix> Это была шутка. :(
[20:32:02] <ForNeVeR> Тогда сам подключи appveyor, а я настрою.
[20:32:10] <ForNeVeR> Никаких проблем, бро!
[20:32:36] <ForNeVeR> Но прост нам ещё трависа настраивать, и я решил, что было бы проще, если б я сам смог интеграции админить.
[20:32:43] <ForNeVeR> И в мыслях не было ничо отжимать!
[20:35:37] <gsomix> =__=
[20:37:27] <rexim> ForNeVeR, в morganey-lang мы делаем это через третье лицо. Юзер трансферит овнеру. Овнер трансферит в организацию.
[20:37:31] <rexim> Никаких доп прав не требуется
[20:37:53] <ForNeVeR> rexim: хм.
[20:37:59] <ForNeVeR> gsomix: ок, трансферяй мне!
[20:38:04] <rexim> xD
[20:38:12] <ForNeVeR> А, ты уже сделал.
[20:38:17] <ForNeVeR> gsomix: ок!
[20:38:40] <ForNeVeR> gsomix: я тебе на репозиторий дал admin access.
[20:38:50] <rexim> Admin Success!
[20:38:52] <ForNeVeR> И проверю аудит лог, а то мало ли чего ты наворотил!
[20:39:53] <ForNeVeR> Ок, ничего не наворотил :)
[20:40:05] <gsomix> ,__,
[20:40:35] <ForNeVeR> gsomix: ну мало ли. Я вот на прошлых выходных взял да и выключил свет нечаянно в половине конференций на сервере :(
[20:41:00] <gsomix> Ну, я старался отойти от ноутбука на безопасное расстояние.
[20:41:01] <rexim> ForNeVeR, после этого у тебя забрали овнера в организации?
[20:41:05] <gsomix> Чтобы не наворотить!
[20:41:11] <ForNeVeR> rexim: нет, не забрали.
[20:41:15] <rexim> =\
[20:41:25] Minoru зашёл в конференцию
[20:41:40] <rexim> Minoru, Миноровар! \о/
[20:42:02] <Minoru> rexim: Чаемиксер, это ты чтоль?
[20:42:13] <rexim> Д :3
[20:43:20] <ForNeVeR> gsomix: ок, спасибо, щас я включу интеграцию.
[20:43:26] <gsomix> ForNeVeR, как теперь лучше работать?
[20:43:38] <gsomix> ForNeVeR, мне форк завести и PR слать?
[20:44:05] <ForNeVeR> gsomix: до дальнейшего обсуждения можешь пушить и дальше в мастер, если не хочешь, чтобы я ревьюил.
[20:44:12] grouzen вышел из конференции
[20:44:33] <ForNeVeR> gsomix: ну то есть я думаю, что у нас ещё проект не до конца забутстраплен, и лишние задержки на ревью будут тебе мешать.
[20:44:40] <gsomix> Ок.
[20:44:57] <ForNeVeR> gsomix: ты остаёшься старшим и можешь пушить без ревью :)
А я, если что буду делать, буду PR слать.
[20:45:11] <ForNeVeR> В общем-то у нас везде примерно такая политика.
[20:45:56] <Minoru> …которую неплохо бы уже где-то описать, наверное
[20:46:05] <ForNeVeR> Minoru: она секретная!
[20:46:18] <Minoru> и про то, как ассайнами пользоваться в пулл-реквестах, тоже написать бы
[20:46:31] <ForNeVeR> А мы ещё сами не до конца продумали.
[20:46:50] <Minoru> кокие вы!
[20:46:58] <ForNeVeR> Ну, фича с назначением на автора недавно появилась. Не успели адаптироваться ещё!
[20:47:15] <gsomix> Minoru -- политик.
[20:47:28] <ForNeVeR> gsomix: нет, я бы так не стал его называть.
[20:47:39] <ForNeVeR> Алсо, офисным политиком у нас тут Славный капитан числился :)
[20:49:30] <rexim> Ага, бегал тут, большим тослтым менеджментом размахивал.
[21:00:23] <rexim> Блядь, прошлый я такой дебил!
[21:00:36] <rexim> Несет какую-то хуйню, а мне потом за ним редактировать -_-
[21:01:02] <ForNeVeR> rexim: я уже говорил, что в Homestuck есть чувак, который мучается такой же проблемой?
[21:01:17] <rexim> Не помню.
[21:01:26] <rexim> Ты уже его дочитал?
[21:01:32] <ForNeVeR> Нет :3
[21:02:03] <rexim> Спасибо, что напомнил про хоместак. Я ж все хотел начать!
[21:02:05] <ForNeVeR> Я оттуда музло слушаю!
[21:02:08] <rexim> Начало какое-то нужное. :(
[21:02:13] <rexim> Никак не могу втянуться
[21:02:16] <rexim> нудное*
[21:02:20] <ForNeVeR> Начало очень не ок, всё верно.
[21:02:34] <ForNeVeR> Но поверь, после того, как он достанет и запустит игру, начнётся самое эпичное и интересное!
[21:02:45] <rexim> Ок, спасибо.
[21:03:24] * ForNeVeR настолько суров, что читает комиксы, чтоб послушать оттуда музыку.
[21:03:45] <rexim> Т.е. без комиксов музыка не понятна?
[21:04:15] <ForNeVeR> Ты вот, вроде, и шутишь, а получается очень серьёзно...
[21:04:26] <rexim> Я знаю. :)
[21:04:48] <ForNeVeR> Когда я слушаю оттуда некоторые треки, то вспоминаю соответствующие особенно эпичные моменты комикса, под которые эти треки были подстроены.
[21:04:52] <ForNeVeR> И от этого намного приятнее.
[21:04:59] <gsomix> ForNeVeR, так, я смержил.
[21:05:09] <ForNeVeR> gsomix: оллаов
[21:05:32] <gsomix> Переводчика мне! С ремиксьева!
[21:05:33] <rexim> ForNeVeR, ты знаешь, что Тоби не рекомендует слушать осты из ундертейла до того, как поиграешь в саму игру? Некоторые треки он считает спойлерами.
[21:05:54] <gsomix> *рексимьева
[21:05:56] <gsomix> .__.
[21:05:58] <ForNeVeR> rexim: на ютубе не стоит смотреть, это точно :)
[21:06:24] <ForNeVeR> rexim: но в музыке из хоумстака я спойлеров не нашёл.
[21:07:41] <rexim> ForNeVeR, он даже не ютуб имел ввиду, а в целом. В самой музыке он видит спойлеры.
[21:07:46] <rexim> Что меня несколько удивило.
[21:08:58] <Minoru> rexim: боится, что узнают, что игра няшная!
[21:12:18] <rexim> Minoru, ыфвоалыв
[21:12:33] <Minoru> rexim: ага
[21:12:50] <Minoru> а я вынес пару строк в отдельный метод и теперь у меня в коде происходит какая-то НЁХ
[21:13:09] <ForNeVeR> Выпустить группу захвата!
[21:13:31] <ForNeVeR> Совет О5 поручил всё НЁХ из кода поставить под содержание!
[21:13:37] <ForNeVeR> И интегрировать их в компиляторы C++!
[21:14:27] <gsomix> ForNeVeR, -O5?
[21:14:37] dzhon зашёл в конференцию
[21:15:00] <ForNeVeR> Стандарт C++1█ будет включать в себя аномальные конструкции языка и атрибут [[DATA_EXPUNGED]].
[21:15:45] SolarRay вышел из конференции
[21:15:55] SolarRay зашёл в конференцию
[21:16:27] <ForNeVeR> Специально для работы с информационными угрозами уровней ɑ, ℵ и ☭.
[21:20:46] <Minoru> ForNeVeR: спасибо за группу, НЁХ была успешно схвачена и проанализирована
[21:21:23] <ForNeVeR> Minoru: передайте записи научному сотруднику ███ ██ и примите амнезиак.
[21:21:48] <Minoru> ой блин, а я наоборот сделал!
[21:22:07] <ForNeVeR> Передал амнезиак записям и принял научного сотрудника?
[21:22:37] <ForNeVeR> А, так тоже сойдёт! Главное, чтоб баланс не нарушился.
[21:23:34] * ForNeVeR сегодня ознакомился с http://scpfoundation.ru/wills-and-ways-hub и был приятно удивлён.
[21:27:25] <Minoru> > All tests passed (1092 assertions in 112 test cases)
Я молодец?
[21:27:41] <Minoru> там coverage уже 30%!
[21:27:47] <ForNeVeR> Ъ
[21:27:51] <ForNeVeR> Ты очень крут.
[21:28:04] <Minoru> и я не могу это смержить, потому что не хочу мешаться под ногами у людей, допиливающих свои пулл-реквесты T_T
[21:30:13] <gsomix> Это как? .__.
[21:31:13] <ForNeVeR> Minoru: смержи и помоги им починить.
[21:32:12] <Minoru> да я там и так в PR чуть ли не до каждой строчки в ревью доебался, пусть уже сделают, а я потом мержиться буду
[21:32:29] <Minoru> если ещё и конфликты решать заставлю, они же разбегутся!
[21:32:38] <Minoru> а я их так долго ждал…
[21:32:53] <ForNeVeR> Minoru: дак я же и говорю — мержи готовое, и помогай починить неготовое.
[21:33:15] <ForNeVeR> Minoru: в пул-реквестах появилась волшебная галочка, которой авторы PR могут тебя пустить в свои ветки, шоб ты им там чинил
[21:33:37] <Minoru> а, ты имеешь в виду прямо реально чинить им, а не просто подсказывать, как конфликты решать?
[21:33:43] <Minoru> надо попробовать будет
[21:33:43] <ForNeVeR> Да.
[21:33:48] <Minoru> но лучше в будущем уже :)
[21:33:54] <Minoru> в смысле, эту пачку я уж так помержу
[21:34:00] <Minoru> ну, которую мне насабмитили тут на днях
[21:34:02] <ForNeVeR> В будущем не будет лучше, если мы не сделаем его лучше!
[21:34:25] <ForNeVeR> Это наш священный долг!
[21:40:39] <Minoru> я просто уже написал вот это: https://github.com/akrennmair/newsbeuter/pull/380#discussion_r84266165 А другому — вот это (см. последний абзац): https://github.com/akrennmair/newsbeuter/pull/383#issuecomment-254574451 Не могу же я спустя два дня прибежать и сказать, что у меня теперь новое мировоззрение и давайте всё делать иначе!
[21:41:00] <Minoru> поэтому будем плавненько… В следующем PR уже попробуем заюзать новые гитхабовозможности
[21:41:07] <Minoru> о которых неплохо бы ещё почитать ._.
[21:41:24] <rexim> Почетай и уважай!
[21:42:59] <Minoru> >_<
[21:43:40] <unclechu> >Minoru‎: ... Не могу же я спустя два дня прибежать и сказать, что у меня теперь новое мировоззрение и давайте всё делать иначе!
если ты действительно считаешь что прежнее мировоззрение было ошибочным, то - можешь
[21:43:56] <unclechu> иначе какое из тебя разумное существо тогда?
[21:46:25] <Minoru> «ошибочным» — нет. Просто сейчас можно будет делать вещи чуть лучше (не задерживать мержи из-за того, что кто-то работает над PR и я не хочу мешать)
[21:50:17] <rexim> Minoru, http://i.imgur.com/7lZwLKc.jpg
[21:50:22] <rexim> Minoru, гочай?
[21:51:13] <Minoru> rexim: зачем мне эта картинка? xfer, перелогинься!
[21:51:17] <Minoru> а от чаю не откажусь
[21:51:36] <rexim> Minoru, DAMN SON11
[21:51:44] * rexim убежал за чайником
[21:51:54] <m4n71k0r> damnson
[21:52:27] <Minoru> я не понимаю :(
[21:53:04] <m4n71k0r> херня какая-то https://soundcloud.com/damnsonmusic
[21:53:37] <gsomix> ForNeVeR, спишь уже? ._.
[21:53:49] <rexim> Minoru, ну в английском есть такое междометие.
[21:54:10] <m4n71k0r> а я подумал, что может даже фамилия такая быть
[21:54:40] <Minoru> rexim: ну есть, и что?
[21:54:52] <m4n71k0r> пф
[21:55:15] <rexim> Minoru, ты хочешь джастификации чиханья мемами?
[21:55:31] <Minoru> rexim: а. Нет. Будь здоров!
[21:55:37] <rexim> спасибо
[21:56:02] <gsomix> Как бы мне ловко запилить итерирование по многомерному массиву?
[21:57:15] <Minoru> gsomix: сделай итераторы (begin() и end()), параметризуемые номером измерения, по которому итерируемся!
[21:57:17] <m4n71k0r> https://www.ulmart.ru/goods/4026061
[21:57:39] <Minoru> и можно будет писать что-то типа begin<0>().begin<1>()
[21:57:49] <gsomix> Minoru, я хочу все возможные индексы обходить.
[21:59:04] <Minoru> тогда begin<0, 1>()
[21:59:06] a1batross зашёл в конференцию
[21:59:10] <Minoru> (для двумерного случая)
[21:59:19] <gsomix> А для n? :)
[22:00:09] <Minoru> а для n будет variadic template: begin<...>
[22:00:18] <m4n71k0r> берёшь сырой указатель и итерируешь, ёба
[22:00:28] <m4n71k0r> Minoru: он же не на плюсах херачит
[22:00:50] <gsomix> m4n71k0r, у него деформация.
[22:00:58] <Minoru> m4n71k0r: что поделать, если я не умею это никак кроме как плюсовыми терминами объяснить?
[22:01:07] <m4n71k0r> gsomix: нет, просто контекст не подгрузил
[22:01:41] <m4n71k0r> Minoru: но... ты же умеешь ещё во что-то что отличается сильно от плюсов
[22:01:52] <m4n71k0r> нет у него вариадиков
[22:01:55] <m4n71k0r> ничего нет
[22:01:59] <m4n71k0r> только рантайм говнина
[22:03:10] <Minoru> m4n71k0r: ну это уже думать надо, а я ведь просто идеями бросаюсь. Гсомикс сейчас глянет, подумает «это плохо, потому что…» — и придумает хорошо! И все будут счастливы.
[22:03:26] Graf зашёл в конференцию
[22:03:29] Graf вышел из конференции
[22:03:29] <gsomix> Minoru, m4n71k0r, для дополнительного контекста, я хочу реализовать функцию iteri.
[22:03:39] <gsomix> И mapi.
[22:04:02] <gsomix> Ну, когда еще информацию о текущем индексе можно как-то использовать.
[22:04:33] <m4n71k0r> я не знаю фшарпа, бро. Я пытаюсь убедить людей, что дотнет не очень хорош
[22:04:50] <gsomix> Ну, это не F# вопрос даже.
[22:05:07] <Minoru> я это воспринял как вопрос о том, какой интерфейс сделать
[22:05:19] <Minoru> (потому что по более глубоким вопросам ответить не могу уж точно)
[22:05:23] <m4n71k0r> а... ещё в камле есть
[22:05:24] <gsomix> .__.
[22:05:26] <gsomix> Ок.
[22:06:04] <rexim> О! Камл! О! Камл!
[22:07:30] <gsomix> Minoru, но если будет минутка подумать, то можно рассказать, как бы ты это в хаскеле сделал.
[22:08:22] <Minoru> это надо для начала понять, как у тебя выглядит тип для многомерного массива
[22:08:39] <gsomix> Minoru, давай абстрактно.
[22:08:52] <Minoru> это хуже всего! :)
[22:08:53] <rexim> Кстати, эт самое. Во вторник будет Хаскель.
[22:09:12] <m4n71k0r> хорошо хоть не Хаскаль
[22:09:14] <gsomix> Minoru, мне надо реализовать функцию eachindex, которой на вход подаются размеры массива по каждому измерению.
[22:09:42] <m4n71k0r> ну тебе итератор надо парметризовать заранее, так?
[22:09:49] <m4n71k0r> или сделать билдер итераторов
[22:09:55] <m4n71k0r> провайдер фабрик итераторов
[22:10:06] <m4n71k0r> абстрактных безсуловно
[22:10:07] <gsomix> Я хочу просто списочек со всеми индексами. :(
[22:10:38] <m4n71k0r> это у меня уже деформация
[22:10:48] <Minoru> gsomix: та-а-ак. И ты не понимаешь, как её реализовать? Или как типизировать?
[22:10:56] <gsomix> Реализовать.
[22:11:50] <ɹǝɟılʍǝu> rexim, ХУЯ ТЫ
[22:11:52] <ɹǝɟılʍǝu> ХУЯ ТЫ
[22:12:48] <m4n71k0r> а этот index(0, 100500, 3, 15) не сможет быть проитерирован в index(0, 100502, 3, 15) за одну операцию?
[22:12:57] <m4n71k0r> я просто вижу массив индексов
[22:13:27] <m4n71k0r> или я ничего не понял, или уменя всё ещё темпа 38+
[22:14:30] <Minoru> gsomix: ну, динамическое программирование. Если у тебя один индекс: eachindex [x] = [0..x]. Если много: eachindex (x:xs) = concatMap (\xs -> [(x':xs) | x' <- [0..x]]) eachindex xs
[22:15:21] <m4n71k0r> а ещё я штрихи как первые производные воспринимаю иногда... хм
[22:15:56] <m4n71k0r> ну или сколько там штрихов
[22:16:00] <m4n71k0r> ладно
[22:17:15] <Minoru> m4n71k0r: вроде правильно, один штрих — один порядок производной
[22:20:05] <Minoru> > 72 insertions(+), 215 deletions(-)
Сила Миксера!
[22:28:29] <ɹǝɟılʍǝu> Minoru, недавно делал PR на ≈1000 удалений
[22:31:07] <Minoru> ɹǝɟılʍǝu: значит, в тебе Силы Миксера больше! (Раз в пять :)
[22:31:29] <Minoru> ɹǝɟılʍǝu: или может ты сам по себе няша, тут уж как знать
[22:31:41] <m4n71k0r> а фига он такой большой?
[22:31:54] <m4n71k0r> небось не код удалял, да?
[22:31:59] <m4n71k0r> или сгеенрённый
[22:32:15] <m4n71k0r> хотя, почему я сомневаюсь в нялайфере?
[22:32:16] <ɹǝɟılʍǝu> m4n71k0r, код.
[22:32:32] <ɹǝɟılʍǝu> Правда, было ещё запилено на ≈700 строк.
[22:32:40] <ɹǝɟılʍǝu> Рефакторинг!
[22:35:44] <Minoru> лол, четыре раза написал слово «throw» и четыре раза опечатался
[22:42:54] <gsomix> Minoru, уф.
[22:45:16] <rexim> Весь опечатался!
[22:46:29] <gsomix> Minoru, (x':xs) -- это так туплы конструировать можно в хаскеле?
[22:46:59] <gsomix> Или это список?
[22:48:47] <gsomix> Да, список.
[22:48:51] <gsomix> Под вечер туплю.
[22:49:10] <gsomix> Ладно, спасибо. Пойду подумаю, как мне это провернуть с туплами при кодогенерации.
[22:55:36] <gsomix> > And here we still are, crying just as loudly as ever about how the few serious software correctness tools we have cramp our style too much.
[22:55:37] <gsomix> Лол.
[22:55:44] <gsomix> А, черт.
[22:55:45] <gsomix> Не то!
[22:55:57] <gsomix> >
[22:56:02] <gsomix> Software is shit and will stay shit until we get over the idea that Scrum Masters are more important than theorem provers to its production.
[22:56:03] <gsomix> Вот.
[22:58:27] Славный капитан вышел из конференции
[22:58:29] Славный капитан зашёл в конференцию
[23:06:50] <rexim> Блядь, bitfuckit затеял ремонт в самый неподходящий момент. Вот не пожалею же 7 баксов, ей-богу!
[23:12:18] dzhon вышел из конференции
[23:13:59] <ɹǝɟılʍǝu> rexim, чпок!
[23:14:27] rexim вышел из конференции
[23:15:26] * Minoru опасливо поглядывает на ɹǝɟılʍǝu-а
[23:21:39] ckorzhik вышел из конференции
[23:26:50] eaeee зашёл в конференцию
[23:35:37] a1batross вышел из конференции
[23:43:23] <MaXGGXaM> ForNeVeR, так и невстречал?
[23:58:21] <gsomix> MaXGGXaM, он спит.
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!