Home
Обсуждение программирования на любых платформах
codingteam@conference.jabber.ru
Среда, 3 июля 2019< ^ >
O01eg установил(а) тему: C, C#, C++, Clojure, Cobol, Common Lisp, D, Erlang, F#, Go, Groovy, Haskell, Java, JavaScript, Julia, Kotlin, MATLAB, OCaml, PowerShell, Python, R, Racket, Refal, Ruby, Rust, Scala, Scheme, TypeScript
Telegram channel: https://t.me/codingteam
HQ, логи: https://codingteam.org.ru/
Код постить сюда: http://lpaste.net/
Юным погромцам сюда: http://e-maxx.ru/algo/ , а ещё читать Кнутца, Корменца, Седжвикца и др.
Let's Dev (когда Капитан на мостике): http://www.youtube.com/playlist?list=PLK6mcZkmN4QTusFvp_0GVtscQbCiIg81Y
Tsoding: https://tsoding.github.io/schedule.html
http://i.imgur.com/slnyI6a.jpg
Упоминания о Flash, PHP, Pascal/Delphi/Borland, Basic, 1С караются съедением поциента.
Конфигурация комнаты
Участники комнаты

GMT+3
[01:29:46] unclechu вошёл(а) в комнату
[01:30:13] <unclechu> ещё скринкастов симуляций:
1. https://www.youtube.com/watch?v=8eKQtesUK64
2. https://www.youtube.com/watch?v=K0HQCr6aaO4
3. https://www.youtube.com/watch?v=BXqQf1Nvd_I
[02:29:55] codenull вошёл(а) в комнату
[02:39:24] Птичка:D вышел(а) из комнаты
[03:37:32] <codenull> Привет полуношникам!
[05:41:31] uggur вышел(а) из комнаты: Replaced by new connection
[05:41:32] uggur вошёл(а) в комнату
[06:49:42] portnov вошёл(а) в комнату
[07:27:43] portnov вышел(а) из комнаты
[11:48:28] tg вошёл(а) в комнату
[12:52:02] <tg> <@ttldtor> >> <winged_pegasus> Что-то уровня 1984, или просто прилепливания на разрушенный фасад здания  баннера с фасадом здания.
чобля?
[12:52:53] <tg> <@winged_pegasus> >> <ttldtor> чобля?
Ничего, поймёшь когда-нибудь.
[12:52:56] <tg> <@winged_pegasus> Не переживай.
[12:53:44] <tg> <@winged_pegasus> Интересноты вам https://habr.com/ru/post/458150/
[12:55:39] <tg> <@ttldtor> ВАУ три операции вместо четырёх, и то и другое выполнится за один такт!
[12:55:49] <tg> <@ttldtor> оптимизации уровня ардуинки
[12:56:15] <tg> <@winged_pegasus> Там про это и пишется.
[12:58:49] <tg> <@Devel29A> >> <winged_pegasus> Перед кем показать?
Это такой способ самоутвердиться что-ли. Или политический популизм
[13:00:16] <tg> <@winged_pegasus> >> <Devel29A> Это такой способ самоутвердиться что-ли. Или политический популизм
Могу только плечами пожать. Грустно это.)
[13:01:19] <tg> <@fvnever> >> <Devel29A> Это такой способ самоутвердиться что-ли. Или политический популизм
Политический ботулизм!
[13:02:49] <j123123> я вот тут кстати на тему unspecified behaviour и оптимизаций подумал. Ну вот скажем есть у нас функция MyFunction(int a, int b, int c) и какие-то функции f1 f2 f3 принимающие некие аргументы и возвращающие int. И допустим мы вызовем:
MyFunction(f1(...), f2(...), f3(...));
В чем тут unspecified behaviour? Всего лишь в том, что компилятор тут может эти f1 f2 f3 вызвать в произвольном порядке. Но разве это круто? Вот например представим, что функции f1, f2, f3 являются чистыми, т.е. не имеют никаких сайд-эффектов т.е. не меняют и не зависят от глобального состояния, а просто принимают аргументы извне и возвращают некий результат. И если MyFunction(int a, int b, int c) содержит код вида if (a == 100500) return 123; то функции f2 f3 можно вообще не вызывать т.к. их вызов ни на что не влияет.
Или функции f1 f2 f3 могут оказаться и не совсем чистыми, но они могут не влиять на работу друг-друга, т.е. может быть допустимо запустить все эти три функции одновременно (в трех тредах) и они никак не будут конфликтовать во время работы. Т.е. этот UB вообще нафиг не нужен. Надо придумывать специальные аннотации
типа
int a; int b; int c;
пофиг_в_какой_очередности{a=f1(...); b=f2(...); c=f3(...)}
MyFunction(a, b, c);
/// в таком примере получится то же самое, что и в обычном unspecified behaviour в исходном примере на Си.
Но можно еще и
пофиг_в_какой_очередности_можно_хоть_одновременно{a=f1(...); b=f2(...); c=f3(...)}
[13:02:57] <tg> <@Devel29A> >> <fvnever> Политический ботулизм!
Да. Примерно такие последствия
[13:02:58] <tg> <@fvnever> Джейку разорвало!
[13:04:10] <j123123> В общем надо делать оптимизации на основе каких-то контрактов, ассертов
[13:04:25] <j123123> чего-то такого. А оптимизации на основе UB вообще выкинуть
[13:05:03] <tg> <@fvnever> А не лучше ли заставить компилятор выводить эти контракты?
[13:05:20] <tg> <@fvnever> Ну вот пускай переставляет вызовы как хочет, если ему удалось доказать, что они друг на друга не влияют.
[13:05:20] <j123123> Это может быть достаточно сложно.
[13:05:32] <tg> <@fvnever> Сложно — не доказывай. Но и не оптимизируй.
[13:06:16] <j123123> Ну в случае чистых функций компилятор при заинлайнивании действительно может что-то не вызывать
[13:06:29] <tg> <@fvnever> Ага.
[13:06:42] <tg> <@fvnever> С чистыми функциями всё ваще просто, если тебе известно, что они чистые.
[13:10:24] <j123123> Ну вот если мы например доверяем компилятору право самому решать, можно ли запустить некие три функции параллельно исполнять (и при этом эти функции не будут чистыми) то нужно будет доказать, что эти функции не используют некий общий ресурс в процессе своей работы, т.е. например что не будет точно такой ситуации, что одна функция что-то меняет где-то, где это может менять и другая функция. Или одна функция что-то где-то меняет, но другая оттуда что-то читает.
[13:11:13] <j123123> Это уже не требования чистоты функции, это требования чтоб такие функции никак не пересекались при своей работе
[13:12:18] <j123123> И доказывать такие вещи компилятору будет весьма накладно.
[13:12:51] <tg> <@fvnever> А я уже написал: не хочешь доказывать — не доказывай. Но тогда и не проводи оптимизации, которые делают хер знает что.
[13:17:45] <j123123> С другой стороны, можно сделать некие директивы, которые б компилятору явно говорили, что вот эти вот функции можно пускать параллельно, они друг другу не мешают. Это может быть уместно например для каких-нибудь экспортируемых из dll функций.
[13:18:04] <j123123> Или функции могут быть на другом языке написаны, скажем на фортране каком-нибудь
[13:43:00] <tg> <@ttldtor> >> <j123123> С другой стороны, можно сделать некие директивы, которые б компилятору явно говорили, что вот эти вот функции можно пускать параллельно, они друг другу не мешают. Это может быть уместно например для каких-нибудь экспортируемых из dll функций.
ПУРЕ!
[13:44:37] <j123123> ну тут __attribute__ ((pure)) будет говорить о чистоте функций. А может быть так, что некие функции в общем-то нечистые, но параллельное исполнение их вполне допустимо т.к. они никак не конфликтуют
[13:46:17] <tg> <@matwey_kornilov> Микросервисы
[13:46:19] <tg> <@matwey_kornilov> [Photo]
[13:46:33] <tg> <@matwey_kornilov> Всему свой отдельный контейнер
[13:47:21] <j123123> чтоб побольше оверхеда, да
[14:09:26] <tg> <@Devel29A> >> <matwey_kornilov> Всему свой отдельный контейнер
Один хуй свалют в одну кучк
[14:14:53] <tg> <@ttldtor> >> <Devel29A> Один хуй свалют в одну кучк
и сжигают к хуям
[14:15:27] <tg> <@Devel29A> >> <ttldtor> и сжигают к хуям
Опционально. Могут просто свалить в кучу. Само сгниет/сгорит
[14:36:16] <tg> <@AlexFails> >> <AlexFails> [Sticker 🕶]
еее нашел клон ушедшего стикер-пака
[14:36:22] <tg> <@AlexFails> [Sticker 🕶]
[14:43:24] Птичка:D вошёл(а) в комнату
[14:46:08] <tg> <@winged_pegasus> >> <AlexFails> [Sticker 🕶]
Дело пахнет писюнами?
[14:46:43] <tg> <@AlexFails> >> <winged_pegasus> Дело пахнет писюнами?
Da
[14:50:34] <j123123> хорошо что мне ваши стикеры не видны
[14:56:05] <tg> <@ttldtor> >> <j123123> хорошо что мне ваши стикеры не видны
ничего, это легко исправить
[14:56:37] <tg> <@fvnever> Исправим.
[14:56:46] <tg> <@fvnever> Медленно, но верно стикеры плывут к Джею в чат.
[14:57:12] <tg> <@ttldtor> МУХАХАХАХАХАХА
[15:04:41] <tg> <@Devel29A> >> <ttldtor> МУХАХАХАХАХАХА
https://www.youtube.com/watch?v=r4cOSo4DjIA&t=48s
[15:34:23] Птичка:D вышел(а) из комнаты: Replaced by new connection
[15:34:24] Птичка:D вошёл(а) в комнату
[16:23:11] Птичка:D вышел(а) из комнаты
[16:58:53] portnov вошёл(а) в комнату
[17:00:42] nightmare вошёл(а) в комнату
[17:00:57] nightmare вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[18:36:52] ma1uta вышел(а) из комнаты: Replaced by new connection
[18:37:01] ma1uta вошёл(а) в комнату
[18:38:21] unclechu вышел(а) из комнаты
[18:38:22] unclechu вошёл(а) в комнату
[19:19:25] ma1uta вышел(а) из комнаты: Replaced by new connection
[19:19:32] ma1uta вошёл(а) в комнату
[19:29:28] <tg> <@Devel29A> https://stackoverflow.com/questions/56852812/simd-instructions-lowering-cpu-frequency
[20:36:40] Птичка:D вышел(а) из комнаты: Replaced by new connection
[20:36:41] Птичка:D вошёл(а) в комнату
[20:59:00] Птичка:D вошёл(а) в комнату
[22:09:42] m4n71k0r вошёл(а) в комнату
[22:17:24] <tg> <@ttldtor> тихо
[22:17:36] <m4n71k0r> гм, а тут минорыча нет
[22:18:10] <tg> <@folexeyy> перетащите всех уже из жабера сюда
[22:18:19] <m4n71k0r> нет
[22:18:35] <O01eg> Уж лучше вы к нам
[22:18:36] <m4n71k0r> го в  Riot
[22:18:42] <m4n71k0r> или в матрицу
[22:18:46] <m4n71k0r> или как её
[22:20:10] <tg> <@folexeyy> я есть в riot/matrix
[22:20:32] <tg> <@folexeyy> а цодинг там есть?
[22:20:50] <tg> <@ttldtor> есть
[22:21:33] <m4n71k0r> #codingteam:matrix.org
[22:21:52] <tg> <@ttldtor> https://matrix.to/#/!KhjXPvjiwFZWskKAWv:matrix.org?via=matrix.org&via=ru-matrix.org
[22:22:41] Птичка:D вышел(а) из комнаты: Replaced by new connection
[22:22:42] Птичка:D вошёл(а) в комнату
[22:56:18] portnov вышел(а) из комнаты
[23:15:45] Птичка:D вышел(а) из комнаты: Replaced by new connection
[23:15:46] Птичка:D вошёл(а) в комнату
[23:20:15] <tg> <@ttldtor> ГЛАВНОЕ - ЭТО ЛОГО https://github.com/lamarrr/swish/blob/master/swish/http.h#L9-L15
[23:29:09] <unclechu> » <@folexeyy> перетащите всех уже из жабера сюда
это технически невозможно, т.к. телеграм не удовлетворяет требованиям, которые часть участников предъявляют к любому мессенджер, например:
1. открытый сервер и клиент (у телеграма есть только открытый клиент, сервер и вся экосистема - огорожена бетонными заборами и колючей проволокой);
2. федерации (телеграм централизованный, рубильник от всего телеграма у паши дурова, если он его дёрнет, или его вынудят чекисты с паяльником, - весь телеграм свернётся, а не одна федерация, также компрометация, подавляющее большинство чатов - нешифрованные, компрометация сервера влечёт утечку переписок и личных данных со всего телеграма, а не только отдельной федерации, невозможность поднять свой огороженный, закрытый от внешнего мира сервер);
3. отсутствие всяких нелепых авторизаций по паспорту и прочим GSM;
4. возможность иметь несколько аккаунтов (проблема вытекает из пт. 3), также возможность иметь несколько аккаунтов на разных федерациях, для наличия резервного канала коммуникации на случай неполадок или других причин (телеграм уже неоднократно "ложился" на какие-то премежутки времени, и "ложится", естественно, он весь целиком).
[23:32:21] <tg> <@ttldtor> вход в месенжеры по какому-то, известному органам, айди - это лядское будущее, которое мы себе устраиваем
[23:32:48] <tg> <@ttldtor> ещё лет 20 и тырнетиками нельзя будет пользоваться)
[23:38:57] <unclechu> интересный эффект при пересечении границы россии-финляндии на аллегро (скоростной поезд такой), - по радио объявляют, что теперь интернетами можно пользоваться без авторизации по паспорту (на территории рфии там нужно указать номер места и последние цифры из паспорта, иначе не пустят в wifi сеть)
[23:40:23] <unclechu> а по хельсинки катался на велосипеде, у меня симка была из рфии, на которой интернеты не работали. я просто ловил всякие wifi точки в кафе каких-нибудь по дороге и попадал в интернет, без пароля
[23:40:40] <unclechu> ну там не все были без пароля, но тем не менее
[23:40:47] <tg> <@winged_pegasus> Странный у вас wifi.
[23:40:58] <tg> <@winged_pegasus> Везде, где юзал, не было нужно указывать паспортые данные.
[23:41:19] <unclechu> это требование рфии к аллегро
[23:41:26] <tg> <@winged_pegasus> Кого?
[23:41:41] <unclechu> ЭрЭф-ии
[23:41:49] <tg> <@winged_pegasus> Прости, я не умею в птичий язык.
[23:41:52] <unclechu> ну рашки
[23:42:00] <unclechu> мордора
[23:42:09] <tg> <@winged_pegasus> Чо?
[23:43:45] <unclechu> ну мы же в средневековье живём, верно?
[23:43:47] <unclechu> https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%88%D0%BA%D0%B0_%28%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%BE%29
[23:44:12] <unclechu> "средневековое сербское государство (великая жупа)"
[23:44:14] <tg> <@winged_pegasus> А, ты из Сербии.
[23:44:16] <unclechu> великая жупа короче
[23:44:19] <unclechu> нет
[23:44:24] <tg> <@winged_pegasus> Почему нет?
[23:44:39] <unclechu> потому что не из сербии, логично?
[23:44:43] <tg> <@winged_pegasus> Нет.
[23:45:00] <unclechu> почему нетГ
[23:45:07] <unclechu> почему нет?
[23:45:27] <tg> <@winged_pegasus> Ну ты мне говоришь что-то про Сербию, и как ты из неё ездил.
[23:50:14] <unclechu> 1) перечитай ещё раз сообщение, где я писал про поездку (желательно перед этим промыть глаза кипячёной или дистиллированной водой);
2) я не называл ни в одном своём сообщении "сербию".
[23:51:02] <tg> <@winged_pegasus> Перечитал, ничо ясного не видно.
[23:51:21] <unclechu> ну ок, тогда это безнадёжно, я ничем не могу тебе больше помочь
[23:51:52] <tg> <@winged_pegasus> Дядюшка Чу, ты стал слишком стар, тебя сложно понять уже стало.
[23:55:30] <unclechu> кому-то стар, а у меня иногда продавщицы при покупке алкоголя паспорт спрашивают (хотя лет 15 назад не спрашивали)
Powered by ejabberd - robust, scalable and extensible XMPP server Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!