mva
лучше бы LD_PRELOAD'ом пользовался
mva
ну или даже LDPATH
mva
и можно было бы не менять имя
ShadoWalkeR
Собственно все работало ровно до момента прохода по системе пакетным менеджером - в нем оказалась зашита логика, что если есть симлинк с более высокой цифрой, то нужно на него переделать старые симлинки. Так glibc.so.6 стал указывать на glibc.so.7 вместо glibc-2.12.so)
Anonymous
Ух, жопа
Anonymous
Действительно пакетный менеджер полез не в свое дело
ShadoWalkeR
Это было разовым ковырянием с такой системной тонкостью, поэтому я сильно не вникал как это делается)
ShadoWalkeR
Пакетный менеджер фигня - потом в это дело selinux включился😂
Anonymous
Хех
Anonymous
Кстати, слышали, в андроиде теперь тоже селинукс :)?
ShadoWalkeR
Он непонятный glibc запрещал использовать системе - для астериская я правило прописал, а для системы нет - поскольку не знал что так будет
ShadoWalkeR
Сервер работат. А вот зайти на него нельзя
ShadoWalkeR
)
mva
ShadoWalkeR
mva
он там уже 3000 лет как
Snusmumriken
А я тут заводил openresty на raspberry pi.
С уже предустановленным nginx'ом.
Обнаружил существование команд типа whereis, ибо надо было запускать именно resty-nginx. Как ни странно, я уже писал такое для lua (пробегание по lua_path/lua_cpath) с поиском библиотек, дабы знать откуда реквайрю ту или иную фигню.
И ещё страшное: sudo оказывается нельзя применять с полным путём до эльфа, он запускает только из path (((
Пришлось удалять нгинкс и вытаскивать эльф рести-нгинкс. Теперь у меня нет нгинкса.
Anonymous
А у меня такая штука: я хочу в библиотеке сделать редирект вызова например принтф. Я находу секцию .dynsym в ней сам принтф, далее иду в релокации, т.е. в секцию .rel.dyn , и там оффсет для релокации, который надо подменить. И вот думаю что туда писать - офсет или сам адрес целевой функции
Anonymous
По поводу судо : можно было попробовать su -c "полный путь"
Snusmumriken
Хммм
Snusmumriken
Надо в скрипт пихнуть.
mva
я тут в Lua-l увидел, парень сделал ОС для малинового пирога, которая, по сути, Lua-Интерпретатор с драйверами
mva
(luajit, точнее)
mva
вообще, прикольная штука
mva
на мелких эмбедодевайсах заходит на ура
Anonymous
Да, я люблю такие системы.
Оберон, форт
Asiman
/help@FailsBot
FailsBot
/help@FailsBot
USAGE:
/help - prints this message;
/vzhuh [message] - do vzhuh;
/start - info about bot.
Sergey
/vzhuh@FailsBot
FailsBot
∧_∧
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆
Snusmumriken
Ой всё
Vsevolod
хотя даже в php все так
Vsevolod
а вот задача сгенерировать random floating point от 0 до 1 - это, вообще говоря, адово сложная задача
Snusmumriken
Тогда давай уж сразу "не надо тут вашего C++", там генераторы 0-1.
Сгенерировать рандом от 0 до 1 - это
(float)rand() / (float)(MAX_RAND);
Адово сложная?
Vsevolod
конечно
Vsevolod
но это даст всего лишь RAND_MAX дискретных значений
Vsevolod
а их всего 2^62
Vsevolod
https://github.com/nmathewson/libottery/pull/11
Vsevolod
(rand >> 12) * 2.2204460492503130808472633361816e-16;
Snusmumriken
Ух, какая жуть
Snusmumriken
Ну тогда это уже не float а double, знаешь?
Vsevolod
я говорил о floating point
Vsevolod
какая нафиг разница, какой он разрядности?
Vsevolod
для float будет int32_t rand, сдвиг не на 12, а на 9, ну и другой эпсилон
Vsevolod
алгоритм останется тем же, как и проблемы
Snusmumriken
Ну типо RAND_MAX обычно равен 32767, это 15 бит (0111111111111111).
Тогда мы делаем какую-нибудь такую фигню:
int32 num = rand() << 16 | rand();,
или чот такое.
Snusmumriken
Нужен double-rand? Ну тады больше рандомов, больше сдвигов и or'ов.
Vsevolod
я уже и забыл, когда я использовал каличный rand из libc 🙂
Vsevolod
для некриптографических целей всегда использовал xoroshiro*128
Snusmumriken
Ты такой умный
Snusmumriken
А rand из libc такой каличный, мммм
Snusmumriken
Настоящие поцоны всегда пользуются как минимум вихрем Мерсенна, и то, это тоже лохи
Vsevolod
mt нормальный
Vsevolod
но медленный
Snusmumriken
Фууу, всё равно предсказуемая хрень
Vsevolod
http://www.pcg-random.org/
Snusmumriken
Совсем крутые - обязательно ставят лава-лампу и фотографируют её, когда им нужно рандомное число
Vsevolod
они все предсказуемые
Snusmumriken
Иначе - полный отстой
Vsevolod
глупость какая
Snusmumriken
Не знаю прям как люди живут
Snusmumriken
Без истинно рандомных чисел
Vsevolod
ты не понимаешь разницы между crypto-prg и просто prg?
Vsevolod
crypto-prg - это не обязательно сраная лава лампа
Vsevolod
зато обязательно одно простое свойство
Snusmumriken
Хехе
Vsevolod
что нет способа алгоритмически отличить вывод генератора от труъ рандома
Vsevolod
в случае mt/lcg/xorshift и прочих такой способ, очевидно, есть
Snusmumriken
Ладно, ладно. Если ты не можешь всего лишь записать сэмпл с микрофона и вытащить оттуда число, приближенное к рандому - ты полный сосунок. Всё остальное каличное.
Vsevolod
при чем тут это?
Snusmumriken
Vsevolod
rand во многих libc - это вообще lcg
Vsevolod
он медленный и не очень хороший с точки зрения статистического распределения
Vsevolod
(есть плохие сиды)
Vsevolod
mt хороший, но медленный
Vsevolod
pcg/xoroshiro хорошие и быстрые
mva
прошу прощения, не то вставилось из буфера
Vsevolod
и да, я в этой теме довольно много разбирался