« first day (232 days earlier)      last day (3073 days later) » 

12:05 AM
@PashaPash Ну, это значит, что предсказания физики-с-квантовой-механикой будут неправильными. Например, скорости будут складываться.
@PashaPash Честный рандом нельзя предсказать :) Но поскольку наш компьютер работает детерминистически, то честный рандом без коннекта во внешний мир невозможен.
 
 
1 hour later…
1:29 AM
@shanselman @Nick_Craver Thanks! Added to our collection.
 
 
1 hour later…
3:25 AM
6
A: Муки модератора

PashaPashСпасибо за инсайт :) Поднятые роботом тревоги это, судя по всему, посты прошедшие через цепочку: поставлена тревога "низкого качества" или "не является ответом" человеком (на старый пост) или роботом (на новый, но короткий или заминусованый) пост попал в очередь very low quality его там просмо...

7
A: Муки модератора

NofateРобот не виноват и темными делишками не промышляет. Окинем взглядом боковую панель с фильтрами. Все тревоги от Духа сообщества уже отмечены по-другому и попадают в категории с надписью (автоматически): Закрыто без комментариев (автоматически) - это вопросы, по которым уже вынесено решение о...

4
A: Формулировка действия кнопки "откат" в меню просмотра версий поста

Timofey BondarevИзменить надпись на "откатить до этой версии".

0
A: Формулировка действия кнопки "откат" в меню просмотра версий поста

Timofey BondarevОставить имеющуюся надпись "откат", описанной проблемы на самом деле нет.

1
A: Формулировка действия кнопки "откат" в меню просмотра версий поста

VladDВозможно, такой вариант подойдёт: откатить сюда Не очень точная фраза, зато не так длинно.

 
 
3 hours later…
6:17 AM
@Vlad да, только принцип неопределенности - это не предсказание квантовой механики, или квантовой теории поля. это реально наблюдаемое явлние :) как гравитация - нелья утвержать, что гравитации может и не существовать - только потому что Ньютоновская механика был не совсем точна
@Vlad современный рандом всегда подключен во внешний мир. hw_random, по крайней мере
@Vlad хотя да, в рамках Кнута - честного рандома нет
@Vlad на практике - есть :)
 
у нас сишники свой хитроумный рандом написали, а http://www.itechlabs.com.au/ подтвердили, что это действительно рандом,
т.е. как минимум на бумажке у нас такой рандом существует ))

только зачем свой писать надо было - не знаю, возможно встроенные не достаточно честные
 
@Qwertiy за что не знаю, но ответ не правильный, возможно поэтому
 
@AndreyBakharev кто сказал, что неправильный?
 
6:37 AM
например, потому, что в wordpress'е есть jQuery, но нет $, поэтому и используют форму (function($){...})(jQuery),
хотя "неправильный" - не совсем правильно, то же "не совсем правильный" было бы точнее
но в любом случае - это максимум минус, а не удаление,
а удаление может потому что нет объяснения?
просто не понравился и все )
да и "нет объяснения" - это тоже минус, остается только "не понравилось" )
 
@AndreyBakharev любой рандом, не привязанный к железу - это псевдорандом
@AndreyBakharev т.к. он выдает следующее состояние на основе внутреннего стейта (ну и времени, если можно) -> его можно предсказать
 
@PashaPash мне рассказывали как там работает, я сильно не вникал, но к железу он как-то привязан
 
 
2 hours later…
8:22 AM
@PashaPash а если сделать рандом на основе дедлоков в многопоточности - то разве он псевдорандом? или это считается привязкой к железу?
 
@Qwertiy не считается
 
и?
он псевдо или нет?
 
@Qwertiy ок, у есть виртуалка с таким псевдорандомом. останавливаешь ее, делаешь копию, запускаешь - получаешь то же значение
@Qwertiy скажем, запускаешь на пошаговом медленном эмуляторе
@Qwertiy псевдо
 
эм.. почему дедлок возникнет на той же итерации?
 
@Qwertiy а почему не на той же? полная копия, то же железо, те же правила разделения времени между потоками
@Qwertiy точно та же последовательность выполняемых инструкций. каждая из которых занимает конкретное время (в тактах)
 
