to post messages and comments.

а ещё я подумал, что я скорее всего сильно дохрена о себе возомнил, и выпиливать из бложека особо и нечего, тут все равно в основном неинтересное говно написано. Гм...

В продолжение #2513200 и #2514081
Решил накатать бенчмарк: gist.github.com
Собственно вопрос скорее по адекватности бенчмарка. Там есть вызов функции без IO (genSys и genAes), так вот их результаты не зависят от размера списка. Т.е. я явно что-то не так делаю. Возможно, критерион не так готовлю.
Посмотрите плз.

В продолжение #2513200.
А для hackage.haskell.org генератора код из gist.github.com работает как ожидается.
Посмотрел я на реализацию Crypto.PubKey.DSA.sign — она использует, в итоге, withRandomBytes, а она, в свою очередь, cprgGenerate.
Собственно отсюда следует, что не стоит полагаться на реализацию SystenRNG, т.е. лучше вернуть IORef с генератором.

Господа гляньте плз код gist.github.com . Если расскомментить 14 строку и закоментить 13-ю вывод не измениться. Кажется ли это вам нормальным?
Собственно есть библитека Crypto.Random hackage.haskell.org замечательного параноика Vincent Hanquez . Он её запилил на замену своей же Crypto.Random.API . С предыдущей версией я просто хранил глобально IORef на какой-то системный инстанс CPRG и в ус не дул, просто подменял при использовании старый генератор на новый. Сейчас же появился EnthropyPool который держит байтстринг и MVar с текущей позицией в нём и каждый раз при вызове генератора обновляет этот MVar. При таком раскладе можно просто хранить глобальный EnthropyPool . Это здорово, но меня как-то напрягает смена подхода без смены интерфейса. Нафига тогда генератор возвращать?
ЗЫ Винсенту я уже написал, он пока молчит. Хочется знать ваше мнение.

Жуйк, а как правильно генерировать случайные числа в си? Я делаю так:
int r;
asm("rdtsc" : "=A"(r)); // кол-во тактов процессора
srand (r);

Переинициализировать srand() нужно перед каждым вызовом rand() или достаточно 1 раза в программе/функции?

Услышал тут кусок телевизора. Там какой-то дядька правоохранительный сказал, что "ЕСТЬ ТАКАЯ ПРОГРАММА ТОР ЧЕРЕЗ НЕЕ МОЖНО КУПИТЬ ПИСТОЛЕТ ПО ЗАПЧАСТЯМ ПРИЕДЕТ НИКТО НЕ УЗНАЕТ".
Вот какой преступный Тор.

> This is not an abstract, academic concern to me. I'm starting a new open source web project with the goal of making the code as freely and easily runnable to the world as possible. Despite the serious problems with PHP, I was forced to consider it. If you want to produce free-as-in-whatever code that runs on virtually every server in the world with zero friction or configuration hassles, PHP is damn near your only option. If that doesn't scare you, then check your pulse, because you might be dead.Sad but true

Вчера ночью, в стиме пришло сообщение о событии в группе, на которую подписался когда-то и все никак не могу отписаться. В чатике раздавали ключики для игр. Ну пошел я в этот чатик. Когда раздавали ключики — возможность отправлять сообщения для обычных пользователей отключали. А когда включали — там творился какой-то ад со стороны русскоговорящих. Самыми безобидными были просьбы скинуть ключик для доты2 и прочий оффтоп на русском языке. Хуже — они флудили на русском матом, обсуждая мам своих собеседников. Или даже просто писали что попало, главное чтобы ругательное. Когда их попросили писать на английском, и вообще не флудить, они начали материть "омериканцев". "АГА, ЗОБОЯЛИСЬ, СУКИНЫ ДЕТИ, ЗНАЙТЕ РУССКИХ!!". При этом никаких жестких высказываний со стороны англоговорящих к агрессивно ведущим себя "великим русским" я не заметил. Других языков тоже.
Не нужно быть туристом, чтобы выработать у иностранцев (совсем не обязально злобных омериканцев) нелюбовь к русскоговорящим.