8:26 AM
при такой логике с многопоточностью бы вообще проблем не существовало
 
@Qwertiy истинность рандома не имеет отношения к проблемам многопоточности
 
к тому же, ты же не можешь воспроизвести полность всё
эм.. ты немного идею не понял, кажется
 
@Qwertiy но вообще проблемы с многопоточностью решаются строго. тупо доказательством
@Qwertiy я понял идею, но в реальности если и будет привязка к железу в таком случае, то она будет недостаточно значительной
@Qwertiy потому что современные ОС делят время здоровыми квантами
 
@PashaPash Не совсем. Принцип неопределённости — это одна из попыток объяснить данные эксперимента. отличающиеся от старой теории.
 
@Qwertiy и шансы воспроизвести дедлоки - ненулевые
 
8:29 AM
поток 1: for (;;) { sleep(0); lock(a) { lock(b) { ++res; } } }
поток 2: for (;;) { sleep(0); lock(b) { lock(a) { } } }
поток 3: когда потоки 1 и 2 задедлочились, взять (бит res & 1) в результат, сбросить res и раздедлочить потоки
почему это псевдорандом?
 
@Qwertiy потому что в стабильных условиях дедлок будет происходить примерно в одно и то же время
 
неа, на шарпе там число колеблется от 4 до нескольких сотен
когда-то эксперементировал
 
@Qwertiy я достаточно дедлоков надебагался. они все воспроизводимы. т.е. всегда можно сказать - вот в таких условиях дедлок произойдет скорее всего в такое-то время
 
там же sleep перед первым локом
 
@Qwertiy Ну, многопоточность и очерёдность исполнения в реальности зависит от внешних факторов — как быстро прочитается файл в фоновом потоке, как быстро придут данные из инета, в какой момент юзер нажмёт на кнопку. Без внешнего мира многопоточность была бы точно так же детерминирована.
 
8:30 AM
@Qwertiy я понимаю, но остановив отладку за 0.00001 мс до дедлока можно сказать - произойдет он, или нет
 
он гарантированно произойдёт, но как ты чётность числа итераций предскажешь?
 
@PashaPash Угу, и это кагбе просто увеличивает нашу степень незнания :)
 
@Vlad но ведь внешний мир есть :)
 
@Qwertiy например, в момент когда один из потоков вызвал sleep, можно точно сказать - какой из потоков следующий получит квант времени
 
но у нас не однопроцессорная система
и не однопроцессная
 
8:32 AM
@PashaPash Не факт, остальные потоки могут заснуть по ожиданию пейджинга страницы :)
 
квант вообще может чужому процессу достаться
 
@Vlad у меня ssd ^)
 
так, я ушёл
 
@Qwertiy да, но можно предсказать, кому он достанется
 
@PashaPash Сбой электричества? Мало ли что может быть. SSD не даёт гарантии скорости.
 
8:32 AM
@Qwertiy это было воистину рандомно
 
@PashaPash Внешний мир-с.
 
@Vlad сбой электричества - внешний фактор. я бы не стал рассчитывать что они будут настолько частыми, чтобы сделать на них RNG
@Vlad ну и всегда можно взять и оценить рандомность
 
@PashaPash Это да. Я говорю о железобетонных гарантиях (которых нету).
 
Тесты diehard — это набор статистических тестов для измерения качества набора случайных чисел. Они были разработаны Джорджем Марсальей (англ.) в течение нескольких лет и впервые опубликованы на CD-ROM, посвящённом случайным числам. Вместе они рассматриваются как один из наиболее строгих существующих наборов тестов (отсюда и название — англ. «die-hard» в качестве прилагательного означает приблизительно «трудноубиваемый» и обычно переводится на русский фразеологизмом «крепкий орешек»). == Описание тестов == Дни рождения (Birthday Spacings) — выбираются случайные точки на большом интервале. Расстояния…
 
@PashaPash Ой-вэй, для этого нужно иметь гарантии от аппаратуры. А их обычно нет.
@PashaPash То есть например SSD может внезапно (ТМ) начать оптимизировать расположение секторов. Или спасать данные с глючной области памяти.
@PashaPash Угу, тесты — это да, но это скорее необходимое условие рандомности, а не достаточное.
 
8:36 AM
@Vlad да, я предложил их к генератору Qwerty применить
@Vlad вдруг он вообще не рандом :)
 
@PashaPash Ну, если у нас пошаговая виртуалка без связи со внешним миром, но это будет гарантированно не рандом.
Потому что одинаковые причины будут приводить к одинаковым следствиям кагбе
 
@Vlad даже если не пошаговая - такой рандом в спойкойно работающей системе будет нерандомным
@Vlad я предлагаю не гадать, а взять и проверить :)
@Vlad есть же достаточное условие
 
9:10 AM
@PashaPash Лень, если честно :) Где я возьму пошаговую виртуалку — написать самому?
@PashaPash Ну, если она связана с внешним миром, то нерандомность будет.
 
@PashaPash но таких систем не бывает
а даже если бывают, то на них ничего не делают, кроме тестов
практическая применимость нулевая
 
С другой стороны, я помню первую часть главы про рандом из Кнута. Там он придумал от балды навороченнный алгоритм генерации случайных чисел, который оказался нифига не случайным. Откуда была мораль: нельзя генерировать случайные числа при помощи случайного алгоритма.
Для алгоритма, производящего случайные числа, небходимо теоретическое обоснование рандомности.
 
@Vlad а для алгоритма, генерирующего неслучайные, обоснование не нужно?)
 
9:51 AM
0
Q: Нельзя исправить старый вопрос

VartlokПросматривая старые вопросы наткнулся на проблему с тем, что я не могу их изменить. Т.е. нажимаю кнопку "править" и мне открывается пустое поле, без текста вопроса. В случае же с ответами всё работает, т.е. при попытки исправить ответ, открывается поле с ответом, которое потом успешно сохраняется...

 
@Vlad я под проверить подразумевал прогнать тесты на обычной машине
 
10:14 AM
@Qwertiy возьми diehard. он явно скажет, где у тебя не трурандом
 
 
2 hours later…
avp
12:21 PM
@Qwertiy, у вас наверное что-то из серии /dev/random (основан на событиях в реальном мире)
 
12:33 PM
@Qwertiy Ну, хм :)
@PashaPash Ну, обычная машина — лишь некоторое приближение к отсутствия внешнего воздействия. Если проблема проявляется один раз на неделю нагрузки — хватит ли нам терпения обнаружить её?
 
avp
@Vlad это вы о дедлоках? Если внешних воздействий нет, то они будут строго детерминированы. Но если потоки сами по ходу работы меняют среду в которой работают (даже на идеальной виртуалке), то эта детерминированность (формулы ее описывающие) может быть неочевидна.
 
@Vlad да, для этого есть production debugging. и это нормальная ситуация в вебе
 
@avp Это об обосновании алгоритма, производящего неслучайные числа.
 
@Vlad требования к случайности - неслучайны
@Vlad если нужен именно рандом - то обычно это означает использование его в качестве криптостойкого рандома
 
@avp Здесь бесспорно. По сути, даже Лапласовская детерминированность упирается в слишком большое количество переменных.
 
12:41 PM
@Vlad а в криптографии "почти случайно, я думаю" - это недопустимое приближение
 
avp
@Vlad для неслучайных чисел нужен внешний мир (и то, если современноя квантовая теория (в плане случайности событий) верна)
 
@avp С бесконечно большими вычислительными мощностями термодинамика не нужна, можно как бы отследить путь каждой молекулы. Но практически это сделать невозможно. (Ну и плюс квантовые эффекты, но они — не главная причина.)
@PashaPash Ну да, а если раз в год?
 
avp
@PashaPash случайность и предсказуемость (можем ли мы вычислить следующее, зная предыдущии) это все же разные вещи. Для крипто важно именно непредсказуемость.
 
@PashaPash Да :) Звучит парадоксом, конечно.
 
avp
@Vlad невозможно поскольку наши знания ограничены?
 
12:44 PM
@PashaPash Ну почему же, это могут быть просто стресс-тесты.
@avp И вычислительные мощности. Проследить за 10^23 молекул, зная даже все начальные координаты и скорости, не получится, слишком много данных.
 
@Vlad и если раз в год - тоже. мне пришлось чинить проблемы, которые выстреливали раз в год. обычно после первого выстрела (даунтайм, аа, все плохо, никто не знает почему) добавляют трассировку, и во второй раз - ловят
 
@PashaPash Я бы употребил более крепкое выражение, но с тем же смыслом :)
 
avp
@Vlad ну, это техническое ограничение. Я думал Вы о принципиальных.
 
@PashaPash У меня много пару раз была ситуация, когда добавлении трассировки меняло тайминги, и прятало race condition. Очень похоже на принцип важности наблюдателя, да.
 
@Vlad поэтому мы обычно трассируем после возникновения дедлока. просто пишем стейт
 
12:48 PM
@avp Ну, боюсь, это принципиальное ограничение. Для того, чтобы смоделировать Вселенную, нужен компьютер, имеющий к-во ячеек памяти равное к-ву частиц во вселенной. А значит, он во Вселенную не поместится.
 
avp
@Vlad да. В такой ситуации важно просто придумать, а что могло бы привести к наблюдаеммоу эффекту.
 
@Vlad ну и всякие там SQL Server прямо позволяют трассировать по факту
 
@PashaPash Ну, если дедлок висит, и можно заставить его сбросить стейт, это да. А вот если вылетает assert("impossible"), это уже похуже.
 
@Vlad ну мы ж не дикари, ассерты в продакшене расставлять
хотя вчера вот дебагал нереальный код
 
avp
@Vlad в этом плане вселенная и является тем самым компом, который сам себя постоянно моделирует. Читал как-то такую книжку о квантовых вычислениях от одного из их авторов (что-то уже забыл ее название и имя автора) (если интересно -- поищу)
 
12:50 PM
@PashaPash Ну, по мне лучше ассёрт, чем неопределённое поведение с разрушением пользовательских данных.
 
@Vlad dotPeek показывает
      this.connection = new OdbcConnection(cnnString);
      this.connection.ConnectionTimeout = this.connectionTimeout;

      while (flag && num < 100)
      {
        try
        {
          ++num;
          this.connection.Open();
          flag = false;
        }
        catch (Exception ex)
        {
          this.Close();
          Thread.Sleep(1000);
          if (num == 99)
            flag = false;
        }
      }
 
@PashaPash Лучше по-геройски честно упасть с воплями, чем закрыть глаза на жирную проблема.
 
падает с NullReferenceException внутри try
 
@PashaPash Thread.Sleep(1000);
 
падает в цикле, 100 раз
да, код не мой, если что. исходников нет
падает с null reference прямо в теле метода
 
12:52 PM
@PashaPash ну, кто-то из другого потока убрал connection?
 
нет!
 
this умереть не может, хм
что-то внутри Open?
 
нет, прямо в теле падает
this.connection null
 
this.Close?
убивает connection?
или flag на деле не локальный, и убивает connection?
может, это property
 
нет
 
12:55 PM
я видел код, в котором геттер у проперти обнулял несущее поле
для «экономии памяти»
 
через полтора часа дебага я понял, что разработчик писал код давно, он пришел с VB, и декомпайлер просто не ожидал что в оригинале там было
try
{
this.connection = new OdbcConnection(cnnString);
this.connection.ConnectionTimeout = this.connectionTimeout;
retry:
++num;
this.connection.Open();
flag = false;
}
catch (Exception ex)
{
this.Close();
Thread.Sleep(1000);
if (num == 99)
flag = false;
}

if (flag && num < 100)
{
goto retry;
}
 
@PashaPash Ууууууу :(
А почему не ILSpy?
он вроде поумнее будет.
 
а не было под рукой
 
new OdbcConnection(cnnString) вылетало?
у меня всегда с собой :)
 
да. неизвестный провайдер был прописан
 
12:57 PM
но со стороны декомпилятора это конечно засада
я помню, рефлектор как-то лажал на не-C#-овском коде
 
avp
@PashaPash т.е. инструмент показывает не тот код, что на самом деле?
 
@avp Угу.
Баг декомпилятора.
 
@avp потому что инструмент не ожидает что кто-то использует goto
в средину трая
 
@PashaPash Это он не в праве, не ожидать.
или пусть декомпилирует, или скажет, что не может
вот почему я не ленюсь расставлять ассёрты в production-коде
 
@Vlad ну, может разработчики его вообще не знали о goto
 
avp
1:00 PM
@PashaPash плохой инструмент. А корни проблемы в использовании чужого кода без сорсов.
 
мой код скорее бы вылетел, но не соврал
@PashaPash Ещё хуже.
@avp Что делать? Production. Хорошо ещё, что это .NET, там можно относительно безболезненно декомпилировать.
С нативным кодом если нет исходников хуже.
А вот если есть, то всё равно по сути.
 
@Vlad там проще сказать "не починим"
 
avp
@Vlad что делать? Убедить заказчика заказать всю разработку у вас.
 
@avp Ну, это да :) Заодно и заказ больше.
 
avp
@Vlad об этом и речь.
Ладно, пошел работать...
 
2:32 PM
-1
Q: Литература по системной архитектуре REST-приложений

kenichiПросьба добавлять названия фундаментальной / классической / best practice / modern theory литературы по разработке архитектуры распределенных систем (в частности, REST-приложений), рассчитанных на работу с большими данными под высокой нагрузкой (high workload intensity). Краткое описание литерату...

 
@NicolasChabanovsky, а это нормально, что я не всем могу заблокировать возможность предлагать правки? Похоже, граница проходит по репутации 1000
 
Что интересно, как флудить на тему крестопроблем, так народ вопит со всех сторон, возмущается, что основной чат забивается непонятно чем, и уже новостей сообщества не видать. А как обсудить декомпилированный дотнетовый код неизвестного происхождения или порассуждать о природе рандома во Вселенной — так пожалуйста, никто не против.
 
@Discord жизнь боль
2
да и двойных стандартов никто не отменял
2
 
2:46 PM
@Nofate Через инструменты модератора (которые /admin/...)?
 

 ТехноТрёп

Чат для обсуждения околотехнических вопросов, являющихся оффто...
есть же спец чатик
2
 
@NicolasChabanovsky не вижу такого нигде
 
@Abyx Зачем множить сущности? Есть же Флудилка. Тут проблемы с разделением обсуждения сайта от флуда, а вы хотите флуд сортировать по полочкам. Так я и поверил в организованность юзеров.
 
@Nofate Наверху сайта есть ссылка «мод». Далее, раздел «ссылки»
 
@NicolasChabanovsky ок, это я знаю. что там должно быть?
 
2:58 PM
@Nofate Далее «Проверить блокировки»
Там можно блокировать участников от очереди проверок.
 
@NicolasChabanovsky уу. неинтуитивное описание )
 
@Nofate Перевод на Transifex :) Надо будет поправить! Записал в блокнот на завтра.
 
@NicolasChabanovsky Блокировки в очереди проверок, может быть
 
@Nofate Вполне
 
@NicolasChabanovsky но это блокировка именно очереди проверок, а не возможности предлагать правки, которая упоминается на вкладке Инфо профиля
 
3:05 PM
@Nofate Тогда я не понял, о чем идет речь. Поясните, пожалуйста?
 
У некоторых участников можно выставить эту блокировку, у некоторых - нельзя. Похоже, что это связано с привилегией за 1000
 
@Nofate Действительно. Я еще раз уточню.
 
@NicolasChabanovsky единственный рычаг давления на плагиатчиков )
-1
Q: Литература по архитектуре REST-приложений

kenichiПросьба привести название одной (лучшей, на ваш взгляд) книги в области архитектуры распределенных систем (в частности, REST-приложений). Желательно выбирать из книг, выпущенных тиражом более 10000 экземпляров, предметной областью которых являются распределенные информационные системы (Distribute...

Новый участник фрустрирует от опросников.
Оказывается, в чат очень мило вставляются амазоновские ссылки
 
3:36 PM
ru.stackoverflow.com/review/suggested-edits/history — А, я понял, в чём проблема @Nofate. Можно, кстати, побанить в очередях тех, кто утверждает все эти правки. Как вариант для запрета самих правок. :)
3
 
@Discord я им первый раз просто предупреждение выписываю
@Discord он решил что три ссылки в кратком описании метки - это что надо...
 
 
1 hour later…
avp
5:31 PM
серьезно считаете, что вопрос настолько плох, что заслуживает только индивидуально Вашего ответа конкретно для ТС?
Что же вы тут так теперь боитесь обсудить хоть чуть нетривиальную тему?
 
5:59 PM
@Discord Вопрос в количестве.
 
6:14 PM
@Nofate правки не откатили?
 
добрый вечер
я смотрю, тут случилось извержение вулкана с копипастами
 
@NickVolynkin на вулкан не тянет
 
0
Q: Возможно ли повысить размер загружаемых изображений с текущих 2Мб?

ЮрийСПбПериодически требуется в вопрос/ответ поместить *.gif изображение с демонстрацией работы программы. Проблема в том, что максимальный размер - 2Мб, а это, при чуть высшем, чем минимальном, качестве 3 (редко 4) секунды видео, преобразованного в *.gif. Я от этого страдаю, засим в вопросе будет метка...

 
7:03 PM
@NickVolynkin так, мелкий грязевой источник.
@PashaPash видимо что-то пропустил
@avp вы про книги про рест? так это же официальный оффтоп. Не могу же я подавать плохой пример окружающим ) А для чата тема в самый раз.
 
 
1 hour later…
8:10 PM
@Discord +1 за побанить утверждаторов
 
avp
8:22 PM
да, про книги (точнее про саму тему). Так все же такая реакция "по долгу службы" или "по зову сердца"?
Т.е. сами-то как считаете, официальная позиция всегда правильна или все же ее надо скорректировать?
 
@avp Ну сами подумайте, если бы я тайком противился позиции по вопросам "а накидайте мне кучу Х", то просто сделал бы вид что ничего не заметил и прошел мимо )
@avp я не хочу бесконечного каталога списков "Топ 10 лучших очередных js фреймворков, которые гораздо лучше старых ", в который превратился пару лет назад dzone.com, например.
@avp списки в нашей профессии быстро протухают. еще позавчера лучшим client-side фреймворком был angular, а сегодня уже нет, а послезавтра еще что-то будет.
@avp если и делать подобные списки, то только в одном экземпляре по какой-то широкой теме, как мы начали делать с книгами. так их по крайней мере можно держать на виду и актуализировать со временем.
@avp да и по мимо моих личных предпочтений, есть формат ресурса (ВиО, а не дискуссии) и мы его должны стараться придерживаться. Если мне захочется пофлеймить, я лучше на сайт на букву Т схожу.
 
@Nofate А что нынче в моде?
 
8:46 PM
@Discord я слышал анугар 2, кторого еще нет ) и реакт
 
avp
@Nofate, а вот @Discord мечтает о взрывном росте ru.SO
(интересно, возможен ли он при всех нынешних запретах?)
(и не переберемся ли мы все скоро на букву Т?)
 
9:28 PM
@Nofate это вы, надеюсь, не холивара ради про angular сказали?)
 
9:50 PM
> Welcome to the Stack Overflow Documentation Beta!
Гы.
Пригласили-таки.
 
10:07 PM
0
Q: Ответ - ссылка не приветствуется?

SuvitrufВ курсе, что ответы-ссылки не приветствуются, но всегда ли всё так однозначно? Обычно подобные ответы минусуются/удаляются, но... Подобный вопрос и на meta.stackexchange поднимался, и не раз. Что-то подобное обсуждалось и у нас. Но всё же.. Предположим, что по ссылке ответ на вопрос, но на англ...

 
10:19 PM
@DmitriySimushev что вы! сугубо примера для. разумеется позавчера еще были нокаут и эмбэры со спайнами всякими. а на прошлой неделе и вовсе бэкбон
 
10:31 PM
@avp взрывной или нет, но растём
 

« first day (232 days earlier)      last day (3073 days later) »